Usecase here is that matrix bridge requires full user string as foo:matrix.org!foo@matrix.org where nick is foo:matrix.org.
We need to support : and . in nick without accidentally parsing a nick as an IP address or hostname. To do this, we require that both : and . need to be present and the nick must be followed by ! / username. The : prevents a hostname from being parsed and the trailing ! requirement prevents it from parsing against an IP address
Usecase here is that matrix bridge requires full user string as
foo:matrix.org!foo@matrix.org
where nick isfoo:matrix.org
.We need to support
:
and.
in nick without accidentally parsing a nick as an IP address or hostname. To do this, we require that both:
and.
need to be present and the nick must be followed by!
/ username. The:
prevents a hostname from being parsed and the trailing!
requirement prevents it from parsing against an IP address