Commit message (Collapse) | Author | ||
---|---|---|---|
2020-11-23 | Unlink existing UNIX socket if it can't be connected to 2.1 | June McEnroe | |
I think this emulates SO_REUSEADDR, which for some reason doesn't work on PF_UNIX. If the socket exists, check if connect(2) works, rather than clobbering the socket being used by a still-running instance. | |||
2020-11-21 | Clean up main loop loops | June McEnroe | |
2020-11-20 | Add lazy client registration timeout | June McEnroe | |
I don't think this is worth adding a configuration option for since real clients will definitely accomplish registration faster than 10s and it's long enough to even type out manually for testing. | |||
2020-11-16 | Only allow clients to AUTHENTICATE if using a cert | June McEnroe | |
Otherwise the successful authentication message can leak information to unauthenticated clients when both certificate and password authentication are enabled. | |||
2020-11-16 | Set client sockets non-blocking | June McEnroe | |
Except for during writes. This prevents pounce getting blocked on a client sending only a partial TLS record, for example. Writes still need to block because pounce doesn't have a way to resume them. (And it would do so by having a buffer, but sockets already have a send buffer, so what would be the point of that?) I don't think it should be a problem since outside of stateSync, writes only happen when poll returns POLLOUT. I feel like ideally SO_SNDLOWAT would be set to guarantee a full IRC message can always be written on POLLOUT, but since it's actually TLS records being sent, it's not obvious what the size would be. I'm also making an assumption here that tls_read returning TLS_WANT_POLLOUT is unlikely to happen, since I don't actually set pollfd.events based on that. I'm not sure how wanting to resume a tls_read after a POLLOUT could be cleanly handled. I'm just going to hope that if it does happen, the regular poll loop will eventually sort it out... | |||
2020-11-14 | Swap localAccept parameter order | June McEnroe | |
2020-11-14 | Only send shutdown QUIT and ERROR to registered clients | June McEnroe | |
2020-11-14 | Make struct Client public | June McEnroe | |
2020-11-13 | Wait for POLLIN to do client tls_handshake | June McEnroe | |
Otherwise a client could cause pounce to hang (since the sockets are left blocking) by opening a connection without handshaking! Oops, that's pretty bad. Since the sockets are still blocking, a hang can still be caused by a client sending a partial handshake then waiting. More fixes to follow. pounce is slightly protected from this when used with calico, as it applies a timeout to waiting for the ClientHello. | |||
2020-11-13 | Use a fixed size pollfd array in calico | June McEnroe | |
My thinking here is that it's better to not allocate in response to incoming connections. This also just makes the code a little simpler. | |||
2020-11-13 | Disallow / anywhere in server name | June McEnroe | |
2020-11-12 | Check bounds of ClientHello extensions length | June McEnroe | |
2020-11-10 | Report paths in unveil errors | June McEnroe | |
2020-10-24 | contrib/palaver: Use open_memstream instead of fmemopen | June McEnroe | |
Somehow I never knew about this function. Much better than fmemopen with mode "w". | |||
2020-10-11 | Handle signals before the main loop | June McEnroe | |
This is a long-standing issue I ignored. | |||
2020-09-09 | Fix possibliy uninitialized error 2.0 | June McEnroe | |
It won't be, but gcc thinks it might. | |||
2020-08-31 | Refactor reserialization and client self-producing | June McEnroe | |
2020-08-30 | Add chmod+chown to certbot example | June McEnroe | |
2020-08-30 | Rearrange bounce.c, move non-main mains below main | June McEnroe | |
2020-08-30 | Sandbox pounce with unveil(2) | June McEnroe | |
2020-08-28 | Refactor certificate loading and load all certs from config paths | June McEnroe | |
2020-08-27 | Sandbox pounce with pledge(2) | June McEnroe | |
unveil(2) is a bit complicated to apply to this, I'll have to think about it more. | |||
2020-08-27 | Sandbox calico with pledge(2) and unveil(2) | June McEnroe | |
2020-08-27 | Add support for OpenBSD | June McEnroe | |
2020-08-27 | Remove rc scripts | June McEnroe | |
2020-08-27 | contrib/palaver: Fix documented database path | June McEnroe | |
2020-08-27 | contrib/palaver: Remove rc script | June McEnroe | |
2020-08-27 | contrib/palaver: Fix database search and creation | June McEnroe | |
2020-08-27 | contrib/palaver: Use pounce's XDG directory | June McEnroe | |
2020-08-27 | contrib/palaver: Only allow HTTPS | June McEnroe | |
2020-08-25 | Support the pounce_env rc variable | June McEnroe | |
2020-08-25 | Remove deprecated option names | June McEnroe | |
The next release will be 2.0 so these can be removed now. | |||
2020-08-25 | Document configuration and data file search | June McEnroe | |
2020-08-24 | Use dataOpen for save file | June McEnroe | |
2020-08-24 | Use configOpen to load localCA | June McEnroe | |
2020-08-24 | Use configPath to load client cert/priv | June McEnroe | |
2020-08-24 | Use configOpen in getopt_config | June McEnroe | |
2020-08-24 | Import xdg.c from catgirl | June McEnroe | |
2020-08-23 | Replace “RAND_bytes” by “getentropy” | Issam E. Maghni | |
This removes the dependency on libcrypto. Signed-off-by: Issam E. Maghni <issam.e.maghni@mailbox.org> | |||
2020-08-16 | contrib/palaver: Add no message preview flags | June McEnroe | |
2020-08-13 | contrib/palaver: Don't set channel for PMs | June McEnroe | |
2020-08-13 | Fix unintended interception of NICK after registration | June McEnroe | |
Another bug caused by trying to support broken clients. I'm annoyed. | |||
2020-08-12 | Add Additional Components section to README | June McEnroe | |
2020-08-12 | Document -L / palaver option | June McEnroe | |
2020-08-11 | contrib/palaver: Document service configuration | June McEnroe | |
2020-08-11 | contrib/palaver: Add install target and rc script | June McEnroe | |
2020-08-11 | contrib/palaver: Implement command and notifications | June McEnroe |