| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-04-05 | Merge pull request 'static files: allow files in a subdirectory' (#541) from ↵ | grunfink | |
| lbr/snac2:master into master Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/541 | |||
| 2026-04-03 | Really purge static directories. | grunfink | |
| 2026-04-02 | Also exclude the favicon_url in server.json from user directories. | grunfink | |
| 2026-04-02 | Only purge static directories if configured in server.json. | grunfink | |
| 2026-04-02 | Also exclude emojis served from static directories. | grunfink | |
| 2026-04-02 | Also exclude a user's style.css from purge_static(). | grunfink | |
| 2026-04-02 | New function purge_static() (still dummy). | grunfink | |
| 2026-03-26 | Increased some debug level in error users. | grunfink | |
| These are very annoying in instances that don't have a prefix, as fuckers are trying PHP and other vulnerabilities non-stop. | |||
| 2026-03-22 | Also purge the 'pending/' subdirectory. | default | |
| 2026-03-19 | Implemented tootfinder.ch compatibility mimic Mastodon Behaviour | Giuseppe Ranieri | |
| 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-02-08 | data: use lstat() instead of stat() | lbr | |
| this disallows snac to serve a static file which is a symlink. | |||
| 2026-02-05 | strip_exif support for the OpenBSD sandbox | Alvar Penning | |
| Change the strip_exif logic to work with the already existing OpenBSD sandbox and allow ffmpeg and mogrify to be executed. The previous strip_exif implementation relied on system(3), effectively starting "/bin/sh" and executing the required tool within a shell session. Making this work in the sandbox would require to allow executing "/bin/sh", rendering the sandbox useless. Thus, the code now starts determining the absolute path of the tools - unless they are given as ffmpeg_path or mogrify_path - and allowing them to be executed via unveil(2). Then, instead of the system(3) call, the good old fork(2) and execve(2) dance is performed. The sbox_enter code was made aware of strip_exif, which resulted in a pledge(2) violation before when disable_email_notifications was set to false. Furthermore, the detected paths of the tools are now allowed. | |||
| 2026-02-02 | Use the translated month names in date labels. | grunfink | |
| 2026-02-02 | Added translatable month names. | grunfink | |
| 2026-01-28 | data: fix checking for a file type | la_ninpre | |
| 2026-01-28 | data: don't try to read something that's not a regular file | la_ninpre | |
| 2026-01-28 | static files: allow files in a subdirectory | la_ninpre | |
| allowing '/' in paths is a bit scary, but replacing the check with reject on '..' seems to work. please correct me if i'm wrong and this is insecure. | |||
| 2026-01-25 | notifications filter | byte | |
| 2026-01-25 | fixing leak in reallocated string | byte | |
| 2026-01-06 | Implement configurable EXIF stripping for uploaded media | Stefano Marinelli | |
| - Add `strip_exif` configuration option to enable metadata removal. - Add `mogrify_path` configuration to specify external tool location. - Implement strip_media using `mogrify -strip`. - Support multiple image formats: jpg, png, webp, heic, heif, avif, tiff, gif, bmp. - Add strict startup check: fail to start if `strip_exif` is enabled but `mogrify` is missing/broken. - Update documentation in `doc/snac.8`. | |||
| 2026-01-01 | Bumped copyright year. | grunfink | |
| 2025-12-18 | Fixed leak in emoji_reacted(). | grunfink | |
| 2025-12-18 | Fixed leak in timeline_admire(). | grunfink | |
| 2025-12-18 | Fixed some xs_dup() leaks. | grunfink | |
| 2025-12-18 | Added emoji reactions (contributed by violette). | violette | |
| 2025-11-30 | Fix user matching | rako | |
| In order to be a proper prefix, the actor url must end with a '/' otherwise it can match another user that starts with the same prefix: for example 'testuser' will match anything made by 'testuser2' | |||
| 2025-11-29 | Moved is_msg_mine() to data.c. | grunfink | |
| 2025-10-24 | Keep track of deleted users and return 410 Gone for them. | grunfink | |
| 2025-10-13 | xs_http.h: new file. | grunfink | |
| 2025-09-28 | Merge pull request 'implementing scopes' (#474) from ↵ | grunfink | |
| byte/snac2:feature/visibility into master Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/474 | |||
| 2025-09-28 | New function actor_failure() (again, but much better). | grunfink | |
| 2025-09-28 | Revert "New function actor_failure()." | grunfink | |
| This reverts commit 335b90a9d1654aadb4e0d87114b82685defcd50b. | |||
| 2025-09-28 | New function actor_failure(). | grunfink | |
| 2025-09-20 | implementing visibility scopes | byte | |
| 2025-09-13 | Set default max_failing_days to 15 days. | grunfink | |
| 2025-09-13 | New configuration directive 'max_failing_days'. | grunfink | |
| 2025-09-12 | Fixed bug in instance_failure() path. | grunfink | |
| 2025-09-12 | New function instance_failure(). | grunfink | |
| 2025-09-07 | Always do a deferred fsck at startup. | grunfink | |
| 2025-09-07 | Changed fsck debug level. | grunfink | |
| 2025-09-07 | New command-line option 'fsck'. | grunfink | |
| 2025-09-03 | Always add a user's posts to the public timeline, even if it's not really ↵ | grunfink | |
| public. | |||
| 2025-09-03 | Revert "Also keep a 'personal' folder for better organization." | grunfink | |
| This reverts commit 0c3665fc49064f1fd5a04f2427056f9ea37f8d70. | |||
| 2025-09-03 | Also keep a 'personal' folder for better organization. | grunfink | |
| 2025-09-03 | Renamed function list_content() to list_members(). | grunfink | |
| 2025-09-03 | New function enqueue_collect_outbox(). | grunfink | |
| 2025-08-18 | New function enqueue_collect_replies(). | grunfink | |
| 2025-08-12 | content_search() also looks in the attributedTo field. | grunfink | |
| 2025-08-03 | New function unhide(). | grunfink | |
| 2025-07-30 | New server knob 'propagate_local_purge'. | grunfink | |