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