summary refs log tree commit diff
path: root/handle.c
AgeCommit message (Collapse)Author
2022-05-29Allow setting fallback nicks and highlight on anyJune McEnroe
As a side-effect, even with only one nick set you'll still be highlighted by it even if your current nick is different.
2022-05-29Put unknown numerics in parenthesesJune McEnroe
For some reason this makes it look so much better to me.
2022-05-08Route unknown channel replies to channelsJune McEnroe
Also prefix with the numeric. I don't really want to show numerics to the user, but I'm not sure these really make sense without.
2022-05-08Show "You arrive" message only onceJune McEnroe
2022-05-08Write unknown replies to Network with Ice heatJune McEnroe
2022-02-26Specify commands which depend on capsJune McEnroe
Currently only /setname.
2022-02-19Factor out input handling to input.cJune McEnroe
2022-02-19Factor out window management to window.cJune McEnroe
2022-02-12Prompt for empty server or SASL passwordsJune McEnroe
2022-01-16Avoid sending null byte in SASL PLAIN 2.0aJune McEnroe
Woops! BASE64_SIZE is the size of the string buffer. Somehow ergo is the only server software (that I know of) to reject the accidental null byte. Reported by smlavine.
2022-01-16Use Cold for away notices in queriesJune McEnroe
So that they can be hidden with M-+.
2021-11-16Make the /ops response more flavourfulC. McEnroe
How did this normal sounding format string get in there!
2021-11-10Handle RPL_WHOISSPECIALC. McEnroe
<https://modern.ircdocs.horse/index.html#rplwhoisspecial-320>
2021-10-26Fix strptime decode for musl libcpsykose
POSIX does not define a %F for strptime[1], but does define %F for strftime[2]. Afaik most libc's implement %F for both, but musl is very standards-compliant and does not have %F on strptime, leading to unparsed message tag times, which causes all backlog sent from bouncer on startup to have a timestamp of the current time, instead of the actual timestamp sent. [1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html [2] https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html
2021-09-09Correct handling of colons in SASL PLAINC. McEnroe
Only the first colon should be replaced with a null byte. Ported from pounce.
2021-07-02Save invited channel for /joinC. McEnroe
2021-06-20Handle "\1ACTION\1" empty actionsC. McEnroe
2021-06-20Don't match actions in noticesC. McEnroe
2021-06-18Add -m mode option to set user modesC. McEnroe
2021-06-17Handle 338 as whois replyC. McEnroe
Used by Solanum for "actually using host".
2021-06-12Reset formatting after realname in setnameC. McEnroe
Missed this one.
2021-06-10Avoid trailing comma in whois channels listsC. McEnroe
The format of the reply is defined as "<nick> :{[@|+]<channel><space>}".
2021-06-09Replace catf with seprintfC. McEnroe
2021-05-25Use reverse video not colors for topic change when disabledKlemens Nanni
`-H 0,0`/"hash = 0,0" makes catgirl mostly colorless which is great, but topic changes still hardcode brown/green colors to show differences which is usually not desired by users (like me) disabling colors. Go for a less eye stressing topic change message that shows both old and new in reverse video with default terminal colors. This isn't perfect, other parts of catgirl still hardcode colors and `-H 0,0`/"hash = 0,0" was never meant to disable colors completely, but topics change often enough that avoiding less readable^Waccessible topic diffs seems sensible enough. NB: parseHash() is brittle and "0,0" is not the only value disabling colors...
2021-05-25Use color enum instead of hardcoded valueKlemens Nanni
2021-05-20Don't require 4 parameters to ERR_USERONCHANNELC. McEnroe
It should have 4, but the handler only uses 3.
2021-04-27Reset formatting after realnamesC. McEnroe
2021-04-16Always show 341 RPL_INVITINGC. McEnroe
At least in InspIRCd's implementation, you only get invite-notify INVITEs if you are op, so inviting with no op (where allowed by a channel mode) results in only a 341. On the other hand, inviting as an op produces both a 341 and an INVITE, so will be displayed twice, but showing something sometimes twice is better than not showing it at all.
2021-04-02Skip STATUSMSG prefixesC. McEnroe
This feature is rarely used, so just skip STATUSMSG prefixes in the target so messages get routed correctly.
2021-02-21Use separate reply counts for automatic join topics/namesC. McEnroe
This restores showing the topic and names for automatic joined channels, while still avoiding touching the windows, by using Cold heat.
2021-02-04Only treat a single -j join as explicitC. McEnroe
In other words, only automatically switch to an automatically joined channel window if there's only one. Otherwise, stay on the <network> window and avoid touching the channel windows with their automatic topic and names replies. This fixes unintentionally clearing saved window unread counts when rejoining channels automatically by switching to them as they are joined.
2021-01-28Add 335 to WHOIS responsesC. McEnroe
This is used by InspIRCd to indicate if a user is a bot (if it set user mode +B).
2021-01-26Use Warm heat for replies to user-initiated commandsC. McEnroe
Otherwise they are invisible with M-+ and commands having no output is confusing.
2021-01-16Add -I highlight option and /highlightC. McEnroe
2021-01-16Rename ignore code to filterC. McEnroe
2021-01-11Don't pass nick to urlScan for MOTD and helpC. McEnroe
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-12-29Handle so-called Standard RepliesC. McEnroe
2020-12-05Handle 437 ERR_UNAVAILRESOURCE like ERR_NICKNAMEINUSEC. McEnroe
Not totally clear under what conditions 437 is returned, but if it happens during registration, we should pick a new nick.
2020-11-08Remove static buffer from colorMentionsC. McEnroe
2020-11-08Remove static buffer from capListC. McEnroe
2020-11-08Highlight changed portion of topicC. McEnroe
"%.*ls" is useless.
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-18Switch back to checking for server by nick with '.'C. McEnroe
This fixes a bug where if you send a private message before joining any channels, your message will be routed to the <network> window. That happens because without a JOIN, self.user remains unset, which means that require will copy self.nick (set by echoMessage) to self.host. The easiest solution is to go back to checking for '.' and add a '.' to the default nick, so now if a server sends a NOTICE with no origin it will look like -*.*- which is kinda cute.
2020-09-02Don't call completeTouch for ignored messagesC. McEnroe