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
Various command parsers do not handle a colon before the last parameter #2271
Comments
|
Known issue for a while, it makes a lot of bad assumptions. All the current parsing is just bad and touching it would be painful. I wrote a new one here: https://github.com/TingPing/irc-client/blob/master/lib/irc-message.c And while it would be an equally painful task to use it I think it would probably have the best results. |
|
This is caused by incorrect protocol message parsing. According to the notes of section 2.3.1 of RFC 1459 a <trailing> parameter should be treated as equivalent to a <middle> parameter but HexChat does not do this. You can test this behaviour on testnet.inspircd.org. |
|
+1 |
|
I've been quite busy but if you point out specific commands where you are hitting its going to be quicker to fix those. I know the entire parser is incorrect but that is a bigger change that won't happen in 10 minutes of free time. You can also submit a PR that would look like: 7d78c6b |
Make sure trailing parameters are treated the same as other parameters to avoid issues like hexchat#2271 Fixes hexchat#2271
Make sure trailing parameters are treated the same as other parameters to avoid issues like hexchat#2271 Fixes hexchat#2271
|
The specific commands I've observed breaking are:
This is all I could find so far, #2294 would be the best option but as you said there, it does break API compat |
|
It appears |
|
Can you just do one line fixes for those events and open a PR? |
Partial fix for #2271 This isn't an exhaustive list, but it's everything I could find. The bug still exists in the parser though, this is just a workaround for the moment
|
When a release including this fix ? |
Partial fix for #2271 This isn't an exhaustive list, but it's everything I could find. The bug still exists in the parser though, this is just a workaround for the moment
This issue was first noticed when testing Hexchat with Inspircd v3, channel topic times keep showing as
0in unix time.CHGHOSTalso does not seem to remove the colon before the last parameter resulting in a user's host being set to@:<newhost>.Inspircd 3.0 changed its message formats a bit, resulting in a colon being prepended to the last parameter in every message from the server. According to the IRC RFCs, clients should generally just ignore the colon before the last parameter in all cases.
Versions
HexChat: 2.12.4 and 2.14.1
InspIRCd built from commit https://github.com/inspircd/inspircd/tree/37977710a79472741c043b2dc8c17f520429c9f4
The text was updated successfully, but these errors were encountered: