about summary refs log tree commit diff
path: root/command.c (follow)
Commit message (Collapse)AuthorAge
* Fix what went wrong, part 1June McEnroe2023-02-05
|
* Flatten cache structsJune McEnroe2023-02-03
|
* Generate /ops from cacheJune McEnroe2022-09-11
|
* Move cache color to an Entry structJune McEnroe2022-07-31
| | | | So that more values can be added sensibly.
* Rename cache{Prefix,Substr} to cache{Complete,Search}June McEnroe2022-07-30
|
* Switch to cache interfacesJune McEnroe2022-07-30
|
* Show own nick on /nick without paramsJune McEnroe2022-03-02
|
* Specify commands which depend on capsJune McEnroe2022-02-26
| | | | Currently only /setname.
* Only add available commands to completeJune McEnroe2022-02-26
|
* Factor out commandAvailableJune McEnroe2022-02-26
|
* Factor out window management to window.cJune McEnroe2022-02-19
|
* Increment replies for list modes with /modeJune McEnroe2021-10-17
| | | | | Otherwise only /ban can be used to list bans and /mode b or /mode +b won't show the listing.
* Disable /exec in Kiosk mode (as documented)Klemens Nanni2021-07-13
|
* Use CS command for paramless /op and /voiceJune McEnroe2021-07-13
| | | | Should match the actual /cs command.
* Save invited channel for /joinJune McEnroe2021-07-02
|
* Use NS and CS server aliasesJune McEnroe2021-06-21
| | | | | | I think I didn't use these originally because they were misconfigured on tilde.chat, but they work now, and supposedly server aliases should be more secure/reliable.
* Match windows by substring in /windowJune McEnroe2021-06-17
| | | | | This could just iterate over idNames instead, but using complete means more recently used windows will match first.
* /exec without controlling terminalKlemens Nanni2021-06-13
| | | | | | | | | | | Otherwise "/exec sh </dev/tty" takes over and catgirl must effectively be killed to stop the madness; with this diff: catgirl input| /exec sh </dev/tty catgirl output| /bin/sh: cannot open /dev/tty: Device not configured catgirl output| Process exits with status 1 Do the same for `-C/Copy', `-N/notify' and `-O/open' alike.
* List windows with /window 1.8June McEnroe2021-05-28
| | | | Reuse the /window command to preserve /wi abbreviation.
* Improve missing param behavior for /msg, /whois, /ns, /csJune McEnroe2021-05-28
|
* Set id color from completion in /msgJune McEnroe2021-04-16
| | | | | In the same way that /query copies the id color from completion. Also make both first check that a color isn't already set.
* Show where too-long-messages will be automatically splitJune McEnroe2021-03-17
|
* 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...