GNU bug report logs - #6795
rcirc: ERR_NICKNAMEINUSE causes infinite loop under certain circumstances

Previous Next

Package: emacs;

Reported by: Deniz Dogan <deniz.a.m.dogan <at> gmail.com>

Date: Wed, 4 Aug 2010 17:56:01 UTC

Severity: normal

Tags: fixed

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 6795 in the body.
You can then email your comments to 6795 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6795; Package emacs. (Wed, 04 Aug 2010 17:56:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Deniz Dogan <deniz.a.m.dogan <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 04 Aug 2010 17:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Deniz Dogan <deniz.a.m.dogan <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: rcirc: ERR_NICKNAMEINUSE causes infinite loop under certain 
	circumstances
Date: Wed, 4 Aug 2010 19:55:21 +0200
Currently rcirc-handler-433 (ERR_NICKNAMEINUSE) tries to "uniquify"
the nickname the user tried to use by appeding a ` to the requested
nickname. However, if the length of the requested nickname is as long
as or longer than the maximum allowed length on the server, the
"uniquification" will not work resulting in an attempt to switch to
the same nickname that caused the error in the first place:

Example:
/nick superlongnickname
*** 433 superlongn Nickname is already in use.

Here the IRC server truncates the requested nickname to "superlongn"
which is already taken and then it tries to change to
"superlongnickname`" which of course will also be truncated to
"superlongn". Hence, something like this will be printed in the server
buffer:

*** 433 superlongn Nickname is already in use.
*** 433 superlongn Nickname is already in use.
*** 433 superlongn Nickname is already in use.
*** 433 superlongn Nickname is already in use.

...and so on.

The maximum nickname length of the server is received in a 005 message
from the server when connecting. Example (NICKLEN=16):

*** 005 SAFELIST ELIST=U CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=16
    CHANNELLEN=50 TOPICLEN=390 ETRACE CPRIVMSG CNOTICE DEAF=D
    MONITOR=100 are supported by this server

This information should ideally be stored as a buffer-local variable
or maybe in some other fashion and then we should use this information
to make better "uniquifications" of nicknames.

-- 
Deniz Dogan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#6795; Package emacs. (Tue, 08 Dec 2020 17:24:02 GMT) Full text and rfc822 format available.

Message #8 received at 6795 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Deniz Dogan <deniz.a.m.dogan <at> gmail.com>
Cc: 6795 <at> debbugs.gnu.org
Subject: Re: bug#6795: rcirc: ERR_NICKNAMEINUSE causes infinite loop under
 certain  circumstances
Date: Tue, 08 Dec 2020 18:23:06 +0100
Deniz Dogan <deniz.a.m.dogan <at> gmail.com> writes:

> Currently rcirc-handler-433 (ERR_NICKNAMEINUSE) tries to "uniquify"
> the nickname the user tried to use by appeding a ` to the requested
> nickname. However, if the length of the requested nickname is as long
> as or longer than the maximum allowed length on the server, the
> "uniquification" will not work resulting in an attempt to switch to
> the same nickname that caused the error in the first place:
>
> Example:
> /nick superlongnickname
> *** 433 superlongn Nickname is already in use.
>
> Here the IRC server truncates the requested nickname to "superlongn"
> which is already taken and then it tries to change to
> "superlongnickname`" which of course will also be truncated to
> "superlongn". Hence, something like this will be printed in the server
> buffer:
>
> *** 433 superlongn Nickname is already in use.
> *** 433 superlongn Nickname is already in use.
> *** 433 superlongn Nickname is already in use.
> *** 433 superlongn Nickname is already in use.

This should now be fixed in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 08 Dec 2020 17:24:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 6795 <at> debbugs.gnu.org and Deniz Dogan <deniz.a.m.dogan <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 08 Dec 2020 17:24:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 06 Jan 2021 12:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 223 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.