[Pidgin] #6146: Incorrect IRC protocol when connecting to localhost

Pidgin trac at pidgin.im
Sun Jun 22 10:34:04 EDT 2008


#6146: Incorrect IRC protocol when connecting to localhost
---------------------+------------------------------------------------------
  Reporter:  brain   |       Owner:  elb                        
      Type:  defect  |      Status:  new                        
  Priority:  minor   |   Milestone:                             
 Component:  IRC     |     Version:  2.4.2                      
Resolution:          |    Keywords:  irc user ipv6 localhost ::1
   Pending:  0       |  
---------------------+------------------------------------------------------
Changes (by datallah):

  * owner:  lschiere => elb
  * component:  unclassified => IRC

Old description:

> When connecting to an irc server running on localhost where ipv6 is
> enabled, pidgin sends invalid IRC protocol messages for the USER command,
> which prevents the connection.
>
> For example:
>
> Sun Jun 22 00:14:21 2008: New file descriptor: 7
> Sun Jun 22 00:14:21 2008: C[7] -> :7-unknown PASS s3cred
> Sun Jun 22 00:14:21 2008: C[7] -> :7-unknown USER xHire LinuxTop ::1
> :xHire
> Sun Jun 22 00:14:21 2008: C[7] -> :7-unknown NICK xHire
> Sun Jun 22 00:14:52 2008: Remove file descriptor: 7
>
> Note here the USER command's third parameter, ::1 starts with a :, so the
> ircd interprets this to mean a command with three parameters, the third
> parameter being ":1 :xHire". There are several fixes for this, the first
> being not using the field (recommended by the RFC) and putting a * here,
> the second being to enclose the hostname/ip in quotes, and the third to
> place a 0 on the start of all ipv6 addresses that start with a : (most
> ircds do something like this for representing ipv6 in whois etc).
>
> I'll leave the implementation details to you :)

New description:

 When connecting to an irc server running on localhost where ipv6 is
 enabled, pidgin sends invalid IRC protocol messages for the USER command,
 which prevents the connection.

 For example:
 {{{
 Sun Jun 22 00:14:21 2008: New file descriptor: 7
 Sun Jun 22 00:14:21 2008: C[7] -> :7-unknown PASS s3cred
 Sun Jun 22 00:14:21 2008: C[7] -> :7-unknown USER xHire LinuxTop ::1
 :xHire
 Sun Jun 22 00:14:21 2008: C[7] -> :7-unknown NICK xHire
 Sun Jun 22 00:14:52 2008: Remove file descriptor: 7
 }}}

 Note here the USER command's third parameter, ::1 starts with a :, so the
 ircd interprets this to mean a command with three parameters, the third
 parameter being ":1 :xHire". There are several fixes for this, the first
 being not using the field (recommended by the RFC) and putting a * here,
 the second being to enclose the hostname/ip in quotes, and the third to
 place a 0 on the start of all ipv6 addresses that start with a : (most
 ircds do something like this for representing ipv6 in whois etc).

 I'll leave the implementation details to you :)

-- 
Ticket URL: <http://developer.pidgin.im/ticket/6146#comment:2>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list