Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | Add flag to generate a client certificate | June McEnroe | 2019-11-06 | |
| | | | | | This is essentially the command freenode tells you to run: <https://freenode.net/kb/answer/certfp>. | |||
* | Use explicit_bzero from LibreSSL | June McEnroe | 2019-11-06 | |
| | ||||
* | Clean up bounce.c | June McEnroe | 2019-11-05 | |
| | ||||
* | Use "priv" instead of "key" in options | June McEnroe | 2019-11-05 | |
| | | | | Let all words be four letter words. | |||
* | Use arc4random_buf | June McEnroe | 2019-11-05 | |
| | ||||
* | Implement SASL EXTERNAL | June McEnroe | 2019-11-05 | |
| | ||||
* | Add options for TLS client certificate | June McEnroe | 2019-11-04 | |
| | ||||
* | Hash client passwords with crypt | June McEnroe | 2019-11-04 | |
| | ||||
* | Rename bind-unix to bind-path | June McEnroe | 2019-11-03 | |
| | ||||
* | Append bindHost to bindPath if it is a directory | June McEnroe | 2019-11-03 | |
| | ||||
* | Fix trying to cap_rights_limit a NULL saveFile | June McEnroe | 2019-11-02 | |
| | ||||
* | Implement UNIX-domain binding | June McEnroe | 2019-11-02 | |
| | ||||
* | Limit saveFile to CAP_WRITE | June McEnroe | 2019-11-01 | |
| | ||||
* | Implement capsicum workaround for certbot | June McEnroe | 2019-11-01 | |
| | ||||
* | Reload certificates using openat | June McEnroe | 2019-11-01 | |
| | | | | | This is more versatile since files are more likely to be replaced than overwritten. | |||
* | Re-read cert and key from the same FILEs | June McEnroe | 2019-11-01 | |
| | ||||
* | Use capsicum | June McEnroe | 2019-11-01 | |
| | ||||
* | Use explicit_bzero to clear passwords | June McEnroe | 2019-10-31 | |
| | | | | | 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 | June McEnroe | 2019-10-31 | |
| | ||||
* | Iterator over pollfds in reverse | June McEnroe | 2019-10-31 | |
| | | | | | | | | | | | 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 | June McEnroe | 2019-10-31 | |
| | ||||
* | Remove client count FIXME | June McEnroe | 2019-10-30 | |
| | | | | This minor thing would take too much code convolution to do. | |||
* | Add option for ring size | June McEnroe | 2019-10-30 | |
| | ||||
* | Set away status upon connecting | June McEnroe | 2019-10-30 | |
| | ||||
* | Allocate ring buffer at runtime | June McEnroe | 2019-10-29 | |
| | ||||
* | Implement getopt_long-integrated configuration parsing | June McEnroe | 2019-10-29 | |
| | ||||
* | Lock save file | June McEnroe | 2019-10-28 | |
| | ||||
* | Add option to save and load ring contents across restarts | June McEnroe | 2019-10-28 | |
| | ||||
* | Add quit message option | June McEnroe | 2019-10-28 | |
| | ||||
* | Move entire login flow to state and reorganize it | June McEnroe | 2019-10-28 | |
| | ||||
* | Output ring info on SIGINFO | June McEnroe | 2019-10-27 | |
| | ||||
* | Reload certificate on SIGUSR1 | June McEnroe | 2019-10-27 | |
| | ||||
* | Explicitly tls_handshake new clients | June McEnroe | 2019-10-27 | |
| | | | | | This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately. | |||
* | Add undocumented flag to disable verification | June McEnroe | 2019-10-26 | |
| | ||||
* | Implement graceful shutdown | June McEnroe | 2019-10-26 | |
| | ||||
* | Track channel topics | June McEnroe | 2019-10-26 | |
| | ||||
* | Set AWAY when no clients are connected | June McEnroe | 2019-10-26 | |
| | ||||
* | Add flags to request TOPIC and NAMES on client connect | June McEnroe | 2019-10-26 | |
| | ||||
* | Allow reading sensitive information from files | June McEnroe | 2019-10-26 | |
| | ||||
* | Clean up event loop | June McEnroe | 2019-10-25 | |
| | ||||
* | Clean up listen API | June McEnroe | 2019-10-25 | |
| | ||||
* | Use produce/consume words for ring buffer | June McEnroe | 2019-10-25 | |
| | | | | To disambiguate clientRecv and clientRead, say clientConsume. | |||
* | Implement client reading from ring buffer | June McEnroe | 2019-10-25 | |
| | | | | It's still messy but it works!! | |||
* | Make serverFormat public | June McEnroe | 2019-10-24 | |
| | ||||
* | Rename some things | June McEnroe | 2019-10-24 | |
| | ||||
* | Implement some amount of client connection | June McEnroe | 2019-10-23 | |
| | ||||
* | Add verbose flag | June McEnroe | 2019-10-23 | |
| | ||||
* | Set an initial loop cap | June McEnroe | 2019-10-23 | |
| | ||||
* | Add dynamic poll list | June McEnroe | 2019-10-23 | |
| | ||||
* | Add state | June McEnroe | 2019-10-23 | |
| |