summary refs log tree commit diff
Commit message (Collapse)AuthorAge
* 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
|
* Shrink client buffer sizeJune McEnroe2019-10-31
| | | | | | | 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 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
|
* Clean up cert path documentationJune McEnroe2019-10-30
|
* Remove client count FIXMEJune McEnroe2019-10-30
| | | | This minor thing would take too much code convolution to do.
* Preserve consumers ptr in realloc failureJune McEnroe2019-10-30
|
* Add option for ring sizeJune McEnroe2019-10-30
|
* Set away status upon connectingJune McEnroe2019-10-30
|
* Add make target for localhost.crtJune McEnroe2019-10-30
| | | | Adapted from <https://letsencrypt.org/docs/certificates-for-localhost/>.
* Warn when consumers drop messagesJune McEnroe2019-10-30
|
* Allocate ring buffer at runtimeJune McEnroe2019-10-29
|
* Do not duplicate origin on nick changeJune McEnroe2019-10-29
| | | | Oops!
* Update self origin on nick changeJune McEnroe2019-10-29
|
* Clarify some documentationJune McEnroe2019-10-29
|
* Implement getopt_long-integrated configuration parsingJune McEnroe2019-10-29
|
* Relay optional 5th RPL_MYINFO parameterJune McEnroe2019-10-29
|
* Use ETCDIR variable for install targetJune McEnroe2019-10-29
|
* Sort standards in manual pageJune McEnroe2019-10-29
|
* Document lack of channel distinction caveatJune McEnroe2019-10-29
|
* Lock save fileJune McEnroe2019-10-28
|
* Add option to save and load ring contents across restartsJune McEnroe2019-10-28
|
* Use "producer/consumer" consistently in ring codeJune McEnroe2019-10-28
|
* Add quit message optionJune McEnroe2019-10-28
|
* Specify when command is allowed in Handlers listJune McEnroe2019-10-28
|
* Disallow PRIVMSG/NOTICE before registrationJune McEnroe2019-10-28
|
* Move entire login flow to state and reorganize itJune McEnroe2019-10-28
|
* Wait for SASL success before sending CAP ENDJune McEnroe2019-10-27
| | | | | | | 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 sendJune McEnroe2019-10-27
|
* Set SO_REUSEADDR on bindsJune McEnroe2019-10-27
|
* Output ring info on SIGINFOJune McEnroe2019-10-27
|
* Improve client/server error messagesJune McEnroe2019-10-27
|
* Add reload cmd to rc scriptJune McEnroe2019-10-27
| | | | Using daemon(8) makes this way more awkward than it should be.
* Reload certificate on SIGUSR1June McEnroe2019-10-27
|
* Drop clients on zero-length readsJune 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.
* Document rationaleJune McEnroe2019-10-26
|
* Handle nick collisionJune McEnroe2019-10-26
|
* Wait for AUTHENTICATE + from serverJune McEnroe2019-10-26
|
* Respond to PING with same parameterJune McEnroe2019-10-26
|
* Add undocumented flag to disable verificationJune McEnroe2019-10-26
|
* Do not require RPL_ISUPPORT for stateReadyJune McEnroe2019-10-26
|
* Implement graceful shutdownJune McEnroe2019-10-26
|
* Require PASS before USERJune McEnroe2019-10-26
| | | | Prevent creating a ring consumer without authentication.
* 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
|