about summary refs log tree commit diff
Commit message (Collapse)AuthorAge
...
* Enable TCP keepalive with half-hour idleJune McEnroe2020-05-18
| | | | | | Since we swallow IRC PINGs, a client connection can go hours idle on a quiet network. On my home internet, at least, these connections seem to get silently dropped.
* Add server send queueing with time intervalJune McEnroe2020-05-11
| | | | | | | | | This addresses pounce getting killed with "Excess flood" when it sends NAMES commands for too many channels when a client connects. These commands, as well as automatic AWAY commands, are by default throttled to 5 per second. Tested on freenode with 36 channels and 200ms interval.
* Pass -1 as backlog to listen(2)June McEnroe2020-05-11
| | | | | | There seems to be no guidance on how an application should set this parameter. However, every system I've looked at will limit the value to some default maximum, usually 128.
* Check signals after handling ready socketsJune McEnroe2020-05-11
| | | | | | | In the case where a signal arrives while handling a ready socket, it should be handled as soon as possible, rather than waiting for poll to return again. Signals will still be handled immediately if poll returns -1 due to EINTR.
* Use . as ${LDLIBS.$@} separatorJune McEnroe2020-04-20
|
* Use for loop for getopt in calico 1.2p1June McEnroe2020-04-02
|
* Generate short option string from long optionsJune McEnroe2020-04-02
|
* Do not crash on error from acceptJune McEnroe2020-04-02
|
* Do not crash on error from accept in calicoJune McEnroe2020-04-02
|
* Send ERR_NOMOTD during syncJune McEnroe2020-03-08
| | | | | Some clients (Revolution) mistakenly believe they are not connected until a MOTD has been received. Sending this is harmless, I guess.
* Use one line for each CFLAGS addition 1.2June McEnroe2020-03-03
| | | | This should make it easier to modify if needed.
* Clean up configure script a bitJune McEnroe2020-03-02
| | | | I still hate that any of this is necessary...
* Replace .mk files with configure scriptJune McEnroe2020-03-01
| | | | Copied and expanded from catgirl.
* Advertise STS policyJune McEnroe2020-02-27
| | | | | Duration is set to INT_MAX since pounce will never accept cleartext connections.
* Document the causal.agency/consumer vendor capabilityJune McEnroe2020-02-27
|
* Set consumer pos with CAP REQ causal.agency/consumer=nJune McEnroe2020-02-27
| | | | | So the spec doesn't say I can use cap values in CAP REQ. But it also doesn't explicitly say I can't.
* Rename causal.agency/consumer tag causal.agency/posJune McEnroe2020-02-27
|
* Add 1 to consumer ID tagsJune McEnroe2020-02-27
| | | | It should indicate the position after having seen the tagged message.
* Add causal.agency/consumer capabilityJune McEnroe2020-02-27
|
* Re-sort STANDARDS sectionJune McEnroe2020-02-27
| | | | Authors in order listed on IRCv3.
* Send CAP LS 302 to the serverJune McEnroe2020-02-27
|
* Properly treat CAP LS version as a numberJune McEnroe2020-02-27
|
* Support CAP LS 302 from clientsJune McEnroe2020-02-27
|
* Support cap-notifyJune McEnroe2020-02-27
|
* Support setnameJune McEnroe2020-02-26
|
* Support labeled-responseJune McEnroe2020-02-26
|
* Support batchJune McEnroe2020-02-26
|
* Support account-tagJune McEnroe2020-02-26
|
* Clean up intercept tag skipJune McEnroe2020-02-26
| | | | "Tag skip" like it's a speedrun :3
* Also skip the origin in wordcmpJune McEnroe2020-02-26
| | | | I think for some caps we need to filter messages without origins.
* Use %n for tags when formatting intercepted PRIVMSG/NOTICEJune McEnroe2020-02-26
|
* Tweak buffer sizesJune McEnroe2020-02-26
| | | | | | 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.
* Add time tag to lines missing itJune McEnroe2020-02-25
| | | | | If a line was produced by another client, it won't have one from the server.
* Support message-tagsJune McEnroe2020-02-25
|
* Respond to tagged PINGs correctlyJune McEnroe2020-02-25
| | | | Yikes.
* Request server-time from the server and filter tags for clientsJune McEnroe2020-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.
* Bump buffer sizes to allow for tagsJune McEnroe2020-02-25
| | | | | I still think this limit is unreasonably large in comparison to 512 for the actual message.
* Remove bad assertJune McEnroe2020-02-18
| | | | | 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.
* Implement source address selectionmultiplexd2020-02-18
| | | | | | 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)).
* Use Xr for the first "pounce" in README 1.1June McEnroe2020-01-17
|
* Add litterbox to READMEJune McEnroe2020-01-17
|
* Rename SASL EXTERNAL section to CertFPJune McEnroe2020-01-17
|
* Document process of generating client certificatesJune McEnroe2020-01-17
|
* Set certificate expiry to 10 yearsJune McEnroe2020-01-16
| | | | | 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.
* Allow signing by CA in -gJune McEnroe2020-01-12
|
* Clean up documentation for -AJune McEnroe2020-01-12
|
* Rename all local-related options to local-June McEnroe2020-01-12
| | | | | | | 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.
* Use the CAP_PREAD rightJune McEnroe2020-01-12
| | | | Required for the rewind call when loading the CA.
* Add option to set local client CAJune McEnroe2020-01-12
| | | | | | | | | 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.
* Add a vendor capability for passive clientsJune McEnroe2020-01-10
| | | | | | 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.