Commit Briefs

Omar Polo

fmt


Omar Polo

use memset(3) rather than bzero(3)

There's no difference, but bzero(3) says STANDARDS The bzero() function conforms to the X/Open System Interfaces option of the IEEE Std 1003.1-2004 (“POSIX.1”) specification. It was removed from the standard in IEEE Std 1003.1-2008 (“POSIX.1”), which recommends using memset(3) instead. so here we are.


Omar Polo

drop unnecessary bzero

the whole struct client is already memset'd to 0 in do_accept. handle_handshake doesn't touch the request or iri buffer in the code path that leads to handle_open_conn. (It does so in the error router alone.)


Omar Polo

making more explicit the case of missing SNI

Missing SNI (i.e. servname == NULL) is already handled correctly. puny_decode refuses to work on NULL servname, c->domain is still the empty string and everything flows as expected towards the error at the end. However, it's better to bail out early and make more explicit how the case of missing SNI is handled.


Omar Polo

Improve gmid.service

Changed gmid.service to not to fork the server and forced to run under user "gmid". gmid now waits for the network stack beeing available before starting. Also "gmid" is now the syslog id.


Omar Polo

sync changelog


Omar Polo

landlock the logger process too

Disallow everything landlock can handle. The logger process doesn't need any fs access (on OpenBSD it runs with pledge("stdio recvfd")).



Omar Polo

mention landlock in the README


Omar Polo

landlock the server process

Trying to implement some landlock policies (rules?) where possible. The server process is, of course, the most dangerous process so start with that. The following should be equivalent to the unveil(2) call on OpenBSD: allows only to read files and directories inside the vhost roots. I'm assuming seccomp is enabled so I'm not trying to disallow actions such as LANDLOCK_ACCESS_FS_EXECUTE or LANDLOCK_ACCESS_FS_REMOVE_FILE which require syscalls that are already disallowed. I'm only trying to limit the damage that the currently allowed system calls can do. e.g. since write(2) is allowed, gmid could modify *any* file it has access to; this is now forbidden by landlock. There are still too many #ifdefs for my tastes, but it's still better than the seccomp code.


Omar Polo

define HAVE_LANDLOCK accordingly


Omar Polo

add configure check and shim for landlock

First move towards landlock support (#3). The shim is needed until libc provides the proper wrappers for the landlock APIs; I hope it doesn't take too long, but landlock was merged back in May and are still missing.


Omar Polo

tag 1.7.3 (tags/1.7.3)

bump version number



Omar Polo

fix changelog syntax