Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Declare globals as extern in headers, and define in source file | Michael Forney | 2019-11-21 | 1 | -5/+5 | |
| | | | | | | | | | | | | | | | 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. | |||||
* | Request NAMES on sync by default | C. McEnroe | 2019-11-15 | 1 | -1/+1 | |
| | | | | This inverts the meaning of -N! | |||||
* | Use struct timeval for sub-second precision | C. McEnroe | 2019-11-14 | 1 | -3/+3 | |
| | ||||||
* | Filter multi-prefix | C. McEnroe | 2019-11-14 | 1 | -0/+1 | |
| | ||||||
* | Filter userhost-in-names | C. McEnroe | 2019-11-11 | 1 | -0/+1 | |
| | | | | I really want to be writing tests for these functions... | |||||
* | Filter invite-notify | C. McEnroe | 2019-11-10 | 1 | -0/+2 | |
| | ||||||
* | Filter extended-join | C. McEnroe | 2019-11-10 | 1 | -0/+1 | |
| | ||||||
* | Rename listen to local | C. McEnroe | 2019-11-10 | 1 | -4/+4 | |
| | ||||||
* | Remove extended-join and invite-notify | C. McEnroe | 2019-11-09 | 1 | -2/+0 | |
| | | | | | | | | | | | | The remaining caps only generate new commands which can easily be filtered out when sending to clients so will be in the first pass of support. extended-join is probably safe to pass through unaltered, just causing extraneous parameters on JOIN commands, but maybe not. invite-notify reuses the INVITE command where the invited user is not self. | |||||
* | Maintain stateCaps and offer them to clients | C. McEnroe | 2019-11-09 | 1 | -0/+2 | |
| | ||||||
* | Parse capabilities | C. McEnroe | 2019-11-09 | 1 | -2/+53 | |
| | | | | | | The list that I've defined are the ones that I expect to be able to enable probably without any clients breaking... And of course server-time which pounce implements itself. | |||||
* | Avoid the reserved _A names with BIT macro | C. McEnroe | 2019-11-09 | 1 | -1/+1 | |
| | ||||||
* | Define macro for bit flag enums | C. McEnroe | 2019-11-09 | 1 | -0/+1 | |
| | ||||||
* | Only change AWAY status for registered clients | C. McEnroe | 2019-11-08 | 1 | -0/+1 | |
| | | | | | | Turns out I did eventually fix this, because I may want to implement "passive clients" for logging or notification stuff, which wouldn't affect AWAY status either. | |||||
* | Use #defines for constant strings | C. McEnroe | 2019-11-06 | 1 | -3/+3 | |
| | | | | | GCC hates declaring static consts in headers and not using them, for some stupid reason. | |||||
* | Define one CERTBOT_PATH rather than two format strings | C. McEnroe | 2019-11-06 | 1 | -6/+2 | |
| | ||||||
* | Change license to GPLv3 | C. McEnroe | 2019-11-06 | 1 | -4/+4 | |
| | | | | | | | | | | | | | | > 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 | C. McEnroe | 2019-11-06 | 1 | -5/+2 | |
| | ||||||
* | Implement SASL EXTERNAL | C. McEnroe | 2019-11-05 | 1 | -1/+1 | |
| | ||||||
* | Add options for TLS client certificate | C. McEnroe | 2019-11-04 | 1 | -1/+2 | |
| | ||||||
* | Zero PASS parameter | C. McEnroe | 2019-11-04 | 1 | -3/+3 | |
| | ||||||
* | Hash client passwords with crypt | C. McEnroe | 2019-11-04 | 1 | -3/+1 | |
| | ||||||
* | Move base64 to bounce.h | C. McEnroe | 2019-11-04 | 1 | -0/+32 | |
| | ||||||
* | Implement UNIX-domain binding | C. McEnroe | 2019-11-02 | 1 | -0/+1 | |
| | ||||||
* | Re-read cert and key from the same FILEs | Curtis McEnroe | 2019-11-01 | 1 | -1/+1 | |
| | ||||||
* | Use explicit_bzero to clear passwords | Curtis McEnroe | 2019-10-31 | 1 | -0/+5 | |
| | | | | | 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. | |||||
* | Allocate ring buffer at runtime | Curtis McEnroe | 2019-10-29 | 1 | -0/+1 | |
| | ||||||
* | Implement getopt_long-integrated configuration parsing | Curtis McEnroe | 2019-10-29 | 1 | -0/+6 | |
| | ||||||
* | Add option to save and load ring contents across restarts | Curtis McEnroe | 2019-10-28 | 1 | -0/+3 | |
| | ||||||
* | Move entire login flow to state and reorganize it | Curtis McEnroe | 2019-10-28 | 1 | -6/+7 | |
| | ||||||
* | Only increment consumer after successful send | Curtis McEnroe | 2019-10-27 | 1 | -0/+1 | |
| | ||||||
* | Output ring info on SIGINFO | Curtis McEnroe | 2019-10-27 | 1 | -0/+1 | |
| | ||||||
* | Add undocumented flag to disable verification | Curtis McEnroe | 2019-10-26 | 1 | -1/+1 | |
| | ||||||
* | Track channel topics | Curtis McEnroe | 2019-10-26 | 1 | -1/+0 | |
| | ||||||
* | Add flags to request TOPIC and NAMES on client connect | Curtis McEnroe | 2019-10-26 | 1 | -0/+2 | |
| | ||||||
* | Add AGPLv3 notice on client registration | Curtis McEnroe | 2019-10-25 | 1 | -0/+3 | |
| | | | | OwO | |||||
* | Send PRIVMSG and NOTICE to other clients | Curtis McEnroe | 2019-10-25 | 1 | -0/+1 | |
| | ||||||
* | Clean up listen API | Curtis McEnroe | 2019-10-25 | 1 | -1/+1 | |
| | ||||||
* | Use produce/consume words for ring buffer | Curtis McEnroe | 2019-10-25 | 1 | -5/+5 | |
| | | | | To disambiguate clientRecv and clientRead, say clientConsume. | |||||
* | Implement client reading from ring buffer | Curtis McEnroe | 2019-10-25 | 1 | -5/+7 | |
| | | | | It's still messy but it works!! | |||||
* | Implement ringDiff and ringRead | Curtis McEnroe | 2019-10-25 | 1 | -0/+3 | |
| | ||||||
* | Register readers by client usernames | Curtis McEnroe | 2019-10-24 | 1 | -0/+1 | |
| | ||||||
* | Implement ringWrite | Curtis McEnroe | 2019-10-24 | 1 | -0/+2 | |
| | ||||||
* | Make clientFormat public | Curtis McEnroe | 2019-10-24 | 1 | -0/+2 | |
| | ||||||
* | Make serverFormat public | Curtis McEnroe | 2019-10-24 | 1 | -2/+3 | |
| | ||||||
* | Rename some things | Curtis McEnroe | 2019-10-24 | 1 | -1/+1 | |
| | ||||||
* | Rename Command to Message | Curtis McEnroe | 2019-10-23 | 1 | -9/+9 | |
| | ||||||
* | Synchronize state after client registration | Curtis McEnroe | 2019-10-23 | 1 | -5/+7 | |
| | ||||||
* | Implement some amount of client connection | Curtis McEnroe | 2019-10-23 | 1 | -5/+3 | |
| | ||||||
* | Clean up state.c and factor out parsing | Curtis McEnroe | 2019-10-23 | 1 | -0/+24 | |
| |