| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2026-02-05 | strip_exif support for the OpenBSD sandbox | 1 | -59/+99 | ||
| 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 | Added translatable month names. | 1 | -0/+1 | ||
| 2026-01-10 | New file xs_list_tools.h. | 1 | -0/+1 | ||
| 2026-01-06 | Implement metadata stripping for uploaded videos | 1 | -13/+99 | ||
| - 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. | |||||
| 2026-01-06 | Implement configurable EXIF stripping for uploaded media | 1 | -0/+64 | ||
| - 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-10-13 | xs_http.h: new file. | 1 | -20/+1 | ||
| 2025-05-04 | xs_webmention.h new file. | 1 | -0/+1 | ||
| 2025-03-11 | Fixed typo. | 1 | -1/+1 | ||
| 2025-02-17 | Add fake HTTP status error 399 to http_status_text(). | 1 | -0/+1 | ||
| 2025-02-14 | xs_po.h new file. | 1 | -0/+1 | ||
| 2025-02-14 | New function lang_str(). | 1 | -0/+1 | ||
| 2025-02-09 | Fixed function tid() for some architectures. | 1 | -1/+1 | ||
| 2025-01-08 | Bumped copyright year. | 1 | -1/+1 | ||
| 2024-11-12 | The proxy token seed is created on startup and never stored. | 1 | -0/+1 | ||
| 2024-08-23 | Searches are now case-insensitive for all alphabets. | 1 | -0/+1 | ||
| 2024-08-05 | Added support for listening on unix sockets. | 1 | -0/+1 | ||
| 2024-05-27 | Translate status codes to canonical status texts | 1 | -0/+12 | ||
| Use those in HTTP responses instead of "OK"/"ERROR". Apps like Tokodon show only the status text in unexpected responses. | |||||
| 2024-01-04 | Updated copyright year. | 1 | -1/+1 | ||
| 2023-11-20 | Replaced encode_html_strict() with xs_html_encode(). | 1 | -0/+1 | ||
| 2023-11-17 | Backport from xs. | 1 | -0/+1 | ||
| 2023-10-17 | Added FastCGI support. | 1 | -0/+1 | ||
| 2023-10-13 | Don't allow creating users which user name strings only differ in case. | 1 | -0/+3 | ||
| 2023-09-27 | Some tweaks to the logging system. | 1 | -15/+13 | ||
| 2023-09-25 | Backport from xs. | 1 | -0/+1 | ||
| 2023-09-17 | Backport from xs. | 1 | -0/+1 | ||
| 2023-07-28 | Updated comment in headers. | 1 | -1/+1 | ||
| 2023-07-09 | Fixed failed mkdir() in restricted environments. | 1 | -2/+7 | ||
| 2023-06-15 | If a ~/log/ folder exists, also write the log there. | 1 | -2/+3 | ||
| 2023-06-11 | If ~/error/ exists, also log messages to a file there. | 1 | -0/+8 | ||
| 2023-06-05 | Replaced usage of random() with xs_rnd_buf(). | 1 | -1/+4 | ||
| 2023-06-05 | Some prototype tweaks. | 1 | -8/+8 | ||
| 2023-06-05 | Moved srv_running variable to httpd.c. | 1 | -1/+0 | ||
| 2023-05-17 | Got rid of xs_encdec.h. | 1 | -1/+0 | ||
| 2023-05-09 | Backport from xs. | 1 | -1/+2 | ||
| 2023-04-16 | arc4random() does not exist in not-so-old systems, so revert this. | 1 | -1/+1 | ||
| Revert "Replaced random() with arc4random()." This reverts commit f658f345cac7b24d6fa61f08b4ec09823d28b11a. | |||||
| 2023-04-16 | Replaced random() with arc4random(). | 1 | -1/+1 | ||
| 2023-03-01 | Moved srv_archive() to data.c. | 1 | -94/+0 | ||
| 2023-02-07 | New utility function mkdirx(). | 1 | -1/+13 | ||
| 2023-02-07 | Tweaked user and group permissions for new files and dirs. | 1 | -1/+1 | ||
| 2023-02-02 | Minor header tweaks. | 1 | -2/+4 | ||
| 2023-01-17 | Updated year in copyright notices. | 1 | -1/+1 | ||
| 2022-12-14 | Some code reordering to placate scan-build's wrath. | 1 | -7/+9 | ||
| 2022-12-04 | New function new_password(). | 1 | -3/+3 | ||
| 2022-10-26 | Fixed a nasty macro expansion bug. | 1 | -0/+7 | ||
| 2022-10-15 | Don't set tz in gettimeofday() because nobody implements it any longer. | 1 | -2/+1 | ||
| 2022-10-03 | Backport from xs. | 1 | -0/+1 | ||
| 2022-10-02 | Use the time functions of xs_time.h. | 1 | -19/+2 | ||
| 2022-09-28 | New function ftime(). | 1 | -0/+9 | ||
| 2022-09-28 | Got xs_set.h from xs. | 1 | -0/+1 | ||