NameCheckInterceptor rejects all nicknames with A0-bytes
Brought to you by:
smanux
NameCheckInterceptor will reject any user that attempts to log in with an A0-byte in the representation of their nickname. I suspect this is intended to deny nicknames containing nonbreaking spaces, (unicode 00A0, UTF-8 C2A0) but it also rejects valid characters, such as à (unicode 00E0, UTF-8 C3A0) or Ӡ (unicode 04E0, UTF-8 D3A0.)
Anonymous
What client/os did you use to send a name in UTF-8 ?
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
Hello Emmanuel,
I encountered this in the course of testing iTetrinet (the client I'm writing for Mac OS X) but the problem also occurs with GTetrinet 0.7.11.
I don't remember why the non breakable space is rejected. I tried to force a player name with this character and didn't observe any issue. The only messages containing the player name are playerjoin and gmsg, and they are parsed correctly even if they contain a non breakable character. You can probably disable the check in NameCheckInterceptor. I'll keep digging a bit to ensure I didn't miss an important case.
I checked how the other servers handle a non breakable space in the name:
- tetrinetx and ptns allows it
- the 2ice server running at tetrinet.fr rejects it, that is deliberate to avoid fancy names
- tetridome.com rejects it, stating the name contains illegal characters
You may want to check on tetrinet.fr and tetridome.com, if you encode the player name in UTF-8 you'll probably have the same issue there.
Regarding Jetrix I wonder if I should remove the restriction. I may have done that to avoid issues with the commands typed on the party line that are expecting a player name as a parameter (for example "/tell John Hello!").