summary refs log tree commit diff
path: root/client.c (unfollow)
Commit message (Collapse)Author
2020-04-02Generate short option string from long optionsJune McEnroe
2020-04-02Do not crash on error from acceptJune McEnroe
2020-04-02Do not crash on error from accept in calicoJune McEnroe
2020-03-08Send ERR_NOMOTD during syncJune McEnroe
Some clients (Revolution) mistakenly believe they are not connected until a MOTD has been received. Sending this is harmless, I guess.
2020-03-03Use one line for each CFLAGS addition 1.2June McEnroe
This should make it easier to modify if needed.
2020-03-02Clean up configure script a bitJune McEnroe
I still hate that any of this is necessary...
2020-03-01Replace .mk files with configure scriptJune McEnroe
Copied and expanded from catgirl.
2020-02-27Advertise STS policyJune McEnroe
Duration is set to INT_MAX since pounce will never accept cleartext connections.
2020-02-27Document the causal.agency/consumer vendor capabilityJune McEnroe
2020-02-27Set consumer pos with CAP REQ causal.agency/consumer=nJune McEnroe
So the spec doesn't say I can use cap values in CAP REQ. But it also doesn't explicitly say I can't.
2020-02-27Rename causal.agency/consumer tag causal.agency/posJune McEnroe
2020-02-27Add 1 to consumer ID tagsJune McEnroe
It should indicate the position after having seen the tagged message.
2020-02-27Add causal.agency/consumer capabilityJune McEnroe
2020-02-27Re-sort STANDARDS sectionJune McEnroe
Authors in order listed on IRCv3.
2020-02-27Send CAP LS 302 to the serverJune McEnroe
2020-02-27Properly treat CAP LS version as a numberJune McEnroe
2020-02-27Support CAP LS 302 from clientsJune McEnroe
2020-02-27Support cap-notifyJune McEnroe
2020-02-26Support setnameJune McEnroe
2020-02-26Support labeled-responseJune McEnroe
2020-02-26Support batchJune McEnroe
2020-02-26Support account-tagJune McEnroe
2020-02-26Clean up intercept tag skipJune McEnroe
"Tag skip" like it's a speedrun :3
2020-02-26Also skip the origin in wordcmpJune McEnroe
I think for some caps we need to filter messages without origins.
2020-02-26Use %n for tags when formatting intercepted PRIVMSG/NOTICEJune McEnroe
2020-02-26Tweak buffer sizesJune McEnroe
Filter functions are dealing with lines not including CRLF, so they already have extra space. serverFormat is using snprintf which wants to always write a NUL at the end of the string.
2020-02-25Add time tag to lines missing itJune McEnroe
If a line was produced by another client, it won't have one from the server.
2020-02-25Support message-tagsJune McEnroe
2020-02-25Respond to tagged PINGs correctlyJune McEnroe
Yikes.
2020-02-25Request server-time from the server and filter tags for clientsJune McEnroe
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.
2020-02-25Bump buffer sizes to allow for tagsJune McEnroe
I still think this limit is unreasonably large in comparison to 512 for the actual message.
2020-02-18Remove bad assertJune McEnroe
If there's no room left in the buffer, tls_read will return 0 (since we gave it zero length to read into) and cause client->error to be set.
2020-02-18Implement source address selectionmultiplexd
This commit introduces a '-S' command line option and a "bind" configuration file option for selecting the source address when making outbound TCP connections (similar to the corresponding option in catgirl(1)).
2020-01-17Use Xr for the first "pounce" in README 1.1June McEnroe
2020-01-17Add litterbox to READMEJune McEnroe
2020-01-17Rename SASL EXTERNAL section to CertFPJune McEnroe
2020-01-17Document process of generating client certificatesJune McEnroe
2020-01-16Set certificate expiry to 10 yearsJune McEnroe
I'm pretty sure any kind of "renewing" of these is going to suck, so just set it long enough that the world will probably be ash by then.
2020-01-12Allow signing by CA in -gJune McEnroe
2020-01-12Clean up documentation for -AJune McEnroe
2020-01-12Rename all local-related options to local-June McEnroe
This disambiguates client-ca and client-pass from client-cert and client-key, which apply to opposite sides of the program. The old option names will continue to work.
2020-01-12Use the CAP_PREAD rightJune McEnroe
Required for the rewind call when loading the CA.
2020-01-12Add option to set local client CAJune McEnroe
This is a little bit messy. Allows setting either -A or -W or both. Implements SASL EXTERNAL for clients that expect that when connecting with a client certificate. Need to test that reloading still works inside capsicum, since I suspect that rewind call may be blocked.
2020-01-10Add a vendor capability for passive clientsJune McEnroe
This way things like litterbox can do it automatically without having to be configured with a hyphen-prefixed username, which is usually invalid anywhere else.
2020-01-07Rename -A and -Q to -y and -qJune McEnroe
The other upper-case options are related to the listening side of things, not the server side, so this is more consistent. This is incompatible, but will fail loudly, and I expect these options are more likely set in a configuration file, if they are set at all. I also want to free up -A for setting a client CA, but assuming your away message is not also an existing file path, that will continue to fail loudly.
2019-12-28Intercept client QUIT with no parameter 1.0p3June McEnroe
Oops! Clients could get pounce to quit if they didn't send a message.
2019-12-24Update source URLJune McEnroe
Oops, thought I did this already.
2019-12-22Exit on zero-length server readJune McEnroe
2019-12-22Revert "Exit when server gets POLLHUP"June McEnroe
Turns out the more likely thing is that the fd will just continue to be POLLIN and produce zero-length reads. This reverts commit 5707b15920a1ce57f01db0d592487d833218be9d.
2019-12-20Exit when server gets POLLHUPJune McEnroe
This should maybe gracefully inform clients of what happened, but for now this is much better than the infinite poll loop that happened previously.