Commit Graph

112 Commits

Author SHA1 Message Date
Solene Rapenne
9cca2408c3 Separate vger functions into a new file
This will ease the creation of unit tests
and code reusability
2022-07-04 21:00:31 +02:00
Solene Rapenne
8bd1144178 README: use repology to list where vger is packaged 2022-05-01 23:53:37 +02:00
Solene Rapenne
6743c54359 README: openbsd and arch linux has a package, mentions nix shell 2022-05-01 23:50:03 +02:00
bbd0f05663 Merge pull request 'fix cgi support for PATH_INFO' (#3) from phoebos/vger:merge into master
Reviewed-on: #3
2022-03-31 08:07:06 +00:00
aa1affb6c2
fix cgi support for PATH_INFO
looks for files immediately after the cgidir, and anything after that file
if there are '/'s becomes PATH_INFO.

also adds a function strip_trailing_slash which may be useful in other parts too.
2022-03-26 20:31:50 +00:00
8efcdb7512 Merge pull request 'remove any query_string before chdir' (#4) from phoebos/vger:query_string_slashes into master
Reviewed-on: #4
2022-03-26 08:27:24 +00:00
394b86bca8
remove any query_string before chdir
a query string could contain a '/' character, which would make vger try
to chdir to an incorrect directory. remove the query_string before this,
and before percent-decoding (in case there is an encoded '?'). This
should happen even if we are not doing cgi, because some clients might
send a query_string anyway, which should be ignored.
2022-03-19 14:49:44 +00:00
Solene Rapenne
01f2503376 fix NetBSD macro check 2022-01-26 13:04:04 +01:00
Solene Rapenne
ed6dc1ed12 add .gitignore for build artifacts 2021-12-13 21:44:03 +01:00
Solene Rapenne
0d3d453498 test.sh should be executable out of the box 2021-12-13 21:34:49 +01:00
Solene Rapenne
914a143c3f add Nix shell file 2021-12-13 21:34:35 +01:00
Solene Rapenne
a319de23f7 Add configure script 2021-12-13 21:32:08 +01:00
prx
15d09d2c01 fix user chroot issue + style 2021-10-21 11:41:22 +02:00
prx
843d1f0ab7 send header before other messages 2021-04-30 12:45:34 +02:00
prx
f8aff7fe05 fix cgi error (file not found) and useless 'unveil' pledge promise 2021-04-30 09:38:12 +02:00
prx
4972df5999 Fix virtualhost support changing the way request is parsed 2021-03-22 21:44:23 +01:00
Solene Rapenne
365e99400a Support all other BSD ! <3 2021-03-14 21:29:51 +01:00
Solene Rapenne
807d1b8409 Add a configure script to make compiling on Linux easier 2021-03-14 14:18:06 +01:00
prx
02d2d1dc7d percent-decoding 2021-03-09 20:45:12 +01:00
prx
de52acecfc Merge branch 'master' of tildegit.org:solene/vger 2021-03-09 20:37:46 +01:00
Omar Polo
ee8569c6e6 simplify cgi function
Don't fork+execlp the script.  There's no need to do so since on exec
the new process will inherit our file descriptor table (and hence our
stdout), so copying from its stdout to ours is just a waste of time.
This allows to drop the ``proc'' pledge(2) promise and to (slightly)
improve performance.
2021-03-09 19:14:42 +01:00
Omar Polo
16a5ed7b30 drop unnecessary unveil(NULL, NULL)
the next line is a call to pledge, that alone is will block further
calls to unveil(2) since ``unveil'' isn't in the set of pledges.
2021-03-09 19:14:42 +01:00
Omar Polo
8454548b51 add test for redirect with trailing slash with vhosts on 2021-03-09 19:14:42 +01:00
Omar Polo
cbcf4ec9b6 fix redirect when vhost support is enabled 2021-03-09 19:14:42 +01:00
Omar Polo
7431d3eeec Use the correct error codes and meaningful explanations
Introduce status_error: it's like status or status_redirect but for
errors, thus it doesn't add ``;lang=$lang'' at the end.
2021-03-09 19:14:42 +01:00
prx
e9be1b73a7 percent-decode uri 2021-03-02 10:06:09 +01:00
prx
e87b36c991 check request length for empty and too long 2021-03-02 10:04:04 +01:00
Solene Rapenne
e3b5fb2ab3 Revert "deal with too small/long requests"
This reverts commit efa1f639fc.
2021-03-01 19:35:41 +01:00
Solene Rapenne
9525d66afb Revert "follow spec, fread() get nmemb-1"
This reverts commit fbacb35170.
2021-03-01 19:35:37 +01:00
Solene Rapenne
d086262d1a Revert "empty request should works all the time, not only when in virtualhost"
This broke vger from inetd but it passed the tests.

This reverts commit 7b0686bdfa.
2021-03-01 19:35:17 +01:00
Solene Rapenne
7b0686bdfa empty request should works all the time, not only when in virtualhost 2021-02-27 19:59:28 +01:00
prx
fbacb35170 follow spec, fread() get nmemb-1 2021-02-25 20:30:30 +01:00
prx
efa1f639fc deal with too small/long requests 2021-02-25 18:37:48 +01:00
Solene Rapenne
458592594e Repair chroot, the only feature that isn't covered by tests 2021-02-23 23:24:12 +01:00
Solene Rapenne
31d384833f Rewording 2021-02-08 21:55:55 +01:00
Solene Rapenne
ff78ea5049 Documentation rewording 2021-02-05 21:28:41 +01:00
Solene Rapenne
349e56c28c Bump LICENSE to include 2021 2021-02-05 21:28:21 +01:00
Solene Rapenne
2191a8a18b Fix make clean, find conditions are tricky 2021-02-05 21:24:32 +01:00
prx
84120dca09 remove double ticks 2021-02-03 21:01:07 +01:00
prx
43170e6804 restore all tests after mistake 2021-02-03 21:00:38 +01:00
prx
f0dbd2c9ed ready for Linux && disable solene's specific tests 2021-02-03 20:46:36 +01:00
prx
55042768e5 restore parent link in autoindex and add comments 2021-01-31 22:05:48 +01:00
prx
189803ab52 useless space 2021-01-31 21:21:46 +01:00
prx
de7cd12f9f ignore after ? and make cgi+virtualhost work (sort of) 2021-01-31 21:21:15 +01:00
prx
3510035711 fix unacceptable ../ in autoidx and code formatting 2021-01-31 13:59:24 +01:00
prx
2cc63136f8 alphasort autoindex + add proper error code fir cgi 2021-01-14 14:30:11 +01:00
prx
495fa3213f small tip for cgi 2021-01-14 13:54:29 +01:00
prx
f6bc000adc fix status code in cgi script 2021-01-14 13:49:46 +01:00
prx
470e47a018 Add simple cgi support +:
* read file byte after byte
* format code (syslog + err)
* move functions in utils.c
2021-01-14 13:31:51 +01:00
Solene Rapenne
332a5cd1d6 Tell about autoindex in README 2021-01-10 13:11:46 +01:00