Bug 30635 - Telepathy-Idle fails to parse user list on irc.euirc.net
Summary: Telepathy-Idle fails to parse user list on irc.euirc.net
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: idle (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 35504
  Show dependency treegraph
 
Reported: 2010-10-05 12:47 UTC by badcel
Modified: 2012-04-11 02:40 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
The debug output of telepathy-idle (54.84 KB, text/plain)
2010-11-09 09:27 UTC, badcel
Details
Proposed fix (1.08 KB, patch)
2011-03-19 11:05 UTC, Debarshi Ray
Details | Splinter Review

Description badcel 2010-10-05 12:47:42 UTC
If an IRC channel is joined on irc.euirc.net the userlist in Empathy is empty (only the own nick is shown). If joining the same channel with Pidgin everything works like expected.

If users are joining the channel afterwards, they are displayed in the userlist, only the initial loading of the userlist fails.

In euirc network there are certain user roles indicated via special signs in front of the nickname (like "@" for operators, "%" for halfops, "*" for owner, "!" for admins, "+" for voice), which seems to be the problem.

Debug output:
...
DEBUG: _parse_message: parsing ":irc.bas.ch.euirc.net 353 gfasd = #rx-et :gfasd Dobby2 %Way @badcel %terra-prime !Koga "
** (telepathy-idle:3980): DEBUG: _parse_and_forward_one: message code 23
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "irc.bas.ch.euirc.net" as I
** (telepathy-idle:3980): DEBUG: _parse_atom: ignored token
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "353" as I
** (telepathy-idle:3980): DEBUG: _parse_atom: ignored token
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "gfasd" as I
** (telepathy-idle:3980): DEBUG: _parse_atom: ignored token
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "=" as I
** (telepathy-idle:3980): DEBUG: _parse_atom: ignored token
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "#rx-et" as r
** (telepathy-idle:3980): DEBUG: _parse_atom: set handle 1
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "gfasd" as C
** (telepathy-idle:3980): DEBUG: idle_nickname_is_valid: Validating nickname 'gfasd' with strict mode 0
** (telepathy-idle:3980): DEBUG: _parse_atom: set handle 1
** (telepathy-idle:3980): DEBUG: _parse_atom: set modechar
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "Dobby2" as C
** (telepathy-idle:3980): DEBUG: idle_nickname_is_valid: Validating nickname 'Dobby2' with strict mode 0
** (telepathy-idle:3980): DEBUG: _parse_atom: set handle 3
** (telepathy-idle:3980): DEBUG: _parse_atom: set modechar
** (telepathy-idle:3980): DEBUG: _parse_atom: parsing atom "%Way" as C
** (telepathy-idle:3980): DEBUG: idle_nickname_is_valid: Validating nickname '%Way' with strict mode 0
** (telepathy-idle:3980): DEBUG: idle_nickname_is_valid: invalid character 37
** (telepathy-idle:3980): DEBUG: _parse_and_forward_one: failed to parse ":irc.bas.ch.euirc.net 353 gfasd = #rx-et :gfasd Dobby2 %Way @badcel %terra-prime !Koga "
** (telepathy-idle:3980): DEBUG: _parse_message: parsing ":irc.bas.ch.euirc.net 366 gfasd #rx-et :End of /NAMES list."
...

Regarding the user rights the server transmits:

** (telepathy-idle:3980): DEBUG: _parse_message: parsing ":irc.bas.ch.euirc.net 005 gfasd NETWORK=euIRCnet WATCH=128 SAFELIST PREFIX=(qaohv)*!@%+ CHANMODES=bewI,k,flBL,cimnprstACHKNOQRSVWXY CHANTYPES=#&+ KICKLEN=307 KNOCK MAP MAXBANS=100 MODES=6 NICKLEN=30 SILENCE=5 TOPICLEN=307 WALLCHOPS MAXCHANNELS=20 MAXTARGETS=20 :are available on this server"

With the string "PREFIX=(qaohv)*!@%+" representing the different modes a user can get.

Greetings, Marcel
Comment 1 badcel 2010-10-06 08:24:46 UTC
Tested with Ubuntu 10.04 (see debug) and Ubuntu 10.10 RC (same behavior).
Comment 2 badcel 2010-11-09 09:27:39 UTC
Created attachment 40155 [details]
The debug output of telepathy-idle

Shows the complete session from login until logout.
Comment 3 badcel 2010-11-09 09:28:56 UTC
Tested with Fedora 14 (same behaviour). I attached a complete log of telepathy-idle.
Comment 4 Debarshi Ray 2011-03-19 11:05:54 UTC
Created attachment 44618 [details] [review]
Proposed fix

This is just a temporary hack. The proper way to do it would be to handle the RPL_ISUPPORT numeric (http://tools.ietf.org/html/draft-brocklesby-irc-isupport-03), and look for the PREFIX parameter.

However that will require more intrusive changes, and it is better to do it in a separate patch.
Comment 5 Will Thompson 2011-03-21 06:42:35 UTC
(In reply to comment #4)
> Created an attachment (id=44618) [details]
> Proposed fix

Looks good, I've applied it to master. Thanks!

The fix will be released in telepathy-idle 0.1.9, hopefully later this week.

> This is just a temporary hack. The proper way to do it would be to handle the
> RPL_ISUPPORT numeric
> (http://tools.ietf.org/html/draft-brocklesby-irc-isupport-03), and look for the
> PREFIX parameter.
> 
> However that will require more intrusive changes, and it is better to do it in
> a separate patch.

I've filed bug 35504 for this.

In a perfect world, the fix for this bug could have included a test case; but I think that's the kind of thing that could also be folded into the more intrusive changes. It's not like there was a test for the symbols Idle already supported. :)
Comment 6 egphilippov 2012-04-08 23:44:54 UTC
Similar behavior is observed on Rusnet, channels #philosophy and (cyrillic channel name) #философия (both of these channels have half-ops present), but the behavior is OK at the Rusnet channel #philosophia (only ops and normal users present).

Empathy 2.30.3, Ubuntu 10.04.4 LTS, telepathy-idle_0.1.6-1_i386.deb.
Comment 7 egphilippov 2012-04-11 02:06:10 UTC
At RIZON irc.rizon.net, PREFIX=(qaohv)~&@%+

This should be added to a patch, since this patch doesn't work at Rizon.
Comment 8 egphilippov 2012-04-11 02:08:39 UTC
Rizon's TCP port for testing is 6667
Comment 9 egphilippov 2012-04-11 02:40:57 UTC
hmm. please ignore all of my previous comments about Rizon, these comments are irrelevant and misguiding. some stuff deleted the applied patch :( re-closing the bug.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.