Eric Ireland
fcff80e9be
Give snacforge distinct documentation and artwork
2026-09-11 12:20:22 +10:00
Eric Ireland
3c5d4816be
Identify the running software as snacforge
...
Assisted-by: OpenAI Codex (GPT-5)
Reviewed-by: Eric Ireland
2026-09-11 11:42:10 +10:00
Eric Ireland
2f244e31f2
Bound HTTP response writes with a send timeout
...
Assisted-by: OpenAI Codex (GPT-5)
Reviewed-by: Eric Ireland
2026-09-11 11:41:55 +10:00
grunfink
2e4a9a9420
More text browser friendly stuff.
2026-09-01 15:01:08 +02:00
grunfink
b3af603083
Fixed redirection loop in the /users special case.
2026-08-06 19:00:20 +02:00
grunfink
460b6cc589
changed order of nodeinfo links.
2026-08-03 06:26:24 +02:00
grunfink
a0fada72cc
Tweaked first httpd log line.
2026-06-10 09:46:33 +02:00
Santtu Lakkala
4a5f9150d0
Fix error body leaks
...
activitypub_post_handler uses custom error responses for 400 and 403.
The 400 NULL check was reversed and 403 was missing the check in
httpd_connection and both errors were lost and leaked.
Add a common custom error gate around all default errors to avoid
similar issues in the future.
2026-05-22 11:08:56 +03:00
grunfink
5e1dbb5890
Serve the baseURL in nodeinfo's metadata.
2026-04-15 07:58:02 +02:00
Giuseppe Ranieri
e21a933a6e
Implemented tootfinder.ch compatibility mimic Mastodon Behaviour
...
Added aliases list on webfinger response
Return the /users/<actor> in the webfinger response ( mimic Mastodon )
Implemented /users endpoint redirect to access actor profile
Files changed:
modified: data.c
modified: httpd.c
modified: snac.h
modified: webfinger.c
2026-03-19 11:50:03 +01:00
Alvar Penning
c29d691d32
httpd: Log xs_socket_accept failure reason
...
So far, it was expected that xs_socket_accept should work and while its
failure results in a termination, it was not properly logged. With this
change, an error message including the strerror message is being logged.
After experiencing some unexpected snac httpd shutdowns, I added a bit
of additional logging, including when xs_socket_accept fails. This
proved useful, as it unveiled a deeper error on my machine:
> xs_socket_accept failed: Too many open files
Since entering this code path results in termination, I thought
upstreaming this logging might be useful for others.
2026-02-17 22:55:29 +01:00
grunfink
11af00194e
Bumped copyright year.
2026-01-01 17:01:03 +01:00
grunfink
ee7483cf0d
New query variable terse=anything.
...
If set to any value, a public post page doesn't show any headline.
2025-12-09 13:31:37 +01:00
grunfink
1a42fdc8bd
Keep track of deleted users and return 410 Gone for them.
2025-10-24 05:02:28 +02:00
grunfink
212284c792
xs_http.h: new file.
2025-10-13 13:07:06 +02:00
byte
d23ac2b9f5
making sure that global data is immutable
2025-09-22 23:27:47 +00:00
grunfink
7796bf39f0
Always do a deferred fsck at startup.
2025-09-07 08:30:18 +02:00
grunfink
fee442dbf2
Ensure the tag is a string in server_get_handler().
2025-08-23 20:19:14 +02:00
grunfink
cd05398133
Added nodeinfo 2.1 support.
2025-08-14 11:17:49 +02:00
grunfink
26502fa62e
Added metadata to nodeinfo 2.0.
2025-07-10 05:45:22 +02:00
grunfink
9403fb41ef
More webmention hook tweaks.
2025-06-24 14:34:55 +02:00
grunfink
1aa8fe8573
"voided" unused arguments in server_post_handler().
2025-06-24 14:08:59 +02:00
grunfink
f88bdd7960
Added a webmention hook.
2025-06-24 14:06:41 +02:00
grunfink
0594197af7
Renamed server knob to 'rss_hashtag_poll_hours'.
2025-05-28 09:16:23 +02:00
grunfink
a1369b39c1
Activated hashtag RSS polling.
2025-05-28 09:07:19 +02:00
grunfink
859de583d9
Renamed timeline_to_rss() to rss_from_timeline().
2025-05-28 07:44:34 +02:00
grunfink
38ff37703e
Added header "access-control-expose-headers" with the "Link" value.
...
This helps paging in Mastodon clients.
2025-05-09 08:37:16 +02:00
green
21a99e5508
emoji: refactor + emoji in display names on front page
2025-04-13 14:43:44 +02:00
default
02bc18eb11
Redefined L() to use lang_str().
2025-02-14 10:04:46 +01:00
default
292b2fd122
Force the Content-Security-Policy header, instead of just suggesting it in the docs.
2025-02-13 19:44:21 +01:00
default
f4fee170ce
If 'def_timeline_entries' is not set, 'max_timeline_entries' is used (instead of the default).
2025-02-06 19:16:49 +01:00
Alexandre Oliva
8e1a2c5ff9
Merged 53ad5cdf0371fc068fa03bf287fc94be.
2025-02-06 09:04:36 +01:00
default
2611c816b0
Hide the 'relay' user from the greeting list.
2025-01-21 20:25:50 +01:00
default
4416e3a28a
Fixed check for the basedir (contributed by an-im-dugud).
2025-01-20 18:37:21 +01:00
default
202d99c815
Added the USER_AGENT to HTTP errors.
2025-01-20 08:39:06 +01:00
default
04803b628b
Changed Boost/Like order in the /authorize_interaction page.
2025-01-16 18:19:19 +01:00
default
b993e26346
Implemented Mastodon-like /authorize_interaction.
2025-01-16 14:20:07 +01:00
default
932227bbac
Bumped copyright year.
2025-01-08 16:59:14 +01:00
default
f6e06be278
In the /share page, set the charset explicitly to utf-8.
2025-01-06 17:02:01 +01:00
default
17d7e0027a
Use the site's CSS in the /share page.
2025-01-05 08:34:26 +01:00
default
b7ab926c25
More /share tweaks.
2025-01-05 08:06:14 +01:00
default
7f2be13079
Serve BASE_URL/style.css.
...
I thought I was already doing this 🤦 (not that it really matters much).
2025-01-02 07:27:48 +01:00
default
00079323cc
Minor tweak to the /share webpoint.
2025-01-02 07:11:58 +01:00
default
7f6047268e
The shared post is really sent.
2025-01-01 13:37:35 +01:00
default
33b6f2af00
More work in the Mastodon-share webpoint.
2024-12-31 17:42:33 +01:00
default
5c330660cd
Started support for Mastodon-like /share endpoint.
2024-12-31 17:01:08 +01:00
default
b9e0c6e742
Added pidfile locking.
2024-12-16 19:47:27 +01:00
default
c6562fa39b
New function timeline_link_header().
2024-12-15 22:52:41 +01:00
default
876c892960
The server creates a pidfile inside the base directory.
2024-11-17 10:21:15 +01:00
default
0f8ade8c60
Propagate 'last-modified' and 'etag' fields while proxying.
...
But does it work?
2024-11-07 19:42:02 +01:00