[Konversation-devel] [Bug 130588] New: Ambiguous meaning of 320 numerical causing erroneous WHOIS display

Eike Hein sho at eikehein.com
Tue Jul 11 02:06:53 CEST 2006


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=130588         
           Summary: Ambiguous meaning of 320 numerical causing erroneous
                    WHOIS display
           Product: konversation
           Version: unspecified
          Platform: unspecified
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: konversation-devel kde org
        ReportedBy: sho eikehein com


Version:           SVN (using KDE KDE 3.5.3)
Installed from:    000

The meaning of the 320 protocol numerical is ambiguous, which can cause erroneous WHOIS data to be displayed to users. At least one server (Dancer, Freenode network) uses it to indicate whether a user has identified with services, while at least one other server (UnrealIRCD) uses it to indicate a "Secure Connection" (most likely SSL).

Example Dancer RAW log:
:kornbluth.freenode.net 320 Sho_ Hurga :is identified to services

Example UnrealIRCD RAW log:
:panther.furnet.org 320 Hurga Hurga :is a Secure Connection


It should be noted that UnrealIRCD uses the 307 numerical to indicate whether a user has identified for the nick they're using (note the semantic difference between this and Dancer's 320). Example RAW log:
:panther.furnet.org 307 Hurga Hurga :is a registered nick


The numerical catalogue website http://www.alien.net.au/irc/irc2numerics.html calls the 307 numerical "RPL_WHOISREGNICK", consistent with the UnrealIRC RAW log. The 320 numerical is known as "RPL_WHOISSPECIAL", with the meaning of special left undefined.


We have the following options going forward:

(a) Stop trying to make IRC nice for non-English speakers and merely display what the server sends us instead of using our own messages. This appears to be X-Chat's solution. 

(b) Decide to only support one of the competing meanings.

(c) Toggle between two translatable messages based on keywords in the server message, relying on the stability of their strings.

(d) Considering our history of special exceptions for UnrealIRCD, attempt to find reliable ways to tell whether we're on UnrealIRCD and switch into a special mode from thereon, to display the appropriate message.


All of these options are undesirable, but such is the life of an IRC client developer. (c) would be the quick and ugly fix, (d) the more elaborate and clean one - but (d) would also represent the epic decision to give in and recognize IRC as a fragmented protocol in the source base.


More information about the Konversation-devel mailing list