Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow UBAN ADDing realnames/gecos #1724

Open
Mikaela opened this issue Jun 29, 2021 · 9 comments
Open

Allow UBAN ADDing realnames/gecos #1724

Mikaela opened this issue Jun 29, 2021 · 9 comments

Comments

@Mikaela
Copy link
Contributor

Mikaela commented Jun 29, 2021

matrix-appservice-irc generally doesn't allow users to change realnames/gecos so thus the only way for operator to ban abusive users/homeservers is to ban by realname/gecos.

@slingamn
Copy link
Member

This seems like a "moderate on the other side of the bridge" problem? As in, if an operator or a bot has the ability to issue these bans on the Ergo side, they would be able to do it more effectively on the Matrix side?

@Mikaela
Copy link
Contributor Author

Mikaela commented Jun 29, 2021

Unlike RELAYMSG, the bridge spawns ghost users on IRC side kind of pretending to be a bouncer and the bridge may not be always be ran by the same people as Ergo. This is the case in our network that is migrating to Ergo and also Libera.Chat.

@slingamn
Copy link
Member

slingamn commented Jul 5, 2021

I'm thinking it would be interesting to develop a vendor extension that would allow "puppeting" bridges (like matrix-appservice-irc and go-discord-irc) to send an identifier for the user during registration, which Ergo could then hash into a unique cloak (using the account cloaking algorithm).

The bridge would send something like: BRIDGEID matrix [email protected] or BRIDGEID discord <id_number>.

@prdes
Copy link
Contributor

prdes commented Jul 5, 2021

So go-discord-irc uses WEBIRC. BRIDGEID seems to be a similar concept? It (go-discord-irc) creates an ipv6 address out of the <id_number> that doesn't/cannot clash with public ones and sends it with the rest of the usual WEBIRC parameters.

@slingamn
Copy link
Member

slingamn commented Jul 5, 2021

From discussion, we think go-discord-irc's algorithm:

https://github.com/qaisjp/go-discord-irc/blob/922e41f095d62a1e2dc10cf5fff38f3c4162bd2a/bridge/utils.go#L25

doesn't work with Ergo because it produces ipv6 addresses that are all in the same /64, so in the default Ergo configuration they receive an identical cloak.

@Mikaela
Copy link
Contributor Author

Mikaela commented Jul 7, 2021

I'm thinking it would be interesting to develop a vendor extension that would allow "puppeting" bridges (like matrix-appservice-irc and go-discord-irc) to send an identifier for the user during registration, which Ergo could then hash into a unique cloak (using the account cloaking algorithm).

The bridge would send something like: BRIDGEID matrix [email protected] or BRIDGEID discord <id_number>.

@Half-Shot thoughts?

@poVoq
Copy link

poVoq commented Jul 17, 2021

Biboumi (a xmpp to irc gateway) does implement webirc and thus allows xmpp server level bans without banning the gateway itself. At least on the more federated xmpp network that is usually sufficient to block abuse.

@Mikaela
Copy link
Contributor Author

Mikaela commented Aug 19, 2021

I think BRIDGEID could possibly also be useful for public shells for those who aren't just going to move to local and mobile clients

@Mikaela
Copy link
Contributor Author

Mikaela commented Jan 31, 2022

I hit this again recently and was also asking on #ergo how to get rid of a undesired Matrix bot. First I ended up UBANning all Matrix and XMPP users on the network and then just on specific channel when that was pointed out to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants