<feed xmlns='http://www.w3.org/2005/Atom'>
<title>snac2/snac.c, branch main</title>
<subtitle>Fork of snac2 to test neighborhood #web</subtitle>
<id>https://git.r.bdr.sh/snac2/atom/snac.c?h=main</id>
<link rel='self' href='https://git.r.bdr.sh/snac2/atom/snac.c?h=main'/>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/'/>
<updated>2026-03-27T14:08:33Z</updated>
<entry>
<title>Drop PATH_MAX usage</title>
<updated>2026-03-27T14:08:33Z</updated>
<author>
<name>Sergio Durigan Junior</name>
<email>sergiodj@sergiodj.net</email>
</author>
<published>2026-03-27T14:08:33Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=2c9f5956b5ad435bff157182210c5fd9560f1e95'/>
<id>urn:sha1:2c9f5956b5ad435bff157182210c5fd9560f1e95</id>
<content type='text'>
Strict POSIX systems (such as GNU Hurd) don't define PATH_MAX, which
results in a build failure:

https://buildd.debian.org/status/fetch.php?pkg=snac2&amp;arch=hurd-amd64&amp;ver=2.91-1&amp;stamp=1774482136&amp;raw=0

This commit replaces PATH_MAX with a dynamically-allocated buffer,
which is the usual way of fixing these failures.

Signed-off-by: Sergio Durigan Junior &lt;sergiodj@sergiodj.net&gt;
</content>
</entry>
<entry>
<title>strip_exif support for the OpenBSD sandbox</title>
<updated>2026-02-05T20:17:44Z</updated>
<author>
<name>Alvar Penning</name>
<email>post@0x21.biz</email>
</author>
<published>2026-02-05T19:58:25Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=ea81780895702b08b0b93ff48bd1876330632b89'/>
<id>urn:sha1:ea81780895702b08b0b93ff48bd1876330632b89</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Added translatable month names.</title>
<updated>2026-02-02T16:51:40Z</updated>
<author>
<name>grunfink</name>
<email>grunfink@comam.es</email>
</author>
<published>2026-02-02T16:51:40Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=7d24c6ff9460066479421473956bfce360ceb608'/>
<id>urn:sha1:7d24c6ff9460066479421473956bfce360ceb608</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request 'Implement metadata stripping for uploaded photos and videos' (#515) from draga79/snac2:master into master</title>
<updated>2026-01-12T13:27:05Z</updated>
<author>
<name>grunfink</name>
<email>grunfink@noreply.codeberg.org</email>
</author>
<published>2026-01-12T13:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=3ffdf91a4c6e90b0738a767d75b80941500713e0'/>
<id>urn:sha1:3ffdf91a4c6e90b0738a767d75b80941500713e0</id>
<content type='text'>
Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/515
</content>
</entry>
<entry>
<title>New file xs_list_tools.h.</title>
<updated>2026-01-10T19:40:13Z</updated>
<author>
<name>grunfink</name>
<email>grunfink@comam.es</email>
</author>
<published>2026-01-10T19:40:13Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=fdd2217be47799d93fe7505faffd7c948d69ecdb'/>
<id>urn:sha1:fdd2217be47799d93fe7505faffd7c948d69ecdb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement metadata stripping for uploaded videos</title>
<updated>2026-01-06T11:18:00Z</updated>
<author>
<name>Stefano Marinelli</name>
<email>stefano@dragas.it</email>
</author>
<published>2026-01-06T11:18:00Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=03d270a56b751bc53b83381d9fef21da8d4cbb91'/>
<id>urn:sha1:03d270a56b751bc53b83381d9fef21da8d4cbb91</id>
<content type='text'>
- Extend `strip_media` to support video files using `ffmpeg`.
- Use `ffmpeg -map_metadata -1 -c copy` to strip global metadata.
- Support formats: mp4, m4v, mov, webm, mkv, avi.
- Add `ffmpeg_path` configuration option.
- Implement robust relative path handling (`user/` heuristic) to support jailed environments.
- Enforce strict checks on startup: fail if tools (mogrify/ffmpeg) are missing when enabled.
</content>
</entry>
<entry>
<title>Implement configurable EXIF stripping for uploaded media</title>
<updated>2026-01-06T10:02:36Z</updated>
<author>
<name>Stefano Marinelli</name>
<email>stefano@dragas.it</email>
</author>
<published>2026-01-06T10:02:36Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=688c54c87355b5424f33f7b089814460a74af594'/>
<id>urn:sha1:688c54c87355b5424f33f7b089814460a74af594</id>
<content type='text'>
- 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`.
</content>
</entry>
<entry>
<title>Bumped copyright year.</title>
<updated>2026-01-01T16:01:03Z</updated>
<author>
<name>grunfink</name>
<email>grunfink@comam.es</email>
</author>
<published>2026-01-01T16:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=11af00194e3e0ec15e17a23556dc2929f92e0210'/>
<id>urn:sha1:11af00194e3e0ec15e17a23556dc2929f92e0210</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xs_http.h: new file.</title>
<updated>2025-10-13T11:07:06Z</updated>
<author>
<name>grunfink</name>
<email>grunfink@comam.es</email>
</author>
<published>2025-10-13T11:07:06Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=212284c792c86fca52e0172a4d097abc5bb45252'/>
<id>urn:sha1:212284c792c86fca52e0172a4d097abc5bb45252</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xs_webmention.h new file.</title>
<updated>2025-05-04T09:05:47Z</updated>
<author>
<name>grunfink</name>
<email>grunfink@comam.es</email>
</author>
<published>2025-05-04T09:05:47Z</published>
<link rel='alternate' type='text/html' href='https://git.r.bdr.sh/snac2/commit/?id=64d99af19ce864ffefec50fcf0d19d2d65411c35'/>
<id>urn:sha1:64d99af19ce864ffefec50fcf0d19d2d65411c35</id>
<content type='text'>
</content>
</entry>
</feed>
