View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004782 | unreal | ircd | public | 2016-12-04 23:22 | 2016-12-05 09:34 |
Reporter | KnuX | Assigned To | syzop | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 4.0.9 | ||||
Fixed in Version | 4.0.10 | ||||
Summary | 0004782: Linked uline server receive SID for JOIN without asking for SID protocol | ||||
Description | Hi, I hope I didn't make any mistake in my configuration ;) I have some custom services connected to my ircd as Ulines servers. They don't send the "recommanded" "SID" in the PROTOCTL command (https://www.unrealircd.org/docs/Server_protocol:PROTOCTL_command#SID_.28Recommended.29). I did not take the time to implement it. So. Upgrading from the latest UnrealIRCD 3.x, my services doesn't work anymore as expected. It's because the IRC server send the "JOIN" from users connected from other server as ":<UID> JOIN #<chan>" instead of ":<nickname> JOIN #<chan>". If the user is connected to the server where the service is linked, my bot receive the correct nickname. Here is some logs ("<-" are incoming messages through the uline link, "->" are outgoing messages) : <- NICK KnuX 1 1480886911 ident fw01.prodin.orbus.fr ircdev02.myserver.net 0 +iwx * Skyrock-FD37C91C.prodin.orbus.fr rBLCGQ== :fullname <- :202E2I31Z JOIN #chan <- :ircdev02.myserver.net MODE #test +o KnuX 1480888945 | ||||
Steps To Reproduce | 1. Have 2 IRC servers : 01 and 02 2. Connect uline service to 01 3. Connect an user on 02 and make him join #chan 4. => the service will see an UID instead of the nickname | ||||
Additional Information | MAP : * ircdev01.myserver.net (4) 201 * |-boo.myserver.net (4) * `-ircdev02.myserver.net (5) 202 * `-channels.myserver.net (1) Logs during the linking process : -> PASS :**** -> PROTOCTL NICKv2 NICKIP CLK -> SERVER boo.myserver.net 1480885514 :MyServer IRC Services <- :ircdev01.myserver.net NOTICE * :*** Looking up your hostname... <- :ircdev01.myserver.net NOTICE * :*** Found your hostname <- PASS :**** <- PROTOCTL NOQUIT NICKv2 SJOIN SJOIN2 UMODE2 VL SJ3 TKLEXT TKLEXT2 NICKIP ESVID <- PROTOCTL CHANMODES=beIqa,kLf,l,psmntirzMQNRTOVKDdGPZSCc PREFIX=(ohv)@%+ NICKCHARS= SID=201 MLOCK TS=1480885515 EXTSWHOIS <- SERVER ircdev01.myserver.net 1 :U4000-Fhin6OoEM-201 Serveur de Chat de MyServer <- :ircdev01.myserver.net SMO o :(link) Link ircdev01.myserver.net -> boo.myserver.net[@172.18.104.188.20444] established Note : - The service don't send any PROTOCTL SID=xxx. - During the synchronization, the service receive correct nickname for *all* users, even foreign users - No issue with only 1 IRC server, of course! | ||||
Tags | No tags attached. | ||||
3rd party modules | no | ||||
|
Confirmed. Not using SJOIN (in PROTOCTL) is rare, though, which would explain why this bug wasn't catched earlier. Bug caused by nenolod in 2013. |
|
Fixed: https://github.com/unrealircd/unrealircd/commit/65caabbb97e5253f1cb546a4b5a55f74caa6efbe (the first two occurences are harmless, it's the last line replaced which is the actual fix) Thanks :) |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-12-04 23:22 | KnuX | New Issue | |
2016-12-05 09:17 | syzop | Assigned To | => syzop |
2016-12-05 09:17 | syzop | Status | new => confirmed |
2016-12-05 09:17 | syzop | Note Added: 0019547 | |
2016-12-05 09:18 | syzop | Note Edited: 0019547 | |
2016-12-05 09:34 | syzop | Status | confirmed => resolved |
2016-12-05 09:34 | syzop | Resolution | open => fixed |
2016-12-05 09:34 | syzop | Fixed in Version | => 4.0.10 |
2016-12-05 09:34 | syzop | Note Added: 0019548 |