squidowl / halloy

IRC application written in Rust
GNU General Public License v3.0
1.18k stars 40 forks source link

Support expanded nick parsing #382

Closed tarkah closed 1 month ago

tarkah commented 1 month ago

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