View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004901 | unreal | ircd | public | 2017-03-19 22:49 | 2017-03-20 16:26 |
| Reporter | NoMiaus | Assigned To | syzop | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Fixed in Version | 4.0.12 | ||||
| Summary | 0004901: Users IP shows up when /mode nick -t with force-rejoin option set | ||||
| Description | Users IP shows up instead of the last host user had when -t with set::allow-userhost-change "force-rejoin". | ||||
| Steps To Reproduce | Step 1. We set a host to the User via /chghost, his encrypted host is changed correctly to the one set, on this case 'example.example': User ([email protected]) has parted. (Rejoining because of user@host change) «1 person» User ([email protected]) has joined. «2 people» Step 2. User wants to get his encrypted host back and types /mode nick -t, but Users IP shows up: User ([email protected]) has parted. (Rejoining because of user@host change) «1 person» User ([email protected]) has joined. «2 people» It shouldn't shown the IP address but the host user currently had which is 'example.example'. The correct way should be: User ([email protected]) has parted. (Rejoining because of user@host change) «1 person» User ([email protected]) has joined. «2 people» The same happens when User uses a vHost set by HostServ: Step 1. User identifies to the nick and vHost is set by Services User ([email protected]) has parted. (Rejoining because of user@host change) «1 people» User ([email protected]) has joined. «2 people» Step 2. User types /mode nick -t User ([email protected]) has parted. (Rejoining because of user@host change) «1 person» User ([email protected]) has joined. «2 people» We should see the vhost user had, not the IP. The correct way should be: User ([email protected]) has joined. «1 people» User ([email protected]) has joined. «2 people» | ||||
| Additional Information | After applying this commit https://github.com/unrealircd/unrealircd/commit/f3199ec5e519d74733b71341efc07a0b0fa54b98 and using the following options in the set block: modes-on-connect "+x"; restrict-usermodes "x"; allow-userhost-change "force-rejoin"; | ||||
| Tags | No tags attached. | ||||
| 3rd party modules | |||||
|
|
Thanks. I can confirm the issue with latest git. This is obviously not how it should be :D |
|
|
I couldn't decide whether to call it 'minor' or 'major'.. The mode -t is not well known and the effect as you describe is clearly visible. Going for 'major' for now. It shouldn't expose real host/IP. In the past (and probably still) people were doing MODE -x and then MODE +x. That would expose their host/IP. The whole idea of this ability to -t (without the x) was that this would not happen. Turns out it doesn't help a bit if you use force-rejoin (and presumably same with quit+join). Grmpf. Anyway, details... I'll take a look later today at fixing the code. That'll be no issue. Thanks again for the report! |
|
|
Fixed, thanks! |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-03-19 22:49 | NoMiaus | New Issue | |
| 2017-03-20 08:50 | syzop | View Status | public => private |
| 2017-03-20 08:52 | syzop | Assigned To | => syzop |
| 2017-03-20 08:52 | syzop | Status | new => confirmed |
| 2017-03-20 08:52 | syzop | Note Added: 0019700 | |
| 2017-03-20 08:52 | syzop | Severity | minor => major |
| 2017-03-20 09:01 | syzop | Note Added: 0019702 | |
| 2017-03-20 16:19 | syzop | View Status | private => public |
| 2017-03-20 16:26 | syzop | Status | confirmed => resolved |
| 2017-03-20 16:26 | syzop | Resolution | open => fixed |
| 2017-03-20 16:26 | syzop | Fixed in Version | => 4.0.12 |
| 2017-03-20 16:26 | syzop | Note Added: 0019703 |