47c337793d
fix(feuille.c): better root privileges drop and debug mode handling
2022-11-29 13:25:14 +01:00
7b5d3e82d6
feat(README.md): service tutorial
2022-11-29 12:00:32 +01:00
e4e889334a
fix(service/systemd): typo
2022-11-29 11:48:58 +01:00
1b7b78d9ca
feat: service files
2022-11-29 11:45:59 +01:00
f3fbb4c77f
feat(feuille.c): handle children exit codes
2022-11-29 11:30:29 +01:00
1694929221
fix(feuille.c): reorganize some of its code
2022-11-29 11:07:49 +01:00
4894825dac
fix(feuille.c): documentation (x2)
2022-11-29 10:54:07 +01:00
741800f7f3
fix(feuille.c): documentation
2022-11-29 10:53:11 +01:00
9e011de4ab
style(server.c): comment
2022-11-29 10:50:16 +01:00
00e6fe5582
feat(feuille.c): accept_loop, better DEBUG mode, some style fixes
2022-11-29 10:49:39 +01:00
2ed08dc596
feat(config.mk): add DEBUG flag to build options
2022-11-29 10:39:14 +01:00
bf42903592
feat(feuille.c): do not create thread pool if in DEBUG mode
...
Will be useful when a batch of static/dynamic analysis tools will
check feuille's code.
2022-11-29 10:38:04 +01:00
43be904636
style: macros indentations (again)
2022-11-29 10:33:15 +01:00
46d7d4bff3
style(server.c): macros indentation
2022-11-29 10:30:57 +01:00
bb9a60b240
style(feuille.c): minor padding fix
2022-11-29 10:28:56 +01:00
5ba58b1bd7
feat: reduce timeout, max file size, and use more workers by default
2022-11-29 10:27:56 +01:00
955c840ba4
fix(server.c): add <syslog.h> header
2022-11-28 20:37:48 +01:00
4867ff3468
chore: update headers
2022-11-28 20:36:41 +01:00
7c796a567f
fix(.gitignore): remove .clangd from ignored files
2022-11-28 20:31:30 +01:00
8780761486
style(server.c): minor fix
2022-11-28 20:31:09 +01:00
42cdd1e16d
fix(feuille.c): ignore SIGPIPE errors
...
feuille was being killed by SIGPIPE when it tried to send data to an
already closed socket (e.g. when someone did a nmap scan on feuille's
port.)
2022-11-28 20:29:43 +01:00
aeee552947
fix(feuille.1): FEUILLE(1) -> feuille(1)
2022-11-28 15:27:58 +01:00
b58184c509
feat(README.md): example usage with syntax highlighting
2022-11-28 14:30:50 +01:00
e3622822fb
fix(feuille.c): add TODO comment and fix style issue
2022-11-28 14:26:35 +01:00
5d1cbba1c0
feat(server.c): add newline to pastes
2022-11-28 14:25:43 +01:00
6920f38942
chore: bump version to 1.6.20
2022-11-23 10:13:35 +01:00
f6bff69b33
fix: add config.mk to feuille.1 dependencies
2022-11-23 10:12:39 +01:00
ae746f24b1
chore(feuille.1): update manpage
2022-11-23 10:07:11 +01:00
4c4b51d3a9
feat(cron/startup.cron): add example setting
...
...and update README.md accordingly
2022-11-23 10:07:11 +01:00
6c57a4d03c
feat: safer `free()'s
...
`free' allocated buffers only on success inside the main loop, and
`free' them on error inside their respective functions
(fixes an UB where an already freed buffer is freed again in the main
loop)
2022-11-23 10:07:11 +01:00
be74fa43cc
fix(server.c): remove debug printf
2022-11-23 10:07:11 +01:00
24da772e56
feat: dissociate timeouts and empty pastes
...
feuille was handling those two errors the same way, by sending
`Timeout'd.' even if the client just sent an EOF.
2022-11-23 10:07:11 +01:00
6a20fa7e61
doc(server.c): typo
2022-11-23 10:07:11 +01:00
7904d4dfc4
fix: use port 9999 instead of port 8888
...
web crawlers were creating a shit-ton of pastebins while trying to
connect to feuille.
2022-11-22 20:36:45 +01:00
10ca071b99
fix(README.md): web/cgi/ → cgi/
2022-11-22 20:15:21 +01:00
e0b3cf4e82
chore: bump version
2022-11-22 06:52:22 +01:00
d453de5108
fix(feuille.c): print non-root warning before running in background
2022-11-22 06:48:00 +01:00
58db0b6b33
fix(feuille.c): don't check user if not running as root
2022-11-22 06:45:46 +01:00
ef6d5debfb
fix(README.md): use nc instead of $NC
...
I have absolutely no idea why that was there.
2022-11-21 21:01:03 +01:00
d2c3270b4b
fix(feuille.c): added some space around important blocks
2022-11-21 20:57:59 +01:00
e9009b9198
fix(feuille.c): background mode wasn't working when chrooted
...
freopen() could not find /dev/null but still closed std(in|out|err).
New sockets took the stdin file descriptor and broke everything.
Now it's fixed, and I even discovered the daemon() function.
2022-11-21 20:53:55 +01:00
7781c2b960
fix(feuille.c): pledge indentation
2022-11-21 19:44:41 +01:00
01057061f9
fix: use /var/www/feuille instead of /var/www/htdocs/feuille
2022-11-21 19:33:09 +01:00
de51c9830a
fix(bin.c): safer generate_id()
...
set next byte of ID to zero each time a new character is appended to
prevent undefined behaviours.
2022-11-21 19:31:20 +01:00
fdf588e523
fix(feuille.c): pledge promises
2022-11-21 19:30:09 +01:00
7c4aaf95ea
fix(feuille.1): re-add manpage
...
I accidentally removed it.
2022-11-21 14:50:53 +01:00
87fcd5a435
fix(bin.c): remove trailing line in description
2022-11-21 14:44:55 +01:00
601f8e4c24
fix(feuille.c): remove pledge stages 1 and 3
...
Stage 1 was causing issues with the chroot syscall, and, since stage
3 was causing more harm than security in terms of readability, I also
removed it.
2022-11-21 14:40:51 +01:00
8f75f88950
fix(Makefile): copy manpage instead of moving it
2022-11-21 14:23:56 +01:00
236b8a0545
fix: remove built cgi/feuille.cgi
2022-11-21 10:56:04 +01:00