aboutsummaryrefslogtreecommitdiff
path: root/ge.c
AgeCommit message (Collapse)Author
2024-07-02gemexp: add -vOmar Polo
2024-06-17make gemexp verboseChristoph Liebender
2024-06-09remove from gmid.h functions that are used only in gemexpOmar Polo
2024-06-09check and error on strlcpy truncationOmar Polo
2024-06-08change the approach for strnvisOmar Polo
instead of making things more obscure via gmid_strnvis(), let's just check for strnvis with -Werror so we can swap the OS broken implementation with the bundled OpenBSD one.
2024-06-06attempt to deal with the portability fiasco of strnvis(3)Omar Polo
2024-01-08fix ge^W gemexp version stringOmar Polo
2023-10-18gemexp: add -R to generate an RSA (4096) key instead of an EC one (default)Omar Polo
2023-10-18rework gencert(); make gemexp generate EC certsOmar Polo
Taking inspiration from acme-client.
2023-08-29gemexp doesn't have -v; remove from getopt and usage()Omar Polo
2023-08-29tweak gemexp logsOmar Polo
gemexp is meant for local testing so I'm not too worried about changing its log format if it makes sense to do so.
2023-08-29gemexp: save certs to $XDG_DATA_HOME/gemexp, not /gmidOmar Polo
2023-08-29gemexp: change the naming scheme for the certificatesOmar Polo
Using what the manpage advertised. The regress adaptations will follow. The directory will also change (and the key type too.)
2023-08-07use the subject' common name as the user field in logOmar Polo
2023-07-25use the condensed logging style in ge tooOmar Polo
2023-07-01rename do_accept() -> server_accept()Omar Polo
2023-07-01change log_request to take the code and meta unpackedOmar Polo
don't know what i was smoking when I wrote log_request() like that...
2023-06-26call getnameinfo() only once per requestOmar Polo
2023-06-24copyright years++Omar Polo
2023-06-24load the certs per listening addressOmar Polo
2023-06-23implement `listen on'Omar Polo
Listening by default on all the addresses is so bad I don't know why I haven't changed this before. Anyway. Add a `listen on $hostname port $port' syntax to the config file and deprecate the old "port" and "ipv6" global setting. Still try to honour them when no "listen on" directive is used for backward compatibily, but this will go away in the next next version hopefully. At the moment the `listen on' in server context don't filter the host, i.e. one can still reach a host from a address not specified in the corresponding `liste on', this will be added later.
2023-06-23rename client->addr to raddr (remote address) and keep original lengthOmar Polo
2023-06-23typo; use the `l' variable not `len'Omar Polo
2023-06-11disable the privsep crypto engine on !OpenBSDOmar Polo
it fails bandly at runtime on various linux distros and on freebsd. Until a fix is found, disable it so I can move forward.
2023-06-09don't have the config being a globalOmar Polo
2023-06-09move hosts into the config structOmar Polo
2023-06-09move fastcgi from global var to the config structOmar Polo
while here also make them a list rather than a fixed-size array.
2023-06-08fix ge buildOmar Polo
2023-06-08less logger.hOmar Polo
2023-06-08make ge work againOmar Polo
2023-06-08remove now unused ibuf variableOmar Polo
2023-06-08rework the daemon to do fork+execOmar Polo
It uses the 'common' proc.c from various OpenBSD-daemons. gmid grew organically bit by bit and it was also the first place where I tried to implement privsep. It wasn't done very well, in fact the parent process (that retains root privileges) just fork()s a generation of servers, all sharing *exactly* the same address space. No good! Now, we fork() and re-exec() ourselves, so that each process has a fresh address space. Some features (require client ca for example) are temporarly disabled, will be fixed in subsequent commits. The "ge" program is also temporarly disabled as it needs tweaks to do privsep too.
2023-06-06use fatal() in code used in the daemonOmar Polo
2023-06-06switch to the more usual log.cOmar Polo
2023-06-06rename log.[ch] to logger.[ch]Omar Polo
2023-06-06nitpick: fix snprintf checkOmar Polo
2023-06-06move config-related code to config.cOmar Polo
reuse it in ge too.
2023-06-06call setlocale()Omar Polo
2023-06-05move and dedup the tls initalization in server.cOmar Polo
2023-06-05provide a more usual fatalOmar Polo
fatal usually appends the error string. Add 'fatalx' that doesn't. Fix callers and move the prototypes to log.h
2023-06-05move some server-related code to server.cOmar Polo
2022-10-05make the various strings in the config fixed-lengthOmar Polo
will help in future restructuring to have fixed-size objects.
2022-09-10specify custom version strings for the various cmdsOmar Polo
2022-09-07add ge: gemini export!Omar Polo