Bug 292289 - Konversation does not auto-join channels when connecting to Hector IRC server
Summary: Konversation does not auto-join channels when connecting to Hector IRC server
Status: RESOLVED DOWNSTREAM
Alias: None
Product: konversation
Classification: Applications
Component: protocol (show other bugs)
Version: 1.4
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-23 19:48 UTC by drubo
Modified: 2012-01-25 16:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description drubo 2012-01-23 19:48:26 UTC
Version:           1.4 (using KDE 4.6.5) 
OS:                Linux

Hector can be found here: https://github.com/sstephenson/hector#readme

When Konversation starts, it automatically connects to the servers that I have specified. Most of them, including OFTC, auto-join channels when the connection is
finished. My connection to a Hector server does not automatically join channels, but manually joining channels with /join does work.

One of the IRC features that Hector does away with is the connection MOTD. I have a hunch that Konversation is waiting for the MOTD before it will automatically join channels. No evidence to support this, though. 

I know one of the major Hector contributors and he assures me that the MOTD is not a required part of the protocol, it's just a convention. Also, in lieu of a MOTD, Hector sends 422 ERR_NOMOTD, as specified in RFC 2812:

http://tools.ietf.org/html/rfc2812#page-55

So this would seem to be a client issue.

This has also been reported as Debian bug #656250.

Reproducible: Always

Steps to Reproduce:
Start Konversation with a hector server in the server list and at least one channel specified in "auto join channels", and either have it to set to connect at application start or press connect. 

Actual Results:  
Konversation connects to the server:

[11:46] [Info] Looking for server irc.blolol.com (port 6868)...
[11:46] [Info] Server found, connecting...
[11:46] [SSL Connection Warning] The SSL certificate for the server irc.blolol.com (port 6868) failed the authenticity check.
[11:46] [Info] Connected; logging in...
[11:46] [Welcome] Welcome to IRC

This is the end of the server messages. Konversation does not open any channels. 

Expected Results:  
Konversation should have automatically joined the channel I specified.
Comment 1 Eike Hein 2012-01-24 02:01:26 UTC
Thanks for a high-quality bug report. Your deduction is correct; ENDOFMOTD is currently among the auto-join triggers, but ERRNOMOTD is not. I'll amend that in the 1.4 amd master branches once I get back to my desk.
Comment 2 Eike Hein 2012-01-24 07:44:19 UTC
Turns out we already do auto-join on 422. I've installed Hector to take a closer look.
Comment 3 Eike Hein 2012-01-24 08:24:29 UTC
It's a bug in Hector. It sends 422 without a reply target:

    :myserver.irc 422 :MOTD File is missing

RFC 2812: "The numeric reply MUST be sent as one message consisting of the sender prefix, the three-digit numeric, and the target of the reply."

Our parser ignores the malformatted 422. We are picky parsers (and tend to do better on fuzz testing than most clients as a result).

Once Hector is fixed auto-join will work for you.
Comment 4 drubo 2012-01-25 16:10:32 UTC
Ok, I've let the Hector people know. Thanks for the quick response.