-
-
Notifications
You must be signed in to change notification settings - Fork 86
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
real_nickname is not properly set when connecting to ZNC bouncers #152
Comments
It's unclear to me exactly what's going on. It seems to me that the client is expecting the argument to the 001 (welcome) command to be the real nickname. The code is here. So I guess the questions are - What is the spec for 001? What does that imply for irc.client? Even if ZNC is violating the spec, should the client account for this deviation? Can you do more investigation into what the IRC specs say about the 001 Welcome message? |
ZNC version? debug logs from ZNC? |
I looked at rfc2812 and it contains the following example:
@DarthGandalf I'm running 1.7.1.
|
Can you show the full logs from the moment when client connects? Obviously, replace the password with XXX |
I get it now, it's because I passed it an empty nickname.
If I use a non-empty nickname, I see it in the reply. However, it doesn't help the library find out what the real nickname is. |
IRC protocol doesn't allow empty parameters like that, |
A few more logs after setting my nickname to
In this case, To summarize:
|
After performing some more tests, I noticed that Line 288 in dd16a70
The only remaining problem is that the client allows us to use an empty nick and this should be banned. |
I haven't looked into it, but if you can say with confidence that an empty nick is never valid, then I agree - the client should disallow invalid inputs. |
I don't see anything about an empty nick in the RFC so perhaps it's allowed: https://tools.ietf.org/html/rfc2812#section-3.1.2 @DarthGandalf what do you think? |
Hey, how do you imagine someone talking on IRC with an empty nick? RFC doesn't mention all possible corner cases, yes, but this is one where it's obvious what shouldn't be done. The section you need here is https://tools.ietf.org/html/rfc1459#section-2.3.1 - it says that there can be multiple spaces between parameters, and it says that the last parameter can be empty. Btw, the RFC you linked is not used much; the reality is somewhere between RFC 1459, and RFC 2812, closer to RFC 1459. And there is stuff coming from non-RFC, some of which is described at https://modern.ircdocs.horse/ or in https://ircv3.net |
So the conclusion is that empty nicks should be rejected? Can someone send a PR? |
Hi, I noticed that
real_nickname
is always wrong when I connect to ZNC bouncers:This will print
Welcome to the freenode Internet Relay Chat Network sbraz
. The debug log shows the following:The text was updated successfully, but these errors were encountered: