summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert compression of man pages for installationC. McEnroe2020-05-192-7/+3
| | | | | Better to leave this up to the packager to do, as FreeBSD ports does, for example.
* Clarify or otherwise expand documentationC. McEnroe2020-05-192-78/+134
|
* Rewrite build and install to be more amenable to packagingC. McEnroe2020-05-194-69/+58
| | | | Hopefully. Trying to write a FreeBSD port against this.
* Add RUNDIR make variableC. McEnroe2020-05-181-1/+2
|
* Template rc scripts with %%PREFIX%%C. McEnroe2020-05-184-5/+12
| | | | The way that the ports tree does it.
* Update email addressesC. McEnroe2020-05-183-7/+7
|
* Don't bother setting SO_NOSIGPIPEC. McEnroe2020-05-184-22/+3
| | | | We need to ignore SIGPIPE anyway for other platforms.
* Enable TCP keepalive with half-hour idleC. McEnroe2020-05-182-0/+12
| | | | | | 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 intervalC. McEnroe2020-05-116-6/+79
| | | | | | | | | 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)C. McEnroe2020-05-112-2/+2
| | | | | | 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 socketsC. McEnroe2020-05-111-24/+24
| | | | | | | 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.$@} separatorC. McEnroe2020-04-202-2/+2
|
* Use for loop for getopt in calicoC. McEnroe2020-04-021-2/+1
|
* Generate short option string from long optionsC. McEnroe2020-04-021-40/+45
|
* Do not crash on error from acceptC. McEnroe2020-04-022-1/+6
|
* Do not crash on error from accept in calicoC. McEnroe2020-04-021-1/+4
|
* Send ERR_NOMOTD during syncC. McEnroe2020-03-081-0/+5
| | | | | 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 additionC. McEnroe2020-03-031-1/+2
| | | | This should make it easier to modify if needed.
* Clean up configure script a bitC. McEnroe2020-03-021-19/+20
| | | | I still hate that any of this is necessary...
* Replace .mk files with configure scriptC. McEnroe2020-03-017-37/+80
| | | | Copied and expanded from catgirl.
* Advertise STS policyC. McEnroe2020-02-275-5/+28
| | | | | Duration is set to INT_MAX since pounce will never accept cleartext connections.
* Document the causal.agency/consumer vendor capabilityC. McEnroe2020-02-271-0/+50
|
* Set consumer pos with CAP REQ causal.agency/consumer=nC. McEnroe2020-02-273-1/+12
| | | | | 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/posC. McEnroe2020-02-271-2/+2
|
* Add 1 to consumer ID tagsC. McEnroe2020-02-271-2/+2
| | | | It should indicate the position after having seen the tagged message.
* Add causal.agency/consumer capabilityC. McEnroe2020-02-273-3/+19
|
* Re-sort STANDARDS sectionC. McEnroe2020-02-271-37/+30
| | | | Authors in order listed on IRCv3.
* Send CAP LS 302 to the serverC. McEnroe2020-02-273-6/+12
|
* Properly treat CAP LS version as a numberC. McEnroe2020-02-271-1/+3
|
* Support CAP LS 302 from clientsC. McEnroe2020-02-274-11/+32
|
* Support cap-notifyC. McEnroe2020-02-274-3/+16
|
* Support setnameC. McEnroe2020-02-263-0/+7
|
* Support labeled-responseC. McEnroe2020-02-263-1/+12
|
* Support batchC. McEnroe2020-02-263-1/+8
|
* Support account-tagC. McEnroe2020-02-262-2/+4
|
* Clean up intercept tag skipC. McEnroe2020-02-261-4/+2
| | | | "Tag skip" like it's a speedrun :3
* Also skip the origin in wordcmpC. McEnroe2020-02-261-13/+17
| | | | I think for some caps we need to filter messages without origins.
* Use %n for tags when formatting intercepted PRIVMSG/NOTICEC. McEnroe2020-02-261-12/+8
|
* Tweak buffer sizesC. McEnroe2020-02-262-4/+4
| | | | | | 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 itC. McEnroe2020-02-251-1/+11
| | | | | If a line was produced by another client, it won't have one from the server.
* Support message-tagsC. McEnroe2020-02-254-7/+53
|
* Respond to tagged PINGs correctlyC. McEnroe2020-02-251-2/+7
| | | | Yikes.
* Request server-time from the server and filter tags for clientsC. McEnroe2020-02-254-5/+24
| | | | | | | | 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 tagsC. McEnroe2020-02-253-6/+8
| | | | | I still think this limit is unreasonably large in comparison to 512 for the actual message.
* Remove bad assertC. McEnroe2020-02-181-1/+0
| | | | | 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-184-9/+43
| | | | | | 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 READMEC. McEnroe2020-01-171-1/+1
|
* Add litterbox to READMEC. McEnroe2020-01-171-1/+5
|
* Rename SASL EXTERNAL section to CertFPC. McEnroe2020-01-171-4/+5
|
* Document process of generating client certificatesC. McEnroe2020-01-171-2/+42
|