about summary refs log tree commit diff
path: root/server.c (unfollow)
Commit message (Collapse)Author
2020-08-01Define explicit_bzero using memset_s on macOSJune McEnroe
2020-08-01Use snprintf instead of strlcatJune McEnroe
2020-07-31Use snprintf instead of strlcpyJune McEnroe
2020-07-31Use RAND_bytes instead of arc4random_bufJune McEnroe
This adds an actual dependency on libcrypto, but removes a dependency on BSD (or LibreSSL libcrypto specifically).
2020-07-24Rewrite configure script for all platformsJune McEnroe
2020-07-24Don't use strlcpy in dispatchJune McEnroe
So that calico doesn't need any libs even on Linux.
2020-07-08Add link to "IRC Suite" post in READMEJune McEnroe
2020-07-06Add -R blind-req optionJune McEnroe
Allows requesting userhost-in-names on freenode, which is available but hidden.
2020-06-12Grant CAP_SETSOCKOPT in dispatch 1.3p1June 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-08Add additional permission for linking with LibreSSLJune McEnroe
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
2020-05-19Revert compression of man pages for installation 1.3June McEnroe
Better to leave this up to the packager to do, as FreeBSD ports does, for example.
2020-05-19Clarify or otherwise expand documentationJune McEnroe
2020-05-19Rewrite build and install to be more amenable to packagingJune McEnroe
Hopefully. Trying to write a FreeBSD port against this.
2020-05-18Add RUNDIR make variableJune McEnroe
2020-05-18Template rc scripts with %%PREFIX%%June McEnroe
The way that the ports tree does it.
2020-05-18Update email addressesJune McEnroe
2020-05-18Don't bother setting SO_NOSIGPIPEJune McEnroe
We need to ignore SIGPIPE anyway for other platforms.
2020-05-18Enable TCP keepalive with half-hour idleJune 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-11Add server send queueing with time intervalJune 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-11Pass -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-11Check signals after handling ready socketsJune 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-20Use . as ${LDLIBS.$@} separatorJune McEnroe
2020-04-02Use for loop for getopt in calico 1.2p1June McEnroe
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.