Without this, anyone using irccloud (or a similar service) can get all other users k:lined
by tripping on a trap (J).
Goal: they should be treated like a tor user (getting themselves killed).
Background: I'm an irccloud user, and today someone managed to trip on a J trap which got my connection to oftc k:lined.
@dwfreed said that we could add some sort of pattern/mask support to enable users like me not to suffer when other irccloud users do harmless stupid things.
Implementation:
This adds an extra sql table (I'm not an expert in any of this -- SQL, Ruby, Services, IRCD, so obviously my code should be carefully reviewed)
This adds two commands PROTECT and UNPROTECT -- I'm not attached to the command names (or anything else really). Both take irc masks or regular expressions (the former being converted into the latter).
Some extra state variables are added, and when a akill is called, after checking if the user is on tor, the code tries to check to see if the host would match a protected pattern -- if so, the kill is downgraded to the user just as for tor users.
Without this, anyone using irccloud (or a similar service) can get all other users k:lined by tripping on a trap (J).
Goal: they should be treated like a tor user (getting themselves killed).
Background: I'm an irccloud user, and today someone managed to trip on a
J
trap which got my connection to oftc k:lined.@dwfreed said that we could add some sort of pattern/mask support to enable users like me not to suffer when other irccloud users do harmless stupid things.
Implementation:
PROTECT
andUNPROTECT
-- I'm not attached to the command names (or anything else really). Both take irc masks or regular expressions (the former being converted into the latter).akill
is called, after checking if the user is on tor, the code tries to check to see if the host would match a protected pattern -- if so, the kill is downgraded to the user just as for tor users.