View Issue Details

IDProjectCategoryView StatusLast Update
0003287unrealircdpublic2007-04-24 04:44
Reportersatmd Assigned Tostskeeps 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformanyOSanyOS Versionany
Product Version3.2.6 
Fixed in Version3.3-alpha0 
Summary0003287: Unreal's 318 end of /whois list breaks RFC
DescriptionDuring a discussion about 318 implementations with a client developer on inspircd we found different behaviour with 318 implementations in different ircds.

From RFC:
318 RPL_ENDOFWHOIS
        "<nick> :End of /WHOIS list"

This implies (as it is <nick> and not <nick>{,<nick>}*) that this must be sent once for every nick that a whois was requested for (unless you have an error - no such server/nick).

The reasoning behind the RFC wording might actually be memory management for clients that rely on the 318 for freeing up used memory and delivering the response to clients. Since the RFC allows them to do an exact match on <nick> here, they might leak memory and/or completely break when they never match.

Fortunately, I've not heard yet of a client doing whois on nick lists and this probably is the only reaseon why we did not get bug reports on this one yet.

I will attach a patch.
Steps To Reproducedo /whois nick1,nick2 on several ircds and compare output
Additional InformationMy patch does not yet account for the "no such server reply" error. That error shall not result in a 318 per RFC, but I was unable to find the reference to fix this in m_whois.c
TagsNo tags attached.
Attached Files
unreal318fix.patch (515 bytes)
3rd party modules

Activities

stskeeps

2007-04-24 04:44

reporter   ~0013649

Fixed in .2366

Issue History

Date Modified Username Field Change
2007-04-19 02:50 satmd New Issue
2007-04-19 02:50 satmd File Added: unreal318fix.patch
2007-04-19 02:58 stskeeps Status new => acknowledged
2007-04-19 03:06 stskeeps Status acknowledged => confirmed
2007-04-24 04:44 stskeeps Status confirmed => resolved
2007-04-24 04:44 stskeeps Fixed in Version => 3.3-alpha0
2007-04-24 04:44 stskeeps Resolution open => fixed
2007-04-24 04:44 stskeeps Assigned To => stskeeps
2007-04-24 04:44 stskeeps Note Added: 0013649