summary refs log tree commit diff
path: root/bounce.c (follow)
Commit message (Collapse)AuthorAge
* Change license to GPLv3June McEnroe2019-11-06
| | | | | | | | | | | | | | > Notwithstanding any other provision of this License, if you modify the > Program, your modified version must prominently offer all users > interacting with it remotely through a computer network (if your version > supports such interaction) an opportunity to receive the Corresponding > Source of your version by providing access to the Corresponding Source > from a network server at no charge, through some standard or customary > means of facilitating copying of software. This potentially means that every freenode user, for example, is interacting with this software, and offering the corresponding source to each of them is an unreasonable burden.
* Add flag to generate a client certificateJune McEnroe2019-11-06
| | | | | This is essentially the command freenode tells you to run: <https://freenode.net/kb/answer/certfp>.
* Use explicit_bzero from LibreSSLJune McEnroe2019-11-06
|
* Clean up bounce.cJune McEnroe2019-11-05
|
* Use "priv" instead of "key" in optionsJune McEnroe2019-11-05
| | | | Let all words be four letter words.
* Use arc4random_bufJune McEnroe2019-11-05
|
* Implement SASL EXTERNALJune McEnroe2019-11-05
|
* Add options for TLS client certificateJune McEnroe2019-11-04
|
* Hash client passwords with cryptJune McEnroe2019-11-04
|
* Rename bind-unix to bind-pathJune McEnroe2019-11-03
|
* Append bindHost to bindPath if it is a directoryJune McEnroe2019-11-03
|
* Fix trying to cap_rights_limit a NULL saveFileJune McEnroe2019-11-02
|
* Implement UNIX-domain bindingJune McEnroe2019-11-02
|
* Limit saveFile to CAP_WRITEJune McEnroe2019-11-01
|
* Implement capsicum workaround for certbotJune McEnroe2019-11-01
|
* Reload certificates using openatJune McEnroe2019-11-01
| | | | | This is more versatile since files are more likely to be replaced than overwritten.
* Re-read cert and key from the same FILEsJune McEnroe2019-11-01
|
* Use capsicumJune McEnroe2019-11-01
|
* Use explicit_bzero to clear passwordsJune McEnroe2019-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 shutdownJune McEnroe2019-10-31
|
* Iterator over pollfds in reverseJune McEnroe2019-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_sJune McEnroe2019-10-31
|
* Remove client count FIXMEJune McEnroe2019-10-30
| | | | This minor thing would take too much code convolution to do.
* Add option for ring sizeJune McEnroe2019-10-30
|
* Set away status upon connectingJune McEnroe2019-10-30
|
* Allocate ring buffer at runtimeJune McEnroe2019-10-29
|
* Implement getopt_long-integrated configuration parsingJune McEnroe2019-10-29
|
* Lock save fileJune McEnroe2019-10-28
|
* Add option to save and load ring contents across restartsJune McEnroe2019-10-28
|
* Add quit message optionJune McEnroe2019-10-28
|
* Move entire login flow to state and reorganize itJune McEnroe2019-10-28
|
* Output ring info on SIGINFOJune McEnroe2019-10-27
|
* Reload certificate on SIGUSR1June McEnroe2019-10-27
|
* Explicitly tls_handshake new clientsJune McEnroe2019-10-27
| | | | | This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately.
* Add undocumented flag to disable verificationJune McEnroe2019-10-26
|
* Implement graceful shutdownJune McEnroe2019-10-26
|
* Track channel topicsJune McEnroe2019-10-26
|
* Set AWAY when no clients are connectedJune McEnroe2019-10-26
|
* Add flags to request TOPIC and NAMES on client connectJune McEnroe2019-10-26
|
* Allow reading sensitive information from filesJune McEnroe2019-10-26
|
* Clean up event loopJune McEnroe2019-10-25
|
* Clean up listen APIJune McEnroe2019-10-25
|
* Use produce/consume words for ring bufferJune McEnroe2019-10-25
| | | | To disambiguate clientRecv and clientRead, say clientConsume.
* Implement client reading from ring bufferJune McEnroe2019-10-25
| | | | It's still messy but it works!!
* Make serverFormat publicJune McEnroe2019-10-24
|
* Rename some thingsJune McEnroe2019-10-24
|
* Implement some amount of client connectionJune McEnroe2019-10-23
|
* Add verbose flagJune McEnroe2019-10-23
|
* Set an initial loop capJune McEnroe2019-10-23
|
* Add dynamic poll listJune McEnroe2019-10-23
|