Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implement capsicum workaround for certbot | Curtis McEnroe | 2019-11-01 | 1 | -23/+66 | |
| | ||||||
* | Reload certificates using openat | Curtis McEnroe | 2019-11-01 | 2 | -42/+69 | |
| | | | | | This is more versatile since files are more likely to be replaced than overwritten. | |||||
* | Re-read cert and key from the same FILEs | Curtis McEnroe | 2019-11-01 | 3 | -9/+43 | |
| | ||||||
* | Use capsicum | Curtis McEnroe | 2019-11-01 | 2 | -0/+25 | |
| | ||||||
* | Use explicit_bzero to clear passwords | Curtis McEnroe | 2019-10-31 | 7 | -15/+20 | |
| | | | | | GNU doesn't implement memset_s, but both FreeBSD and GNU implement explicit_bzero. Darwin doesn't, so #define it in terms of memset_s. | |||||
* | Send clients their own QUIT on shutdown | Curtis McEnroe | 2019-10-31 | 1 | -1/+4 | |
| | ||||||
* | Shrink client buffer size | Curtis McEnroe | 2019-10-31 | 1 | -1/+2 | |
| | | | | | | | Clients are generally not going to send huge amounts at a time, and IRC messages are limited to 512 bytes. If in the future we supported message tags from clients, which have a size limit of 8191 bytes, this would unfortunately have to be set much higher. | |||||
* | Iterator over pollfds in reverse | Curtis McEnroe | 2019-10-31 | 1 | -2/+1 | |
| | | | | | | | | | | | This has two advantages: 1. When removing a client, we don't need to break the loop, since the swap-remove will replace the current pollfd with one we've already handled and we can safely move on to the next (previous) one. 2. If a new client connects for the same consumer (for example if the previous one is going to time out), it will start consuming messages for that consumer, rather than them being sent to the old client. | |||||
* | Clear passwords from memory with memset_s | Curtis McEnroe | 2019-10-31 | 2 | -2/+10 | |
| | ||||||
* | Clean up cert path documentation | Curtis McEnroe | 2019-10-30 | 1 | -15/+8 | |
| | ||||||
* | Remove client count FIXME | Curtis McEnroe | 2019-10-30 | 1 | -2/+0 | |
| | | | | This minor thing would take too much code convolution to do. | |||||
* | Preserve consumers ptr in realloc failure | Curtis McEnroe | 2019-10-30 | 1 | -3/+3 | |
| | ||||||
* | Add option for ring size | Curtis McEnroe | 2019-10-30 | 3 | -11/+48 | |
| | ||||||
* | Set away status upon connecting | Curtis McEnroe | 2019-10-30 | 1 | -0/+1 | |
| | ||||||
* | Add make target for localhost.crt | Curtis McEnroe | 2019-10-30 | 2 | -1/+8 | |
| | | | | Adapted from <https://letsencrypt.org/docs/certificates-for-localhost/>. | |||||
* | Warn when consumers drop messages | Curtis McEnroe | 2019-10-30 | 1 | -0/+4 | |
| | ||||||
* | Allocate ring buffer at runtime | Curtis McEnroe | 2019-10-29 | 3 | -16/+25 | |
| | ||||||
* | Do not duplicate origin on nick change | Curtis McEnroe | 2019-10-29 | 1 | -1/+2 | |
| | | | | Oops! | |||||
* | Update self origin on nick change | Curtis McEnroe | 2019-10-29 | 1 | -1/+10 | |
| | ||||||
* | Clarify some documentation | Curtis McEnroe | 2019-10-29 | 2 | -5/+18 | |
| | ||||||
* | Implement getopt_long-integrated configuration parsing | Curtis McEnroe | 2019-10-29 | 7 | -92/+242 | |
| | ||||||
* | Relay optional 5th RPL_MYINFO parameter | Curtis McEnroe | 2019-10-29 | 1 | -3/+5 | |
| | ||||||
* | Use ETCDIR variable for install target | Curtis McEnroe | 2019-10-29 | 1 | -3/+4 | |
| | ||||||
* | Sort standards in manual page | Curtis McEnroe | 2019-10-29 | 1 | -32/+32 | |
| | ||||||
* | Document lack of channel distinction caveat | Curtis McEnroe | 2019-10-29 | 1 | -1/+9 | |
| | ||||||
* | Lock save file | Curtis McEnroe | 2019-10-28 | 1 | -20/+29 | |
| | ||||||
* | Add option to save and load ring contents across restarts | Curtis McEnroe | 2019-10-28 | 4 | -1/+117 | |
| | ||||||
* | Use "producer/consumer" consistently in ring code | Curtis McEnroe | 2019-10-28 | 1 | -26/+33 | |
| | ||||||
* | Add quit message option | Curtis McEnroe | 2019-10-28 | 2 | -3/+11 | |
| | ||||||
* | Specify when command is allowed in Handlers list | Curtis McEnroe | 2019-10-28 | 1 | -12/+10 | |
| | ||||||
* | Disallow PRIVMSG/NOTICE before registration | Curtis McEnroe | 2019-10-28 | 1 | -1/+6 | |
| | ||||||
* | Move entire login flow to state and reorganize it | Curtis McEnroe | 2019-10-28 | 5 | -197/+194 | |
| | ||||||
* | Wait for SASL success before sending CAP END | Curtis McEnroe | 2019-10-27 | 2 | -1/+15 | |
| | | | | | | | Also refuse to continue logging in if SASL authentication fails. I should really just move all of log in and authentication from server.c to state.c... | |||||
* | Only increment consumer after successful send | Curtis McEnroe | 2019-10-27 | 3 | -3/+11 | |
| | ||||||
* | Set SO_REUSEADDR on binds | Curtis McEnroe | 2019-10-27 | 1 | -0/+4 | |
| | ||||||
* | Output ring info on SIGINFO | Curtis McEnroe | 2019-10-27 | 3 | -0/+21 | |
| | ||||||
* | Improve client/server error messages | Curtis McEnroe | 2019-10-27 | 2 | -4/+4 | |
| | ||||||
* | Add reload cmd to rc script | Curtis McEnroe | 2019-10-27 | 1 | -6/+17 | |
| | | | | Using daemon(8) makes this way more awkward than it should be. | |||||
* | Reload certificate on SIGUSR1 | Curtis McEnroe | 2019-10-27 | 3 | -7/+24 | |
| | ||||||
* | Drop clients on zero-length reads | Curtis McEnroe | 2019-10-27 | 1 | -2/+2 | |
| | ||||||
* | Explicitly tls_handshake new clients | Curtis McEnroe | 2019-10-27 | 1 | -4/+11 | |
| | | | | | This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately. | |||||
* | Document rationale | Curtis McEnroe | 2019-10-26 | 1 | -1/+24 | |
| | ||||||
* | Handle nick collision | Curtis McEnroe | 2019-10-26 | 1 | -0/+7 | |
| | ||||||
* | Wait for AUTHENTICATE + from server | Curtis McEnroe | 2019-10-26 | 2 | -6/+7 | |
| | ||||||
* | Respond to PING with same parameter | Curtis McEnroe | 2019-10-26 | 1 | -1/+1 | |
| | ||||||
* | Add undocumented flag to disable verification | Curtis McEnroe | 2019-10-26 | 3 | -4/+11 | |
| | ||||||
* | Do not require RPL_ISUPPORT for stateReady | Curtis McEnroe | 2019-10-26 | 1 | -2/+1 | |
| | ||||||
* | Implement graceful shutdown | Curtis McEnroe | 2019-10-26 | 1 | -2/+27 | |
| | ||||||
* | Require PASS before USER | Curtis McEnroe | 2019-10-26 | 1 | -3/+7 | |
| | | | | Prevent creating a ring consumer without authentication. | |||||
* | Track channel topics | Curtis McEnroe | 2019-10-26 | 4 | -28/+58 | |
| |