View Issue Details

IDProjectCategoryView StatusLast Update
0003212unrealircdpublic2007-04-24 04:13
ReporterGruntAssigned Tostskeeps 
PrioritynormalSeverityminorReproducibilityrandom
Status resolvedResolutionfixed 
Platformi386OS*NIXOS Version(any)
Product Version3.2.6 
Target VersionFixed in Version3.3-alpha0 
Summary0003212: /userip <someone_else> seemingly shows my (cloaked) IP
DescriptionOutput of /userip for several users (nicknames removed for anonimity):

Cheloo=+duelzone@x.x.x.x (me)
User1=+~User1@1D2F3A7A.DA6B686E.7B7E1C92.IP
User2*=+~user2@1D2F3A7A.DA6B686E.7B7E1C92.IP
User3*=+~User3@1D2F3A7A.DA6B686E.7B7E1C92.IP

Or, maybe a more convincing paste:
Yates=+Yates@AB600B0F.75ED1BFD.ACCFB39C.IP
Grunt=+~grunt@x.x.x.x (me again)
aegis=+~aegis@AB600B0F.75ED1BFD.ACCFB39C.IP
aquanight*=-aquanight@AB600B0F.75ED1BFD.ACCFB39C.IP

The IP shown in the reply is actually my cloaked IP.
Steps To ReproduceJust type "/userip anyone".
Additional InformationBoth 3.2.5 and 3.2.6 are affected. I couldn't find any network running older versions.
TagsNo tags attached.
3rd party modulesI don't think so, yet again I'm not running the networks.

Relationships

has duplicate 0003215 resolvedstskeeps Cloaked /USERIP same for all targets 

Activities

Shining Phoenix

2007-01-26 18:31

reporter   ~0013113

I don't think so, yet again I'm not running the networks.

^That's what /module is for

What does /userip show you that /who +n(or /who +nI) doesn't?

Stealth

2007-01-26 19:02

reporter   ~0013114

Confirmed.

USERIP works fine as an oper, but not as a normal user

Yates=+Yates@8A495AAB.AA868AFE.C012CF86.IP
Stskeeps*=+stskeeps@8A495AAB.AA868AFE.C012CF86.IP
Stealth=+sleeping@71.119.207.249
aegis=+~aegis@8A495AAB.AA868AFE.C012CF86.IP

> What does /userip show you that /who +n(or /who +nI) doesn't?
Doens't really matter, because normal users can't use +/-I

Grunt

2007-01-27 01:24

reporter   ~0013118

Last edited: 2007-01-27 04:16

While looking at the source code, I think I found the problem:

if (sptr != acptr && !IsOper(sptr) && IsHidden(acptr)) {
  make_virtual_host(sptr, GetIP(sptr), ipbuf, 0);
  ip = ipbuf;
}

I'm guessing, after reading part of the source code, that sptr is the nickname that actually send the USERIP command. So, changing sptr in the make_virtual_host line with acptr, like this:

  make_virtual_host(acptr, GetIP(acptr), ipbuf, 0);

should fix the problem. I tested it using 3 clients on a roommate's computer, and it seems ok.


EDIT: I also built a patch for it, uploading now...

2007-01-27 04:16

 

userip.patch (562 bytes)

stskeeps

2007-04-24 04:13

reporter   ~0013646

Fixed in .2363

Issue History

Date Modified Username Field Change
2007-01-26 16:49 Grunt New Issue
2007-01-26 16:49 Grunt 3rd party modules => I don't think so, yet again I'm not running the networks.
2007-01-26 18:31 Shining Phoenix Note Added: 0013113
2007-01-26 19:02 Stealth Note Added: 0013114
2007-01-27 01:24 Grunt Note Added: 0013118
2007-01-27 04:16 Grunt Note Edited: 0013118
2007-01-27 04:16 Grunt File Added: userip.patch
2007-04-19 02:44 stskeeps Relationship added has duplicate 0003215
2007-04-19 02:45 stskeeps Status new => acknowledged
2007-04-19 18:48 stskeeps Status acknowledged => confirmed
2007-04-24 04:13 stskeeps Status confirmed => resolved
2007-04-24 04:13 stskeeps Fixed in Version => 3.3-alpha0
2007-04-24 04:13 stskeeps Resolution open => fixed
2007-04-24 04:13 stskeeps Assigned To => stskeeps
2007-04-24 04:13 stskeeps Note Added: 0013646