Bug 330201 - reconnection prevented if the sole configured nickname is in use
Summary: reconnection prevented if the sole configured nickname is in use
Status: RESOLVED FIXED
Alias: None
Product: konversation
Classification: Applications
Component: general (other bugs)
Version First Reported In: 1.5
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: argonel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-20 13:51 UTC by Hans-Peter Jansen
Modified: 2015-03-13 23:02 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hans-Peter Jansen 2014-01-20 13:51:22 UTC
The configure settings reconnect delay and reconnect retries is misleading, since when sitting behind a router, that is typically reconnecting every 24 hours, the reconnect most often fails,
if a single nickname is used only. This happens, when a classical ifup based network setup is used at least.



Reproducible: Always

Steps to Reproduce:
1. set reconnect delay to 30 secs, retries to unlimited, limit yourself to a single identity, and connect to irc.freenode.net:6667
2. forcefully disconnect your router
3. watch the server log in konversation
Actual Results:  
A dialog appears, saying that the nickname is in use already, and the reconnect is canceled.

Expected Results:  
Unless reconnect retries are exhausted, reconnect attempts should be made

Due to the _quick_ reconnect or due to a protocol problem, the nickname is still marked as used on the server and the dialog "No nicknames were accepted (irc/server.cpp:1209)" appears. The dialog times out and returns no new nickname -> connection is disconnected in irc/inputfilter.cpp:1252.

Although unlimited reconnect attempts were chosen, the reconnect attempt stops after the first try!
Comment 1 argonel 2015-03-13 23:02:30 UTC
Git commit b47c04197f0e65a38a264fabda4523ac991eb364 by eli mackenzie.
Committed on 13/03/2015 at 20:01.
Pushed by argonel into branch '1.6'.

Prevent an in-use nickname from aborting reconnect

In the event there is only one nickname configured and the connection
times out while waiting for the user to supply a replacement nickname,
the reconnection will now proceed with the existing nickname in the
hope that it will become available.

M  +1    -1    src/commit.h
M  +5    -2    src/irc/inputfilter.cpp
M  +11   -10   src/irc/server.cpp

http://commits.kde.org/konversation/b47c04197f0e65a38a264fabda4523ac991eb364