[Pidgin] #17038: IRC conformance issues: backend sends initial USER and NICK messages out of order, and supplies bogus mode.

Pidgin trac at pidgin.im
Thu Jun 9 23:50:29 EDT 2016


#17038: IRC conformance issues:  backend sends initial USER and NICK messages out
of order, and supplies bogus mode.
----------------------------------+------------------
 Reporter:  isd                   |       Owner:  elb
     Type:  defect                |      Status:  new
Milestone:                        |   Component:  IRC
  Version:  2.10.12               |  Resolution:
 Keywords:  standards-compliance  |
----------------------------------+------------------

Comment (by isd):

 >  RFC 2812 "dictates" no such thing in section 3.1.  What it actually >
 >  says is:
 >
 >    The RECOMMENDED order for a client to register is as follows:
 >
 >                             1. Pass message
 >             2. Nick message                 2. Service message
 >             3. User message
 >
 >  Emphasis from the original document.  You may want to read RFC 2119 for
 >  the definition of RECOMMENDED as used in RFCs.  Note also that there
 are
 >  no normative IRC RFCs; 1459 is Experimental, and the following RFCs are
 >  all Informational.  They are also inconsistent, ambiguous, and
 generally
 >  broken.  Many implementations are non-compliant and/or have
 >  interoperability problems in weird and wonderful ways.

 I'm familiar with RFC 2119. Point taken.

 >  Your tool has conformance bugs if it does not allow NICK and USER to be
 in
 >  the order that Pidgin sends them.

 Can't really be called a conformance bug if there's no normative
 definition of what's conforming, but yeah, having to deal with existing
 implementations is what I get for working with an old, ill-specified
 protocol like IRC. I try to improve things where I can.

 Probably the thing to do (if anything) is to improve the spec; that
 section doesn't actually impose any requirements on what servers do re:
 dealing with SHOULD violations on the client's part. But this bug
 tracker is certainly the wrong place for that.

 FWIW, the change that introduced this is commit 2574, which was in
 October 2001. I look on the old sourceforge commit list in hopes of
 recovering a commit message (looks like not imported by whatever tool
 was used to convert the repo), but the message wasn't helpful.  Couldn't
 find any relevant mailing list messages from that era (though the logs
 from back then do still exist), maybe it was discussed on IRC, if at
 all, but there don't seem to be logs for that. I'd hoped the reason for
 the behavior might have at least been written down; maybe the original
 guilty parties are gone/fixed. :(.  Lost to history indeed.

 *sigh* Sorry for the noise I guess.

--
Ticket URL: <https://developer.pidgin.im/ticket/17038#comment:3>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list