about summary refs log tree commit diff
path: root/command.c (follow)
Commit message (Collapse)AuthorAge
* Allow multi-line /me and split long /me messagesJune McEnroe2021-03-14
| | | | /me shouldn't behave differently from a regular message.
* Fix /help LESS setting for updated manualJune McEnroe2021-02-08
| | | | | The new reference to the COMMANDS section at the beginning of the manual would get matched instead.
* Fix /unignore commandJune McEnroe2021-01-23
| | | | Yikes, copy-paste fail.
* Separate kiosk mode from restrict modeJune McEnroe2021-01-23
| | | | | | | | | | | 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.
* Add -I highlight option and /highlightJune McEnroe2021-01-16
|
* Rename ignore code to filterJune McEnroe2021-01-16
|
* Use execl rather than execlp for shellJune McEnroe2021-01-07
| | | | SHELL is an absolute path.
* Split ignore fields to avoid over-eager * matchingJune McEnroe2021-01-01
| | | | | | | | | | 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.
* Factor out reply count checking and decrementingJune McEnroe2020-12-30
|
* Add /whowasJune McEnroe2020-12-30
|
* Show setnames like nick changesJune McEnroe2020-12-30
|
* Add /setname commandJune McEnroe2020-12-29
| | | | | | I'm not sure about that replies check in handleStandardReply. If more of those are added the reply counter system will definitely need refactoring.
* Double up /help for server helpJune McEnroe2020-10-02
| | | | | | 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.
* Use WHO for /opsJune McEnroe2020-09-30
| | | | Accumulate names in a buffer and show away status.
* Add /ops commandJune McEnroe2020-09-30
| | | | | | 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.
* Allow 2-param form of /whois, count comma-separated nicksJune McEnroe2020-09-18
| | | | | 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.
* Say "OpenSSL" in additional permission noticesJune McEnroe2020-08-04
| | | | LibreSSL is "a modified version of that library".
* Bump ParamCap to 254June McEnroe2020-06-24
| | | | | | | | | | | | 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.
* Add null terminator to modes in channelListModeJune McEnroe2020-06-15
| | | | | Otherwise passing more than 13 parameters reads past the end of the array.
* Add additional permission for linking with LibreSSLJune McEnroe2020-06-08
| | | | https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
* Voice, devoice self on /voice, /devoice with no paramsJune McEnroe2020-04-06
|
* Op, deop self on /op, /deop without paramsJune McEnroe2020-04-06
|
* Use gnu-case-range and gnu-conditional-omitted-operand extensionsJune McEnroe2020-04-03
| | | | | I'm sad to do this but I just can't stand writing (foo ? foo : bar) anymore.
* Only treat /open param as count if single digitJune McEnroe2020-04-03
|
* Add /ignore message filtering patternsJune McEnroe2020-03-31
|
* Add text macrosJune McEnroe2020-03-30
|
* Add /o alias for /openJune McEnroe2020-03-30
| | | | I can't live without it.
* Add /op, /deop, /voice, /devoiceJune McEnroe2020-03-29
| | | | | This collides with using /o for /open which I'm sad about, but I think these commands should exist...
* Track MODE in repliesJune McEnroe2020-03-23
|
* Fix non-multiline command newline handlingJune McEnroe2020-03-23
|
* Allow commands to take multiline inputJune McEnroe2020-03-23
|
* Assume worst case for unknown user and host in splitMessageJune McEnroe2020-03-23
| | | | | | 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.
* Implement message splittingJune McEnroe2020-03-22
|
* Handle empty input directly in commandJune McEnroe2020-03-22
|
* Add /sayJune McEnroe2020-03-22
|
* Prevent entering commands in <debug> if restrictedJune McEnroe2020-03-02
| | | | | | 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.
* Add /mode, /except, /invex and handle lists repliesJune McEnroe2020-02-25
|
* Just use "b" to query ban listJune McEnroe2020-02-20
|
* Add /ban, /unban and handle ban list repliesJune McEnroe2020-02-19
|
* Various small cleanupsJune McEnroe2020-02-16
| | | | Haven't really gone through ui.c yet.
* Replace small integers in size_t with uintJune McEnroe2020-02-15
|
* Add /ns and /csJune McEnroe2020-02-15
|
* Add /kickJune McEnroe2020-02-14
|
* Add /inviteJune McEnroe2020-02-14
|
* Add /awayJune McEnroe2020-02-14
|
* Add /execJune McEnroe2020-02-13
|
* Rename procPipe to utilPipeJune McEnroe2020-02-13
|
* Refactor windows into array and add /moveJune McEnroe2020-02-13
| | | | Oof.
* Add /listJune McEnroe2020-02-12
|
* Add -R restricted flagJune McEnroe2020-02-11
|