Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Request server-time from the server and filter tags for clients | June McEnroe | 2020-02-25 |
| | | | | | | | | This doesn't yet, but it will break the "robustness principle" according to which a server "SHOULD NOT" assume that a client capable of parsing one tag is capable of parsing all tags. In future, TagCaps will have all other caps that use tags ORed into it, and only if the client supports none of them will tags be filtered out. | ||
* | Declare globals as extern in headers, and define in source file | Michael Forney | 2019-11-21 |
| | | | | | | | | | | | | | | | Otherwise, each source file that includes the header gets its own definition, and according to the C standard (C99 6.9p5): > If an identifier declared with external linkage is used in an > expression (other than as part of the operand of a sizeof operator > whose result is an integer constant), somewhere in the entire > program there shall be exactly one external definition for the > identifier Most compilers use the .bss section for zero data, but if it uses .data instead, or if -Wl,--warn-common is used, this will cause a linking error. | ||
* | Zero temporary SASL PLAIN buffer | June McEnroe | 2019-11-21 |
| | |||
* | Use a static buffer for plainBase64 | June McEnroe | 2019-11-21 |
| | |||
* | Use a fixed buffer size for SASL PLAIN authentication | Michael Forney | 2019-11-21 |
| | | | | | | | handleAuthenticate only sends a single AUTHENTICATE message, so according to https://ircv3.net/specs/extensions/sasl-3.1.html, its maximum length is 399. So, we know that the authentication string can be at most 299 bytes. | ||
* | Request NAMES on sync by default | June McEnroe | 2019-11-15 |
| | | | | This inverts the meaning of -N! | ||
* | Filter invite-notify | June McEnroe | 2019-11-10 |
| | |||
* | Request all supported caps from server | June McEnroe | 2019-11-10 |
| | |||
* | Maintain stateCaps and offer them to clients | June McEnroe | 2019-11-09 |
| | |||
* | Use #defines for constant strings | June McEnroe | 2019-11-06 |
| | | | | | GCC hates declaring static consts in headers and not using them, for some stupid reason. | ||
* | Change license to GPLv3 | June McEnroe | 2019-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. | ||
* | Use explicit_bzero from LibreSSL | June McEnroe | 2019-11-06 |
| | |||
* | Implement SASL EXTERNAL | June McEnroe | 2019-11-05 |
| | |||
* | Hash client passwords with crypt | June McEnroe | 2019-11-04 |
| | |||
* | Move base64 to bounce.h | 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. | ||
* | Clear passwords from memory with memset_s | June McEnroe | 2019-10-31 |
| | |||
* | Do not duplicate origin on nick change | June McEnroe | 2019-10-29 |
| | | | | Oops! | ||
* | Update self origin on nick change | June McEnroe | 2019-10-29 |
| | |||
* | Relay optional 5th RPL_MYINFO parameter | June McEnroe | 2019-10-29 |
| | |||
* | Move entire login flow to state and reorganize it | June McEnroe | 2019-10-28 |
| | |||
* | Wait for SASL success before sending CAP END | June McEnroe | 2019-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... | ||
* | Handle nick collision | June McEnroe | 2019-10-26 |
| | |||
* | Wait for AUTHENTICATE + from server | June McEnroe | 2019-10-26 |
| | |||
* | Do not require RPL_ISUPPORT for stateReady | June McEnroe | 2019-10-26 |
| | |||
* | Track channel topics | June McEnroe | 2019-10-26 |
| | |||
* | Add flags to request TOPIC and NAMES on client connect | June McEnroe | 2019-10-26 |
| | |||
* | 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 state | June McEnroe | 2019-10-25 |
| | |||
* | Make clientFormat public | June McEnroe | 2019-10-24 |
| | |||
* | Track own origin | June McEnroe | 2019-10-23 |
| | |||
* | Track channels and sync ISUPPORT | June McEnroe | 2019-10-23 |
| | |||
* | Track nick changes | June McEnroe | 2019-10-23 |
| | |||
* | Rename Command to Message | June McEnroe | 2019-10-23 |
| | |||
* | Synchronize state after client registration | June McEnroe | 2019-10-23 |
| | |||
* | Clean up state.c and factor out parsing | June McEnroe | 2019-10-23 |
| | |||
* | Fix rest parsing | June McEnroe | 2019-10-23 |
| | |||
* | Don't assume commands have targets and handle ERROR | June McEnroe | 2019-10-23 |
| | |||
* | Clean up state somewhat | June McEnroe | 2019-10-23 |
| | |||
* | Add state | June McEnroe | 2019-10-23 |