Commit Graph

90 Commits

Author SHA1 Message Date
Omar Polo
137def5ff4 reworked seccomp filter
* SECCOMP_AUDIT_ARCH extended to support more architectures
* relax fcntl policy: allow the syscall regardless of the flags
* wrap every syscall in a ifdef, and add some (statx, fcntl64, ...)
  used in x86

Some bits were taken from dhcpcd[0], thanks!

#4 related


[0]: https://roy.marples.name/git/dhcpcd/blob/HEAD:/src/privsep-linux.c
2021-07-02 09:11:40 +00:00
Omar Polo
98f5217822 [config] concat two or more strings next to each others 2021-06-29 16:10:10 +00:00
Omar Polo
6b86655a10 don't require the strict order macro > options > servers 2021-06-29 12:42:44 +00:00
Omar Polo
f98e9045ae add -D to define macros from the cmd line 2021-06-29 12:39:34 +00:00
Omar Polo
3b21cca385 allow to define macros in the config file
Macros can be defined at the top of the configuration file:

	dir = "/var/gemini"
	cert = "/etc/keys"

and re-used later, for example

	server "foo" {
		root "$dir/foo"       # -> /var/gemini/foo
		cert "$cert/foo.pem" # -> /etc/keys/foo.pem
	}
2021-06-29 12:17:40 +00:00
Omar Polo
5777923bb0 use getopt_long, add --help as synonym of -h and -V/--version 2021-06-29 10:49:59 +00:00
Omar Polo
2c43dcceb6 document `log' option 2021-06-17 09:27:09 +00:00
Omar Polo
74f0778b9a drop the dependency on lex by implementing yylex by ourselves
The actual implementation is based off doas' parse.y.  This gave us
various benefits, like cleaner code, \ to break long lines, better
handling of quotes etc...
2021-06-16 14:43:16 +00:00
Omar Polo
c92b802b6a add `param' keyword 2021-06-11 15:49:46 +00:00
Omar Polo
f740b61b03 more params from and send a custom list 2021-06-11 15:48:56 +00:00
Omar Polo
3a1bd9ab49 sync 2021-05-27 09:46:00 +00:00
Omar Polo
1eb3631d10 certificate generation (bugfix and improvement)
don't add gmid as organisation when generating the certificate, and
set the version to 3, so it's compatible with java/android clients.

Found by Gnuserland, thanks!
2021-05-12 17:37:22 +00:00
Omar Polo
84821dc0ac sync 2021-05-09 18:31:18 +00:00
Omar Polo
419e32b05e sync 2021-05-03 16:12:53 +00:00
Omar Polo
737a6b50c5 ensure %p (path) is always absolute
with the recent changes, sometimes the path may not start with a '/'.
This ensures that %s is ALWAYS an absolute path.
2021-04-30 19:07:37 +00:00
Omar Polo
fdea6aa0bc allow ``root'' rule to be specified per-location block 2021-04-30 17:16:34 +00:00
Omar Polo
cc8c2901ad added ``alias'' option to define hostname aliases for a server 2021-04-29 18:23:35 +00:00
Omar Polo
8e8b2e252c pidfile support with `-P pidfile' 2021-04-28 12:45:22 +00:00
Omar Polo
9cc630aa63 added ``env'' option to define environment vars for CGI scripts 2021-04-28 12:43:17 +00:00
Omar Polo
e6ca8eb156 lower log priority for fatal errors from CRIT to ERR
found by Anna, thanks!
2021-04-28 12:43:17 +00:00
Omar Polo
11c986679a sort the auto index alphabetically 2021-04-25 12:06:54 +00:00
Omar Polo
4d820b6cd2 use `text/x-patch' for .patch and .diff files 2021-04-21 07:51:29 +00:00
Omar Polo
b33425827e print the datetime when logging to stderr 2021-04-14 14:52:47 +00:00
Omar Polo
89541eeec0 define TLS_VERSION, TLS_CIPHER and TLS_CIPHER_STRENGTH for CGI scripts 2021-04-13 06:59:54 +00:00
Omar Polo
b211d0f7d9 sync changelog 2021-04-12 21:13:51 +00:00
Omar Polo
b8e64ccd44 list instead of fixed-size array for vhosts and locations
saves some bytes of memory and removes the limit on the maximum number
of vhosts and location blocks.
2021-03-31 16:32:18 +00:00
Omar Polo
e0ebdf2d94 sync changelog 2021-03-31 13:58:31 +00:00
Omar Polo
33b455ada3 sync changes 2021-03-31 13:23:29 +00:00
Omar Polo
c836cdfadb handle CGI scripts that replies with the maximum header length allowed
the 1024 bytes limits is for the META only, not for the whole
response.  That means that the maximum size for the header line is
1029!
2021-03-29 09:42:06 +00:00
Omar Polo
c8249bada3 gmid v1.6 -- "Stargazers" 2021-03-20 12:04:23 +00:00
Omar Polo
7e3aaf3752 sync changelog 2021-03-20 08:54:03 +00:00
Omar Polo
ad5301d1a0 sync ChangeLog 2021-03-20 07:46:47 +00:00
Omar Polo
793835cb26
add `log on/off' to enable/disable logs per-location 2021-02-23 13:43:24 +01:00
Omar Polo
02be96c6dd add `require client ca' rule to require certs signed by a CA 2021-02-09 22:30:04 +00:00
Omar Polo
b63e30ff44 define TLS_CLIENT_NOT_BEFORE/NOT_AFTER in CGI scripts 2021-02-07 21:47:01 +00:00
Omar Polo
9f006a2127 [cgi] split the query in words if needed and add them to the argv 2021-02-07 18:55:04 +00:00
Omar Polo
a709ddf5eb added prefork option 2021-02-07 12:05:32 +00:00
Omar Polo
e3ddf39095 add the ``entrypoint'' option 2021-02-06 18:28:43 +00:00
Omar Polo
6abda252e9 added `block return'' and `strip'' options 2021-02-06 17:22:37 +00:00
Omar Polo
8404ec301f don't %-decode the query 2021-02-05 14:31:53 +00:00
Omar Polo
ca21e10043 reload configuration on SIGHUP 2021-02-04 13:23:15 +00:00
Omar Polo
87f2b68b58 cgi now follows globbing rules 2021-02-02 22:38:35 +00:00
Omar Polo
5f715ce43f print the header in the directory listing 2021-02-02 09:48:32 +00:00
Omar Polo
38f8a798b1 mention v1.5 2021-02-01 12:30:34 +00:00
Omar Polo
e17642a7bb require absolute paths in config file 2021-02-01 11:08:57 +00:00
Omar Polo
ee29b5a63b sync 2021-01-31 11:09:15 +00:00
Omar Polo
e99923477a sync 2021-01-30 12:13:49 +00:00
Omar Polo
dceca3b69d sync 2021-01-29 17:29:21 +00:00
Omar Polo
3300cbe06a initial punycode support 2021-01-27 10:47:49 +00:00
Omar Polo
a5d04ea066 sync 2021-01-25 14:31:40 +00:00