-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CTCP investigations and client survey #2
Comments
I mostly ran these tests by sending these messages to each client with ircdog and seeing how they responded (adding on the final ctcp delim only if required because less typing):
How are spaces after the delimiter and before the command handled?
conclusion: We don't need to mention them, literally nothing supports that. How are spaces between the command and params handled for ACTION?
conclusion: leading spaces SHOULD NOT be stripped. How are spaces between the command and params handled for PING?
conclusion: leading spaces MAY be stripped. Ignores unknown params on msg queries that don't require params?
conclusion: not for the messages specified here. maybe for new ones. Final delimiter required? (spec recommends it anyway, this is just for interest and maybe to submit an issue/pr if ACTION is broken here)
|
I've mentioned this in the channel and in #v3 and if anyone has recommendations for other clients to test I'll give 'em a look. But the results here point towards these conclusions being pretty safe, so I'll add 'em to the doc now and change it later (hey who knows, maybe every mobile client does strip spaces before the command????!!!) edit: KVIrc results reported by Andrio \o/ (Andrio also reported revolution irc for android results) also suggested: maybe investigate current clients' behaviour when encountering multiple CTCP messages in a privmsg. I'm still gonna recommend clients not do it, but still may be interesting. for reference, KVIrc only recognises the \x01 delim at start+end of the message, nowhere in the middle. |
Handling multiple CTCPs in a single privmsgusing the test messages with ircdog:
conclusion: yeah spec can't recommend doing this, results speak for themselves edit: apparently quassel used to support it, but turned it into an off-by-default option after someone kept using it to flood the client off networks and all that |
For interest, tried testing out the quoting/dequoting the ctcp spec describes using the test privmsg text |
For Supybot/Limnoria:
|
Tested by sending the following lines with ircdog:
How clients respond to
|
Do clients send a reply to an unknown CTCP query (i.e. do they respond with ERRMSG)
This is basically the only reason I'd consider specifying |
Thanks for testing Quassel! I don't think any of this should be impacted by As a community contributor, I'd be in favor of changing Quassel's behavior to not require the final (No such PR is open right now) |
Aha yeah one of those cases where there are... a lot of clients and bots 'n' stuff out there that don't break outgoing /me's properly, easier for receiving clients to accept those messages than to run around trying to tell all the sending clients they need to fix themselves, unfortunately. |
hexchat master now accepts ctcp with missing trailing char: hexchat/hexchat@076b2c1 |
Yays/Nays on Deprecating CTCP ResponsesProposal in the v3 channel that new clients SHOULD NOT send responses to CTCP requests. Basically, to deprecate all of CTCP apart from parsing CTCP ACTIONs, primarily on the basis that publishing identifying info by default is bad these days.
|
InspIRCd also implements the CTCP spec (to the current spec AFAIK) and we have various features which depend on some CTCP responses so it's a no from us. |
Final thing for the CTCP I-D, working out how spaces interact with all the dang parts of it.
ACTION
?PING
?Bonus question:
note to self: sadie mentioned that the doc should work out the spacing stuff, add to changelog when done
edit: Extra bonus question:
CLIENTINFO
, are those supported enough that we should specify them, or maybe we should specify them as aMAY
if they do look useful e.g. for providing user-readable text or whatever??? ref provided by koragg: https://github.com/BitchX/BitchX/blob/master/source/ctcp.c#L783-L848The text was updated successfully, but these errors were encountered: