[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