View Issue Details

IDProjectCategoryView StatusLast Update
0004538unrealircdpublic2018-09-10 08:41
ReportercapitaineAssigned Tosyzop 
PrioritynormalSeveritytrivialReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.0.0 
Target VersionFixed in Version4.2.0 
Summary0004538: Truncated channels name
DescriptionChannels names are truncated when they are created with a 0xA0 byte, but it leads to quite a buggy behavior, especially for UTF-8 configured clients.

Admins may have the choice to allow it simply :


channel.c:clean_channelname

#ifdef ALLOWNBSP
        if (*ch < 33 || *ch == ',')
#else
        if (*ch < 33 || *ch == ',' || *ch == ':' || *ch == 160)
#endif


or even allow it from config file.


Also, it seems that channels names are not truncated, with other commands than JOIN.
Steps To Reproduce
JOIN :#Pêche-à-la-ligne
:tester!test@localhost JOIN :#Pêche-?
:Test.chat MODE #Pêche-? +nt
:Test.chat 353 tester = #Pêche-? :@tester
:Test.chat 366 tester #Pêche-? :End of /NAMES list.

PRIVMSG #Pêche-à-la-ligne :Hello
:Test.chat 401 tester #Pêche-à-la-ligne :No such nick/channel
PART :#Pêche-à-la-ligne
:Test.chat 403 tester #Pêche-à-la-ligne :No such channel

PRIVMSG #Pêche-? :Hello
:Test.chat 401 tester #Pêche-? :No such nick/channel
PART :#Pêche-?
:Test.chat 403 tester #Pêche-? :No such channel

TagsNo tags attached.
3rd party modules

Activities

capitaine

2016-01-08 15:07

reporter   ~0019034

(sorry, I mixed 3.10 and 4.0 :)

#ifdef ALLOWNBSP
        if (*ch < 33 || *ch == ',' || *ch == ':')
#else
        if (*ch < 33 || *ch == ',' || *ch == ':' || *ch == 160)
#endif


Also, I tested with netcat and an UTF-8 console.

syzop

2016-01-08 20:51

administrator   ~0019035

Last edited: 2016-01-08 21:07

View 2 revisions

160 was originally forbidden because it's a "non breaking space" character, which looks.. like a space.. bit confusing in /LIST and such. But nowadays, well, as you say.. it could be wise to reconsider ;)

syzop

2018-09-10 08:41

administrator   ~0020318

Thanks for the report and sorry for taking so long for such a trivial change. Starting with UnrealIRCd 4.0.19 character 0xA0 is now permitted.

commit a4e076c08c9aee0853466e53174b138d3092d675 (HEAD -> unreal40, origin/unreal40, origin/HEAD)
Author: Bram Matthys <syzop@vulnscan.org>
Date: Mon Sep 10 08:38:41 2018 +0200

    Allow ASCII 0xa0 in channels / Fix truncated channel name.
    Reported by capitaine in https://bugs.unrealircd.org/view.php?id=4538

Issue History

Date Modified Username Field Change
2016-01-08 15:00 capitaine New Issue
2016-01-08 15:07 capitaine Note Added: 0019034
2016-01-08 20:51 syzop Note Added: 0019035
2016-01-08 21:07 syzop Note Edited: 0019035 View Revisions
2018-09-10 08:41 syzop Assigned To => syzop
2018-09-10 08:41 syzop Status new => resolved
2018-09-10 08:41 syzop Resolution open => fixed
2018-09-10 08:41 syzop Fixed in Version => 4.2.0
2018-09-10 08:41 syzop Note Added: 0020318