about summary refs log tree commit diff
path: root/config.c (unfollow)
Commit message (Collapse)Author
2019-10-31Use explicit_bzero to clear passwordsJune McEnroe
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.
2019-10-31Send clients their own QUIT on shutdownJune McEnroe
2019-10-31Shrink client buffer sizeJune McEnroe
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.
2019-10-31Iterator over pollfds in reverseJune McEnroe
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.
2019-10-31Clear passwords from memory with memset_sJune McEnroe
2019-10-30Clean up cert path documentationJune McEnroe
2019-10-30Remove client count FIXMEJune McEnroe
This minor thing would take too much code convolution to do.
2019-10-30Preserve consumers ptr in realloc failureJune McEnroe
2019-10-30Add option for ring sizeJune McEnroe
2019-10-30Set away status upon connectingJune McEnroe
2019-10-30Add make target for localhost.crtJune McEnroe
Adapted from <https://letsencrypt.org/docs/certificates-for-localhost/>.
2019-10-30Warn when consumers drop messagesJune McEnroe
2019-10-29Allocate ring buffer at runtimeJune McEnroe
2019-10-29Do not duplicate origin on nick changeJune McEnroe
Oops!
2019-10-29Update self origin on nick changeJune McEnroe
2019-10-29Clarify some documentationJune McEnroe
2019-10-29Implement getopt_long-integrated configuration parsingJune McEnroe
2019-10-29Relay optional 5th RPL_MYINFO parameterJune McEnroe
2019-10-29Use ETCDIR variable for install targetJune McEnroe
2019-10-29Sort standards in manual pageJune McEnroe
2019-10-29Document lack of channel distinction caveatJune McEnroe
2019-10-28Lock save fileJune McEnroe
2019-10-28Add option to save and load ring contents across restartsJune McEnroe
2019-10-28Use "producer/consumer" consistently in ring codeJune McEnroe
2019-10-28Add quit message optionJune McEnroe
2019-10-28Specify when command is allowed in Handlers listJune McEnroe
2019-10-28Disallow PRIVMSG/NOTICE before registrationJune McEnroe
2019-10-28Move entire login flow to state and reorganize itJune McEnroe
2019-10-27Wait for SASL success before sending CAP ENDJune McEnroe
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...
2019-10-27Only increment consumer after successful sendJune McEnroe
2019-10-27Set SO_REUSEADDR on bindsJune McEnroe
2019-10-27Output ring info on SIGINFOJune McEnroe
2019-10-27Improve client/server error messagesJune McEnroe
2019-10-27Add reload cmd to rc scriptJune McEnroe
Using daemon(8) makes this way more awkward than it should be.
2019-10-27Reload certificate on SIGUSR1June McEnroe
2019-10-27Drop clients on zero-length readsJune McEnroe
2019-10-27Explicitly tls_handshake new clientsJune McEnroe
This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately.
2019-10-26Document rationaleJune McEnroe
2019-10-26Handle nick collisionJune McEnroe
2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe
2019-10-26Respond to PING with same parameterJune McEnroe
2019-10-26Add undocumented flag to disable verificationJune McEnroe
2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe
2019-10-26Implement graceful shutdownJune McEnroe
2019-10-26Require PASS before USERJune McEnroe
Prevent creating a ring consumer without authentication.
2019-10-26Track channel topicsJune McEnroe
2019-10-26Set AWAY when no clients are connectedJune McEnroe
2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe
2019-10-26OopsJune McEnroe
2019-10-26Disconnect client on unknown commandJune McEnroe
During registration, no other commands should be sent. Afterwards, only intercepted commands will get parsed.