summary refs log tree commit diff
path: root/command.c
AgeCommit message (Collapse)Author
2021-03-14Allow multi-line /me and split long /me messagesC. McEnroe
/me shouldn't behave differently from a regular message.
2021-02-08Fix /help LESS setting for updated manualC. McEnroe
The new reference to the COMMANDS section at the beginning of the manual would get matched instead.
2021-01-23Fix /unignore commandC. McEnroe
Yikes, copy-paste fail.
2021-01-23Separate kiosk mode from restrict modeC. McEnroe
Restrict mode will focus on sandboxing, while kiosk will continue to restrict IRC access through a public kiosk. Kiosk mode without restrict mode allows execution of man 1 catgirl with /help, assuming external sandboxing. The /list and /part commands are also added to the list of disabled commands in kiosk mode, since they are pointless without access to /join.
2021-01-16Add -I highlight option and /highlightC. McEnroe
2021-01-16Rename ignore code to filterC. McEnroe
2021-01-07Use execl rather than execlp for shellC. McEnroe
SHELL is an absolute path.
2021-01-01Split ignore fields to avoid over-eager * matchingC. McEnroe
Split ignore fields and match each separately to avoid an early * eagerly matching across several fields. For example, "* JOIN * *" should not match messages which happen to contain the word "JOIN" followed by two other words. Ignore capacity is reduced to 64 to keep the size of the array the same. I don't think it's an issue.
2020-12-30Factor out reply count checking and decrementingC. McEnroe
2020-12-30Add /whowasC. McEnroe
2020-12-30Show setnames like nick changesC. McEnroe
2020-12-29Add /setname commandC. McEnroe
I'm not sure about that replies check in handleStandardReply. If more of those are added the reply counter system will definitely need refactoring.
2020-10-02Double up /help for server helpC. McEnroe
While the automatic search via LESS is neat, I don't think it's very useful. Just always open the manual to the COMMANDS section, and fix it to append to LESS rather than replace it.
2020-09-30Use WHO for /opsC. McEnroe
Accumulate names in a buffer and show away status.
2020-09-30Add /ops commandC. McEnroe
It's pretty awkward with large channels since NAMES isn't sorted by prefixes or anything... But having it accumulate names across many replies would require more reworking.
2020-09-18Allow 2-param form of /whois, count comma-separated nicksC. McEnroe
I do not feel like documenting the 2-param form of /whois because it is weird, but it should work for those who already know about it.
2020-08-04Say "OpenSSL" in additional permission noticesC. McEnroe
LibreSSL is "a modified version of that library".
2020-06-24Bump ParamCap to 254C. McEnroe
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-15Add null terminator to modes in channelListModeC. McEnroe
Otherwise passing more than 13 parameters reads past the end of the array.
2020-06-08Add additional permission for linking with LibreSSLC. McEnroe
https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
2020-04-06Voice, devoice self on /voice, /devoice with no paramsC. McEnroe
2020-04-06Op, deop self on /op, /deop without paramsC. McEnroe
2020-04-03Use gnu-case-range and gnu-conditional-omitted-operand extensionsC. McEnroe
I'm sad to do this but I just can't stand writing (foo ? foo : bar) anymore.
2020-04-03Only treat /open param as count if single digitC. McEnroe
2020-03-31Add /ignore message filtering patternsC. McEnroe
2020-03-30Add text macrosC. McEnroe
2020-03-30Add /o alias for /openC. McEnroe
I can't live without it.
2020-03-29Add /op, /deop, /voice, /devoiceC. McEnroe
This collides with using /o for /open which I'm sad about, but I think these commands should exist...
2020-03-23Track MODE in repliesC. McEnroe
2020-03-23Fix non-multiline command newline handlingC. McEnroe
2020-03-23Allow commands to take multiline inputC. McEnroe
2020-03-23Assume worst case for unknown user and host in splitMessageC. McEnroe
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-22Implement message splittingC. McEnroe
2020-03-22Handle empty input directly in commandC. McEnroe
2020-03-22Add /sayC. McEnroe
2020-03-02Prevent entering commands in <debug> if restrictedC. McEnroe
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-02-25Add /mode, /except, /invex and handle lists repliesC. McEnroe
2020-02-20Just use "b" to query ban listC. McEnroe
2020-02-19Add /ban, /unban and handle ban list repliesC. McEnroe
2020-02-16Various small cleanupsC. McEnroe
Haven't really gone through ui.c yet.
2020-02-15Replace small integers in size_t with uintC. McEnroe
2020-02-15Add /ns and /csC. McEnroe
2020-02-14Add /kickC. McEnroe
2020-02-14Add /inviteC. McEnroe
2020-02-14Add /awayC. McEnroe
2020-02-13Add /execC. McEnroe
2020-02-13Rename procPipe to utilPipeC. McEnroe
2020-02-13Refactor windows into array and add /moveC. McEnroe
Oof.
2020-02-12Add /listC. McEnroe
2020-02-11Add -R restricted flagC. McEnroe