summary refs log tree commit diff
path: root/chat.c
AgeCommit message (Collapse)Author
2020-11-24Split /exec lines by \r as well as \nC. McEnroe
This fixes local rendering of /exec toilet --irc, which outputs \r\n line endings.
2020-10-12Avoid eating C-c while connectingC. McEnroe
Split UI initialization into two steps either side of the call to connect, so that C-c works as interrupt while it's blocked.
2020-08-20Use configPath to load TLS cert/privC. McEnroe
2020-08-04Say "OpenSSL" in additional permission noticesC. McEnroe
LibreSSL is "a modified version of that library".
2020-06-24Bump ParamCap to 254C. McEnroe
Apparently IRCds have decided that the 15-parameter limit doesn't matter anymore. 254 is the maximum number of single-byte parameters (following a single-byte command) which fit in a 512-byte CR-LF-terminated line. When everyone decides that the 512-byte line length limit doesn't matter either, I will delete my software and people can use some JavaScript garbage instead. This makes struct Message 2080 bytes, but there's only ever one or two of them around at once. Avoid passing it by value to handle.
2020-06-08Add additional permission for linking with LibreSSLC. McEnroe
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
2020-05-18Revert "Send blank line after 10 minutes idle"C. McEnroe
This reverts commit 1d5c4a5e346f0a295818441eb37697be283130ec. This is fixed instead by pounce using TCP keepalive.
2020-04-02Use a for loop for getoptC. McEnroe
2020-04-02Generate short option string with a loopC. McEnroe
Also change the way option structs are initialized so that the array sorts the same way as the switch statement.
2020-03-31Add /ignore message filtering patternsC. McEnroe
2020-03-30Replace some declaration; while loops with for loopsC. McEnroe
I should have been using this for getopt loops already but the call here is slightly too long to fit on one line as a for loop.
2020-03-30Add text macrosC. McEnroe
2020-03-25Add logging functionsC. McEnroe
The mkdir dance is a bit awkward...
2020-03-23Assume worst case for unknown user and host in splitMessageC. McEnroe
The default USERLEN of 9 doesn't have a great source, the RFC only says that nicks are length 9, so my assumption is that usernames are not longer.
2020-03-17Send blank line after 10 minutes idleC. McEnroe
Without this, I was having catgirl "time out" from pounce's POV, but without catgirl noticing anything... I still don't understand this. Been using this fix for a couple weeks though and it stopped happening, and it's otherwise harmless, but yikes.
2020-02-16Various small cleanupsC. McEnroe
Haven't really gone through ui.c yet.
2020-02-15Set defaults for various types of modesC. McEnroe
These are actually from RFC 1459, since that seems to be the more likely lowest common denominator, so I should maybe it it to STANDARDS (along with ircdocs' section on ISUPPORT). RFC 2812 has a lot of stuff that isn't currently used.
2020-02-15Replace small integers in size_t with uintC. McEnroe
2020-02-15Separate network info from selfC. McEnroe
2020-02-13Add /execC. McEnroe
2020-02-13Rename procPipe to utilPipeC. McEnroe
2020-02-13Add -g for generating certificatesC. McEnroe
Copied from pounce.
2020-02-13Explicitly close the TLS connectionC. McEnroe
Just to be nice.
2020-02-12Add -N flag for notificationsC. McEnroe
2020-02-13Implement source address selectionmultiplexd
This commit adds a '-S' command line option and a "bind" configuration file option to specify the source address to bind to when connecting to the IRC server.
2020-02-12Allow for arguments to open/copy utilitiesC. McEnroe
2020-02-11Add -R restricted flagC. McEnroe
2020-02-11Add startup GPLv3 note and URLC. McEnroe
I am a degenerate.
2020-02-11Set self.nick to * initiallyC. McEnroe
Allows removing a bunch of checks that self.nick is set, and it's what the server usually calls you before registration. Never highlight notices as mentions.
2020-02-10Synthesize a QUIT message to handle on exitC. McEnroe
So that the end of a saved buffer contains the self quit.
2020-02-10Factor out XDG base directory codeC. McEnroe
And add warnings to configOpen, since that's the only way to be accurate if a weird error occurs.
2020-02-10Add -s to save and load buffersC. McEnroe
2020-02-10Add -HC. McEnroe
2020-02-09Add /helpC. McEnroe
Now with automatic search! Also had to fix the SIGCHLD handling...
2020-02-08Add /copyC. McEnroe
2020-02-08Allow overriding the /open utilityC. McEnroe
2020-02-08Set FDs CLOEXECC. McEnroe
2020-02-08Add procPipe for subprocessesC. McEnroe
2020-02-08Handle SIGCHLDC. McEnroe
2020-02-08Check signals after file descriptorsC. McEnroe
If a signal happens while processing an FD, it should be handled immediately, rather than waiting for another poll return.
2020-02-07Populate completion with commandsC. McEnroe
2020-02-06Search for cert and priv in config dirsC. McEnroe
2020-02-05Handle errors from getoptC. McEnroe
2020-02-05Use getopt_config to load optionsC. McEnroe
I'm really getting a lot of use out of this config.c huh.
2020-02-05Add /quitC. McEnroe
2020-02-05Fix SIGWINCH handlingC. McEnroe
curses is dumb.
2020-02-05Reflow text on window resizeC. McEnroe
2020-02-04Split showing style codes and word wrappingC. McEnroe
2020-02-04Only check revents if nfds > 0C. McEnroe
If an error occurs, poll leaves the array unmodified.
2020-02-04Handle signals in poll loopC. McEnroe