summaryrefslogtreecommitdiff
path: root/bounce.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Re-read cert and key from the same FILEsCurtis McEnroe2019-11-011-2/+11
|
* Use capsicumCurtis McEnroe2019-11-011-0/+22
|
* Use explicit_bzero to clear passwordsCurtis McEnroe2019-10-311-5/+4
| | | | | 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 shutdownCurtis McEnroe2019-10-311-1/+4
|
* Iterator over pollfds in reverseCurtis McEnroe2019-10-311-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_sCurtis McEnroe2019-10-311-2/+7
|
* Remove client count FIXMECurtis McEnroe2019-10-301-2/+0
| | | | This minor thing would take too much code convolution to do.
* Add option for ring sizeCurtis McEnroe2019-10-301-3/+9
|
* Set away status upon connectingCurtis McEnroe2019-10-301-0/+1
|
* Allocate ring buffer at runtimeCurtis McEnroe2019-10-291-2/+2
|
* Implement getopt_long-integrated configuration parsingCurtis McEnroe2019-10-291-34/+36
|
* Lock save fileCurtis McEnroe2019-10-281-20/+29
|
* Add option to save and load ring contents across restartsCurtis McEnroe2019-10-281-1/+26
|
* Add quit message optionCurtis McEnroe2019-10-281-2/+4
|
* Move entire login flow to state and reorganize itCurtis McEnroe2019-10-281-1/+1
|
* Output ring info on SIGINFOCurtis McEnroe2019-10-271-0/+9
|
* Reload certificate on SIGUSR1Curtis McEnroe2019-10-271-1/+7
|
* Explicitly tls_handshake new clientsCurtis McEnroe2019-10-271-4/+11
| | | | | This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately.
* Add undocumented flag to disable verificationCurtis McEnroe2019-10-261-2/+4
|
* Implement graceful shutdownCurtis McEnroe2019-10-261-2/+27
|
* Track channel topicsCurtis McEnroe2019-10-261-2/+1
|
* Set AWAY when no clients are connectedCurtis McEnroe2019-10-261-2/+6
|
* Add flags to request TOPIC and NAMES on client connectCurtis McEnroe2019-10-261-1/+3
|
* Allow reading sensitive information from filesCurtis McEnroe2019-10-261-8/+22
|
* Clean up event loopCurtis McEnroe2019-10-251-9/+15
|
* Clean up listen APICurtis McEnroe2019-10-251-2/+2
|
* Use produce/consume words for ring bufferCurtis McEnroe2019-10-251-1/+1
| | | | To disambiguate clientRecv and clientRead, say clientConsume.
* Implement client reading from ring bufferCurtis McEnroe2019-10-251-9/+22
| | | | It's still messy but it works!!
* Make serverFormat publicCurtis McEnroe2019-10-241-1/+1
|
* Rename some thingsCurtis McEnroe2019-10-241-37/+36
|
* Implement some amount of client connectionCurtis McEnroe2019-10-231-9/+14
|
* Add verbose flagCurtis McEnroe2019-10-231-1/+2
|
* Set an initial loop capCurtis McEnroe2019-10-231-3/+3
|
* Add dynamic poll listCurtis McEnroe2019-10-231-12/+43
|
* Add stateCurtis McEnroe2019-10-231-1/+5
|
* Implement serverLoginCurtis McEnroe2019-10-221-0/+10
|
* Rename bouncer to bounceCurtis McEnroe2019-10-221-0/+108