Matrix-appservice-irc: Special characters in display (or user?) name cause strange behaviour

Created on 16 Apr 2019  路  5Comments  路  Source: matrix-org/matrix-appservice-irc

image

Edit: user is /dev/saces (@/dev/saces:redacted.org)

bug p1

Most helpful comment

It doesn't help that when trying to reproduce this, Synapse stops me from using disallowed characters in mxids :|

All 5 comments

I have a theory that we are generating a nick based upon this persons name, but the nick is not being used as a key so you end up with:

  • /dev/sacres joins a room, gets a client created
  • Nick is generated as devsacres[m], and stored in the client map as devsacres[m]
  • /dev/sacres talks in room, and a lookup is made for /dev/sacres[m].
  • The client is not found, and a new one is generated, this time it clashes and a number is appended and incremented.
  • ...rinse and repeat..

i'm ./:matrix.org and this is happen to me as well. I first tried register with freenode through riot.im appservice-irc:matrix.org and nickserv following this guide: https://github.com/matrix-org/matrix-appservice-irc/wiki/Guide:-How-to-use-Matrix-to-participate-in-IRC-rooms
back on the 10th, then everything went down the 11th so I went to freenode and register nick there. Since irc bridge has come back up I get 50/50 able to join and no matter what I tell appservice-irc !nick is, it comes back with "Nick changed from 'M2f[m]16' to 'M2f[m18'." incrementing similarly (+2) from there. In appservice-irc chat room I see "err_needreggednick" aligned to times fail to join happened.

Anything else useful I could do to help resolve this please say so and I'll attempt and reply back results, here or in matrix room(s) pointed to.

Something very similar to this badness also happens if the mxid has a port appended to it. @alice:foo.com:8449 or something will cause every new message from alice to try to spawn a new client...

It doesn't help that when trying to reproduce this, Synapse stops me from using disallowed characters in mxids :|

Currently this behavior is patched out on all current matrix.org bridges, which are running develop. I would like to return to this to escape nicknames so they are compliant with the Matrix Spec, but this issue is sufficiently more complicated than previously thought.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Platypuschan picture Platypuschan  路  4Comments

joepie91 picture joepie91  路  3Comments

dannycolin picture dannycolin  路  6Comments

colemickens picture colemickens  路  4Comments

Half-Shot picture Half-Shot  路  5Comments