Commit message (Collapse) | Author | ||
---|---|---|---|
2020-07-31 | Use RAND_bytes instead of arc4random_buf | June McEnroe | |
This adds an actual dependency on libcrypto, but removes a dependency on BSD (or LibreSSL libcrypto specifically). | |||
2020-07-24 | Rewrite configure script for all platforms | June McEnroe | |
2020-07-24 | Don't use strlcpy in dispatch | June McEnroe | |
So that calico doesn't need any libs even on Linux. | |||
2020-07-08 | Add link to "IRC Suite" post in README | June McEnroe | |
2020-07-06 | Add -R blind-req option | June McEnroe | |
Allows requesting userhost-in-names on freenode, which is available but hidden. | |||
2020-06-12 | Grant CAP_SETSOCKOPT in dispatch 1.3p1 | June McEnroe | |
This fixes a major issue that somehow didn't surface until upgrading to FreeBSD 12.1-RELEASE-p6, where since calico doesn't grant the CAP_SETSOCKOPT capability on accepted sockets, pounce crashes trying to set keepalive on sockets on receives from it. | |||
2020-06-08 | Add additional permission for linking with LibreSSL | June McEnroe | |
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs | |||
2020-05-19 | Revert compression of man pages for installation 1.3 | June McEnroe | |
Better to leave this up to the packager to do, as FreeBSD ports does, for example. | |||
2020-05-19 | Clarify or otherwise expand documentation | June McEnroe | |
2020-05-19 | Rewrite build and install to be more amenable to packaging | June McEnroe | |
Hopefully. Trying to write a FreeBSD port against this. | |||
2020-05-18 | Add RUNDIR make variable | June McEnroe | |
2020-05-18 | Template rc scripts with %%PREFIX%% | June McEnroe | |
The way that the ports tree does it. | |||
2020-05-18 | Update email addresses | June McEnroe | |
2020-05-18 | Don't bother setting SO_NOSIGPIPE | June McEnroe | |
We need to ignore SIGPIPE anyway for other platforms. | |||
2020-05-18 | Enable TCP keepalive with half-hour idle | June McEnroe | |
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. | |||
2020-05-11 | Add server send queueing with time interval | June McEnroe | |
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. | |||
2020-05-11 | Pass -1 as backlog to listen(2) | June McEnroe | |
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. | |||
2020-05-11 | Check signals after handling ready sockets | June McEnroe | |
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. | |||
2020-04-20 | Use . as ${LDLIBS.$@} separator | June McEnroe | |
2020-04-02 | Use for loop for getopt in calico 1.2p1 | June McEnroe | |
2020-04-02 | Generate short option string from long options | June McEnroe | |
2020-04-02 | Do not crash on error from accept | June McEnroe | |
2020-04-02 | Do not crash on error from accept in calico | June McEnroe | |
2020-03-08 | Send ERR_NOMOTD during sync | June McEnroe | |
Some clients (Revolution) mistakenly believe they are not connected until a MOTD has been received. Sending this is harmless, I guess. | |||
2020-03-03 | Use one line for each CFLAGS addition 1.2 | June McEnroe | |
This should make it easier to modify if needed. | |||
2020-03-02 | Clean up configure script a bit | June McEnroe | |
I still hate that any of this is necessary... | |||
2020-03-01 | Replace .mk files with configure script | June McEnroe | |
Copied and expanded from catgirl. | |||
2020-02-27 | Advertise STS policy | June McEnroe | |
Duration is set to INT_MAX since pounce will never accept cleartext connections. | |||
2020-02-27 | Document the causal.agency/consumer vendor capability | June McEnroe | |
2020-02-27 | Set consumer pos with CAP REQ causal.agency/consumer=n | June 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-27 | Rename causal.agency/consumer tag causal.agency/pos | June McEnroe | |
2020-02-27 | Add 1 to consumer ID tags | June McEnroe | |
It should indicate the position after having seen the tagged message. | |||
2020-02-27 | Add causal.agency/consumer capability | June McEnroe | |
2020-02-27 | Re-sort STANDARDS section | June McEnroe | |
Authors in order listed on IRCv3. | |||
2020-02-27 | Send CAP LS 302 to the server | June McEnroe | |
2020-02-27 | Properly treat CAP LS version as a number | June McEnroe | |
2020-02-27 | Support CAP LS 302 from clients | June McEnroe | |
2020-02-27 | Support cap-notify | June McEnroe | |
2020-02-26 | Support setname | June McEnroe | |
2020-02-26 | Support labeled-response | June McEnroe | |
2020-02-26 | Support batch | June McEnroe | |
2020-02-26 | Support account-tag | June McEnroe | |
2020-02-26 | Clean up intercept tag skip | June McEnroe | |
"Tag skip" like it's a speedrun :3 | |||
2020-02-26 | Also skip the origin in wordcmp | June McEnroe | |
I think for some caps we need to filter messages without origins. | |||
2020-02-26 | Use %n for tags when formatting intercepted PRIVMSG/NOTICE | June McEnroe | |
2020-02-26 | Tweak buffer sizes | June 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-25 | Add time tag to lines missing it | June McEnroe | |
If a line was produced by another client, it won't have one from the server. | |||
2020-02-25 | Support message-tags | June McEnroe | |
2020-02-25 | Respond to tagged PINGs correctly | June McEnroe | |
Yikes. | |||
2020-02-25 | Request server-time from the server and filter tags for clients | June 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. |