mirror of
https://github.com/pissnet/angiosperm.git
synced 2024-11-21 04:24:45 +00:00
1175ff837d
This change modifies extb_channel to allow matching users in secret channels, which prevents trivial ban evasion by setting the target channel +s. Information leak due to this change is unlikely since the attacker would have to know that the target channel exists, the name of the channel (or guess it), have a specific user they wanted to know whether was in the channel (and not know already), and the target user would need to have something like autojoin-on-invite enabled (or any of the other various ways hostname cloaking is attacked).
31 lines
1.5 KiB
Text
31 lines
1.5 KiB
Text
MODE <channel> <+|-><b|q|e|I> $[~]<type>[:<data>]
|
|
|
|
Extended bans (ban conditionals) allow different checks than the usual
|
|
nick!user@host or nick!user@ip match to determine whether someone should
|
|
be banned, quieted, exempted or invited.
|
|
|
|
Extended bans are of the form $[~]<type>[:<data>]. The <type> is one
|
|
character (case insensitive) and determines the type of match. Most types
|
|
allow or require an extra field <data>. If the tilde (~) is present, the
|
|
result of the comparison will be negated, unless the ban is invalid in which
|
|
case it will never match. Invalid bans are ones where <data> is missing but
|
|
required or where <data> is otherwise invalid as noted below.
|
|
|
|
Unless noted below, all types can be used with +b, +q, +e and +I.
|
|
|
|
extb Type - DESCRIPTION
|
|
------------------------------------------------------------------------
|
|
$a - Matches all logged in users
|
|
$a:<mask> - Matches users logged in with a username matching the mask
|
|
(* and ? wildcards)
|
|
$c:<chan> - Matches users who are on the given channel
|
|
$o - Matches opers (most useful with +I)
|
|
$r:<mask> - Matches users with a realname (gecos) matching the mask
|
|
(* and ? wildcards); this can only be used with +b and +q
|
|
$s:<mask> - matches users connected to a server matching the mask
|
|
(* and ? wildcards); this can only be used with +b and +q
|
|
$j:<chan> - matches users who are or are not banned from a specified
|
|
channel
|
|
$x:<mask> - Bans all users with matching nick!user@host#gecos
|
|
$z - Matches all SSL users
|
|
|