| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2026-02-05 | strip_exif support for the OpenBSD sandbox | 1 | -13/+6 | ||
| 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. | 1 | -0/+1 | ||
| 2026-02-02 | Added translatable month names. | 1 | -0/+13 | ||
| 2026-01-25 | notifications filter | 1 | -1/+65 | ||
| 2026-01-25 | fixing leak in reallocated string | 1 | -3/+3 | ||
| 2026-01-06 | Implement configurable EXIF stripping for uploaded media | 1 | -2/+11 | ||
| - 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. | 1 | -1/+1 | ||
| 2025-12-18 | Fixed leak in emoji_reacted(). | 1 | -3/+3 | ||
| 2025-12-18 | Fixed leak in timeline_admire(). | 1 | -3/+4 | ||
| 2025-12-18 | Fixed some xs_dup() leaks. | 1 | -1/+1 | ||
| 2025-12-18 | Added emoji reactions (contributed by violette). | 1 | -8/+116 | ||
| 2025-11-30 | Fix user matching | 1 | -4/+4 | ||
| 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. | 1 | -0/+14 | ||
| 2025-10-24 | Keep track of deleted users and return 410 Gone for them. | 1 | -0/+29 | ||
| 2025-10-13 | xs_http.h: new file. | 1 | -0/+1 | ||
| 2025-09-28 | New function actor_failure() (again, but much better). | 1 | -0/+39 | ||
| 2025-09-28 | Revert "New function actor_failure()." | 1 | -18/+9 | ||
| This reverts commit 335b90a9d1654aadb4e0d87114b82685defcd50b. | |||||
| 2025-09-28 | New function actor_failure(). | 1 | -9/+18 | ||
| 2025-09-20 | implementing visibility scopes | 1 | -3/+7 | ||
| 2025-09-13 | Set default max_failing_days to 15 days. | 1 | -1/+1 | ||
| 2025-09-13 | New configuration directive 'max_failing_days'. | 1 | -1/+2 | ||
| 2025-09-12 | Fixed bug in instance_failure() path. | 1 | -1/+1 | ||
| 2025-09-12 | New function instance_failure(). | 1 | -0/+53 | ||
| 2025-09-07 | Always do a deferred fsck at startup. | 1 | -0/+11 | ||
| 2025-09-07 | Changed fsck debug level. | 1 | -1/+1 | ||
| 2025-09-07 | New command-line option 'fsck'. | 1 | -0/+58 | ||
| 2025-09-03 | Always add a user's posts to the public timeline, even if it's not really ↵ | 1 | -0/+3 | ||
| public. | |||||
| 2025-09-03 | Revert "Also keep a 'personal' folder for better organization." | 1 | -17/+7 | ||
| This reverts commit 0c3665fc49064f1fd5a04f2427056f9ea37f8d70. | |||||
| 2025-09-03 | Also keep a 'personal' folder for better organization. | 1 | -7/+17 | ||
| 2025-09-03 | Renamed function list_content() to list_members(). | 1 | -3/+3 | ||
| 2025-09-03 | New function enqueue_collect_outbox(). | 1 | -0/+13 | ||
| 2025-08-18 | New function enqueue_collect_replies(). | 1 | -0/+13 | ||
| 2025-08-12 | content_search() also looks in the attributedTo field. | 1 | -0/+3 | ||
| 2025-08-03 | New function unhide(). | 1 | -1/+9 | ||
| 2025-07-30 | New server knob 'propagate_local_purge'. | 1 | -1/+2 | ||
| 2025-07-25 | New function delete_purged_posts(). | 1 | -0/+39 | ||
| 2025-06-18 | Added 'alias' and 'alias_raw' as forced update in user_persist(). | 1 | -1/+2 | ||
| 2025-06-16 | Renamed webhook 'inReplyTo' to 'reply'. | 1 | -1/+1 | ||
| 2025-06-16 | In enqueue_notify_webhook(), also add the inReplyTo object if there is one. | 1 | -0/+10 | ||
| 2025-05-30 | More webhook checks. | 1 | -1/+1 | ||
| 2025-05-30 | Added uid, basedir and baseurl to the notify webhook message. | 1 | -0/+4 | ||
| 2025-05-30 | Added a new server knob disable_notify_webhook. | 1 | -2/+3 | ||
| 2025-05-30 | More notify_webhook work. | 1 | -1/+10 | ||
| 2025-05-30 | New function enqueue_notify_webhook(). | 1 | -0/+19 | ||
| 2025-05-27 | New function timeline_here(). | 1 | -0/+8 | ||
| 2025-05-27 | Renamed timeline_here() to timeline_here_by_md5(), as it always should have ↵ | 1 | -2/+2 | ||
| been. | |||||
| 2025-05-25 | Increase verbosity for srv_debug() in tag_index() | 1 | -1/+1 | ||
| 2025-05-22 | Minor memory leak fixes. | 1 | -4/+4 | ||
| 2025-05-22 | add missed replacement to the `content_match` function | 1 | -1/+1 | ||
| 2025-05-22 | use utf-8 lowercase function for tags #396 | 1 | -2/+2 | ||