Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | 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 |