Commit Graph

62 Commits (5873d8b5a72f11fc30b11d0e4a7de7541757036d)

Author SHA1 Message Date
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 82acea5dfa Add null terminator to modes in channelListMode
Otherwise passing more than 13 parameters reads past the end of the
array.
2020-06-15 20:34:28 -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
C. McEnroe db4af9e7ab Voice, devoice self on /voice, /devoice with no params 2020-04-06 16:30:03 -04:00
C. McEnroe 151739e8da Op, deop self on /op, /deop without params 2020-04-06 16:09:49 -04:00
C. McEnroe 75a6aa9258 Use gnu-case-range and gnu-conditional-omitted-operand extensions
I'm sad to do this but I just can't stand writing (foo ? foo : bar)
anymore.
2020-04-03 17:10:52 -04:00
C. McEnroe 6574f012c9 Only treat /open param as count if single digit 2020-04-03 15:16:49 -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 6bfeff71a2 Add /o alias for /open
I can't live without it.
2020-03-30 11:15:44 -04:00
C. McEnroe ebbb5ad4d2 Add /op, /deop, /voice, /devoice
This collides with using /o for /open which I'm sad about, but I think
these commands should exist...
2020-03-29 12:43:53 -04:00
C. McEnroe 4f40ace9d4 Track MODE in replies 2020-03-23 16:52:24 -04:00
C. McEnroe 35ae4121cb Fix non-multiline command newline handling 2020-03-23 15:47:56 -04:00
C. McEnroe 3cb7cc97f6 Allow commands to take multiline input 2020-03-23 14:54:46 -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 3bb3a11454 Implement message splitting 2020-03-22 15:13:33 -04:00
C. McEnroe be4283b8ff Handle empty input directly in command 2020-03-22 14:38:22 -04:00
C. McEnroe ccde1c2c8c Add /say 2020-03-22 14:19:11 -04:00
C. McEnroe 5c167e4181 Prevent entering commands in <debug> if restricted
Because the <debug> ID always exists, it's possible to create a window
for it even while restricted with "/window <debug>" and try to enter
commands there.
2020-03-02 19:18:55 -05:00
C. McEnroe 3c5e1c95a4 Add /mode, /except, /invex and handle lists replies 2020-02-25 02:12:35 -05:00
C. McEnroe a5cd2cd97a Just use "b" to query ban list 2020-02-20 03:48:26 -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 700b5d5870 Replace small integers in size_t with uint 2020-02-15 22:19:55 -05:00
C. McEnroe 91fa136672 Add /ns and /cs 2020-02-15 04:47:46 -05:00
C. McEnroe ed52ade739 Add /kick 2020-02-14 21:43:27 -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 489df70c37 Add /list 2020-02-12 02:39:23 -05:00
C. McEnroe 10ae7bedbd Add -R restricted flag 2020-02-11 22:39:29 -05:00
C. McEnroe 80a79467ef Only automatically switch to expected joins 2020-02-10 20:24:07 -05:00
C. McEnroe 00f0f94fc8 Delegate to commandPrivmsg from commandMsg 2020-02-10 20:17:21 -05:00
C. McEnroe 3436cd1068 Add /whois 2020-02-09 16:45:49 -05:00
C. McEnroe 2bb3590de9 Add /msg
Services tend to tell you to use /msg so it definitely needs to exist.
2020-02-09 16:19:36 -05:00
C. McEnroe 5254e1035c Add /help
Now with automatic search! Also had to fix the SIGCHLD handling...
2020-02-09 14:09:27 -05:00
C. McEnroe af14947103 Trim whitespace from both ends of command params 2020-02-08 21:50:29 -05:00
C. McEnroe 3e68684148 Add /copy 2020-02-08 21:44:50 -05:00
C. McEnroe f502260dd0 Scan messages for URLs 2020-02-08 18:29:01 -05:00
C. McEnroe b98c7d6863 Add /topic 2020-02-08 03:25:50 -05:00
C. McEnroe ff6424a87c Add /names 2020-02-08 03:19:56 -05:00
C. McEnroe b6bf6d62b0 Only show expected topic/names replies 2020-02-08 03:15:17 -05:00
C. McEnroe 2cacf15314 Add /debug 2020-02-08 02:33:41 -05:00
C. McEnroe 943502ea82 Add /close 2020-02-08 02:26:00 -05:00
C. McEnroe 5c10fe0d41 Add /query 2020-02-08 01:34:55 -05:00
C. McEnroe f5783d15c6 Add /part 2020-02-08 01:25:07 -05:00
C. McEnroe 55173ef297 Add /nick 2020-02-08 00:02:10 -05:00
C. McEnroe b200194206 Use complete to abbreviate commands 2020-02-07 21:54:18 -05:00