Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | Zero PASS parameter | June McEnroe | 2019-11-04 | |
| | ||||
* | Hash client passwords with crypt | June McEnroe | 2019-11-04 | |
| | ||||
* | 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. | |||
* | Shrink client buffer size | June McEnroe | 2019-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. | |||
* | Specify when command is allowed in Handlers list | June McEnroe | 2019-10-28 | |
| | ||||
* | Disallow PRIVMSG/NOTICE before registration | June McEnroe | 2019-10-28 | |
| | ||||
* | Move entire login flow to state and reorganize it | June McEnroe | 2019-10-28 | |
| | ||||
* | Only increment consumer after successful send | June McEnroe | 2019-10-27 | |
| | ||||
* | Improve client/server error messages | June McEnroe | 2019-10-27 | |
| | ||||
* | Drop clients on zero-length reads | June McEnroe | 2019-10-27 | |
| | ||||
* | Require PASS before USER | June McEnroe | 2019-10-26 | |
| | | | | Prevent creating a ring consumer without authentication. | |||
* | Oops | June McEnroe | 2019-10-26 | |
| | ||||
* | Disconnect client on unknown command | June McEnroe | 2019-10-26 | |
| | | | | | During registration, no other commands should be sent. Afterwards, only intercepted commands will get parsed. | |||
* | Add AGPLv3 notice on client registration | June McEnroe | 2019-10-25 | |
| | | | | OwO | |||
* | Send PRIVMSG and NOTICE to other clients | June McEnroe | 2019-10-25 | |
| | ||||
* | Clean up client | 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!! | |||
* | Zero entire Client struct | June McEnroe | 2019-10-24 | |
| | | | | | Does zeroing that extra 4K really matter? I'd rather not have uninitialized reads. | |||
* | Register readers by client usernames | June McEnroe | 2019-10-24 | |
| | ||||
* | Unset non-blocking on clients | June McEnroe | 2019-10-24 | |
| | | | | | I figure I'll actually use POLLOUT on clients so should never have issues. | |||
* | Intercept client QUIT | June McEnroe | 2019-10-24 | |
| | ||||
* | Only set NeedCapEnd if unregistered | June McEnroe | 2019-10-24 | |
| | ||||
* | Set client-side origin to irc.invalid | June McEnroe | 2019-10-24 | |
| | ||||
* | Factor out client-side origin name | June McEnroe | 2019-10-24 | |
| | ||||
* | Intercept all CAP commands from clients | June McEnroe | 2019-10-24 | |
| | ||||
* | Ignore further CAP END | June McEnroe | 2019-10-24 | |
| | ||||
* | Implement client CAP for server-time | June McEnroe | 2019-10-24 | |
| | ||||
* | Make clientFormat public | June McEnroe | 2019-10-24 | |
| | ||||
* | Rename some things | June McEnroe | 2019-10-24 | |
| | ||||
* | Rename Command to Message | June McEnroe | 2019-10-23 | |
| | ||||
* | Synchronize state after client registration | June McEnroe | 2019-10-23 | |
| | ||||
* | Send to server if client has no needs | June McEnroe | 2019-10-23 | |
| | ||||
* | Implement some amount of client connection | June McEnroe | 2019-10-23 | |
| | ||||
* | Add dynamic poll list | June McEnroe | 2019-10-23 | |