Commit Graph
565 Commits
Author SHA1 Message Date
grunfink 787d0180bf Version 2.90 RELEASED. 2026-02-17 09:41:41 +01:00
Alvar Penning ea81780895 strip_exif support for the OpenBSD sandbox
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-05 21:17:44 +01:00
grunfink 7d24c6ff94 Added translatable month names. 2026-02-02 17:51:40 +01:00
byte 56ca23c68c notifications filter 2026-01-25 16:56:04 +01:00
grunfink f1763dc7e6 Bumped version. 2026-01-25 13:16:34 +01:00
grunfink 189ab6394e Version 2.89 RELEASED. 2026-01-22 07:04:33 +01:00
grunfink 5a437c0f1d Version 2.88 RELEASED. 2026-01-13 09:44:45 +01:00
grunfink 3ffdf91a4c Merge pull request 'Implement metadata stripping for uploaded photos and videos' (#515) from draga79/snac2:master into master
Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/515
2026-01-12 14:27:05 +01:00
violette de9d546d70 Added emoji categories. 2026-01-12 06:03:04 +01:00
grunfink 99375a7b66 New command-line option top_ten. 2026-01-10 21:29:32 +01:00
grunfink c2b050cf53 Version 2.87 RELEASED. 2026-01-06 15:04:34 +01:00
Stefano Marinelli 688c54c873 Implement configurable EXIF stripping for uploaded media
- 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-06 11:02:36 +01:00
grunfink b84b92df74 Version 2.86 RELEASED. 2026-01-05 09:31:33 +01:00
grunfink 11af00194e Bumped copyright year. 2026-01-01 17:01:03 +01:00
grunfink 219f3e6808 Fixed leak in emoji_reacted(). 2025-12-18 08:54:21 +01:00
grunfink fd45b94c09 Fixed leak in timeline_admire(). 2025-12-18 08:41:28 +01:00
violette 85ed0eb0d5 Added emoji reactions (contributed by violette). 2025-12-18 07:58:24 +01:00
grunfink e66446a57d Bumped version. 2025-12-18 07:51:30 +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 1ec7d7c821 Version 2.85 RELEASED. 2025-12-04 10:50:24 +01:00
grunfink 5c2c7b27ac New function is_msg_mine(). 2025-11-29 06:08:37 +01:00
grunfink 7ef4843891 Bumped version. 2025-11-09 09:29:45 +01:00
grunfink 2a617bc34c Version 2.84 RELEASED. 2025-10-27 09:41:19 +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
grunfink 234f3e285c Bumped version. 2025-09-28 15:50:03 +02:00
grunfink ab698c2bd6 Merge pull request 'implementing scopes' (#474) from byte/snac2:feature/visibility into master
Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/474
2025-09-28 15:46:56 +02:00
grunfink cddb2724d5 New function actor_failure() (again, but much better). 2025-09-28 14:40:24 +02:00
grunfink 5d95ffa9f6 Revert "New function actor_failure()."
This reverts commit 335b90a9d1.
2025-09-28 14:37:07 +02:00
grunfink 335b90a9d1 New function actor_failure(). 2025-09-28 14:26:18 +02:00
byte 5610ffb13b Merge branch 'master' into feature/visibility 2025-09-20 17:17:27 +02:00
byte dcf5acaf53 implementing visibility scopes 2025-09-20 17:16:54 +02:00
grunfink 91b217e212 Version 2.83 RELEASED. 2025-09-19 10:06:00 +02:00
grunfink 08f99232e0 New function instance_failure(). 2025-09-12 21:48:34 +02:00
grunfink 7796bf39f0 Always do a deferred fsck at startup. 2025-09-07 08:30:18 +02:00
grunfink c541296f25 New command-line option 'fsck'. 2025-09-07 08:03:38 +02:00
grunfink fdcd7b953a Bumped version. 2025-09-06 09:42:29 +02:00
grunfink 4661d7f5bc Renamed function list_content() to list_members(). 2025-09-03 06:38:07 +02:00
grunfink d40e47f709 New function enqueue_collect_outbox(). 2025-09-03 06:12:50 +02:00
grunfink 59f3b5465e New function collect_outbox(). 2025-09-03 06:08:13 +02:00
grunfink d23fc31ba9 Version 2.82 RELEASED. 2025-09-02 10:01:49 +02:00
grunfink 074e19d949 Added a 'replies' object to Notes. 2025-08-31 14:07:27 +02:00
grunfink ff52f779b7 New function enqueue_collect_replies(). 2025-08-18 19:54:53 +02:00
grunfink 86de22fe92 New function collect_replies(). 2025-08-16 16:42:50 +02:00
grunfink cd05398133 Added nodeinfo 2.1 support. 2025-08-14 11:17:49 +02:00
grunfink c3f4a26f55 Bumped version. 2025-08-12 11:22:17 +02:00
grunfink 3ffb539482 New function unhide(). 2025-08-03 21:00:36 +02:00
grunfink 1c3e30c479 Version 2.81 RELEASED. 2025-08-01 08:36:26 +02:00
grunfink 11e9a12859 Bumped version. 2025-07-08 17:49:48 +02:00
grunfink 08f03cde6b Added some const here and there. 2025-07-08 17:30:45 +02:00