Commit Graph

96 Commits (1abeece98800f1ea19724e91751e9d1b0a177d39)

Author SHA1 Message Date
C. McEnroe d9a0364cb4 Use configPath to load TLS cert/priv 2020-08-20 14:56:13 -04:00
C. McEnroe f432bd72fa Refactor base dir functions to iterate over paths 2020-08-20 14:08:51 -04:00
C. McEnroe 814c36223a Say "OpenSSL" in additional permission notices
LibreSSL is "a modified version of that library".
2020-08-04 12:19:14 -04:00
C. McEnroe 4c1b1fc6a3 Replace catf with something that tracks len
Also the old catf would be broken with -DNDEBUG oops!
2020-07-30 14:37:46 -04:00
C. McEnroe a142ebcf43 Define explicit_bzero using memset_s on macOS 2020-07-30 13:36:17 -04:00
C. McEnroe 5a3b63e444 Remove use of strlcat
catf is not better though and should really be replaced.
2020-07-30 13:05:24 -04:00
C. McEnroe 94fb9798c5 Bump ParamCap to 254
Apparently IRCds have decided that the 15-parameter limit doesn't matter
anymore. 254 is the maximum number of single-byte parameters (following
a single-byte command) which fit in a 512-byte CR-LF-terminated line.
When everyone decides that the 512-byte line length limit doesn't matter
either, I will delete my software and people can use some JavaScript
garbage instead.

This makes struct Message 2080 bytes, but there's only ever one or two
of them around at once. Avoid passing it by value to handle.
2020-06-24 13:36:24 -04:00
C. McEnroe 721c3a9ee6 Add additional permission for linking with LibreSSL
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
2020-06-08 17:48:07 -04:00
Michael Forney bde0f47a70 Mark global variables in chat.h as extern
This fixes the build with gcc 10, which enables -fno-common by
default.
2020-05-07 20:00:33 -04:00
C. McEnroe 73bda18110 Check ignores against id
Otherwise they do not work correctly for QUIT and NICK. This also lets
you ignore private messages only by putting the nick in the third field.
2020-04-07 13:18:42 -04:00
C. McEnroe e3f7362241 Add M-q to collapse whitespace 2020-04-07 10:48:44 -04:00
C. McEnroe 25f419465f Add /ignore message filtering patterns 2020-03-31 14:30:42 -04:00
C. McEnroe a0dde10cb6 Add text macros 2020-03-30 14:56:26 -04:00
C. McEnroe d99f20c0ff Add logging functions
The mkdir dance is a bit awkward...
2020-03-25 18:56:09 -04:00
C. McEnroe 4f40ace9d4 Track MODE in replies 2020-03-23 16:52:24 -04:00
C. McEnroe cf1545870a Assume worst case for unknown user and host in splitMessage
The default USERLEN of 9 doesn't have a great source, the RFC only says
that nicks are length 9, so my assumption is that usernames are not
longer.
2020-03-23 13:25:10 -04:00
C. McEnroe eb6316c235 Track own host, handle CHGHOST 2020-03-22 14:32:20 -04:00
C. McEnroe 8570a62235 Implement the causal.agency/consumer capability 2020-02-29 01:03:46 -05:00
C. McEnroe 3c5e1c95a4 Add /mode, /except, /invex and handle lists replies 2020-02-25 02:12:35 -05:00
C. McEnroe 56de4668ac Add /ban, /unban and handle ban list replies 2020-02-19 21:47:16 -05:00
C. McEnroe b20be7cbad Various small cleanups
Haven't really gone through ui.c yet.
2020-02-16 23:05:43 -05:00
C. McEnroe ba524ed804 Replace a lot of snprintf with a catf implementation 2020-02-16 19:12:19 -05:00
C. McEnroe edd8855418 Track EXCEPTS and INVEX modes 2020-02-16 18:31:50 -05:00
C. McEnroe 700b5d5870 Replace small integers in size_t with uint 2020-02-15 22:19:55 -05:00
C. McEnroe 9b1ab69908 Track PREFIX modes and CHANMODES 2020-02-15 05:29:54 -05:00
C. McEnroe a91e5fc805 Enable multi-prefix 2020-02-15 04:59:50 -05:00
C. McEnroe 42d106260b Separate network info from self 2020-02-15 04:54:53 -05:00
C. McEnroe 39a343980b Add /invite 2020-02-14 21:36:58 -05:00
C. McEnroe 8aa6dd86f6 Add /away 2020-02-14 21:10:40 -05:00
C. McEnroe 46f61dfcdc Add /exec 2020-02-13 22:22:11 -05:00
C. McEnroe 1e226593ef Rename procPipe to utilPipe 2020-02-13 21:57:55 -05:00
C. McEnroe 92ccabaafd Refactor windows into array and add /move
Oof.
2020-02-13 05:05:53 -05:00
C. McEnroe 0a772ff139 Explicitly close the TLS connection
Just to be nice.
2020-02-13 01:01:23 -05:00
C. McEnroe 180bbc7b38 Add -N flag for notifications 2020-02-12 20:12:34 -05:00
multiplexd 1e544ce482 Implement source address selection
This commit adds a '-S' command line option and a "bind"
configuration file option to specify the source address to bind to when
connecting to the IRC server.
2020-02-13 00:05:52 +00:00
C. McEnroe 489df70c37 Add /list 2020-02-12 02:39:23 -05:00
C. McEnroe 14ae13f781 Add C-t transpose
Also in emacs, weechat.
2020-02-12 01:16:40 -05:00
C. McEnroe d73085eaa9 Allow for arguments to open/copy utilities 2020-02-12 00:48:43 -05:00
C. McEnroe 10ae7bedbd Add -R restricted flag 2020-02-11 22:39:29 -05:00
C. McEnroe 2771863299 Define ColorCap instead of hardcoding 100 2020-02-11 17:43:36 -05:00
C. McEnroe af87b4e68d Move hash to top of chat.h 2020-02-11 17:41:06 -05:00
C. McEnroe 83a8952cf5 Move base64 out of chat.h 2020-02-11 17:40:08 -05:00
C. McEnroe a50596c5c5 Move XDG_SUBDIR out of chat.h 2020-02-11 17:37:18 -05:00
C. McEnroe d91f588288 Declare strlcat 2020-02-11 03:45:26 -05:00
C. McEnroe 80a79467ef Only automatically switch to expected joins 2020-02-10 20:24:07 -05:00
C. McEnroe 99480a42e5 Factor out XDG base directory code
And add warnings to configOpen, since that's the only way to be accurate
if a weird error occurs.
2020-02-10 19:57:10 -05:00
C. McEnroe b59431bb15 Add -s to save and load buffers 2020-02-10 19:40:13 -05:00
C. McEnroe c8a6564670 Eliminate array in hash
I expected to have to remove some arbitrary colors, but it seems like
just the range 2-75 works fine.
2020-02-10 17:03:13 -05:00
C. McEnroe 0d93e66a68 Add -H 2020-02-10 05:50:28 -05:00
C. McEnroe a91f975e9b Hash to colors in the range 2-75
Colors 76-87 seem too light, some almost appearing white. Colors 88-98
are shades of gray.
2020-02-10 05:37:47 -05:00