Sat 06 Nov 2010 09:31:18 PM UTC, original submission:
inspircd has two kinds of usermodes: normal usermodes and, for ircops, snomasks.
Example:
/mode ircop +w
This, as we know, allows ircop to receive wallops.
The snomask works a bit differently:
/mode ircop +s +AaNn-Cc
This sets a snomask, adding the modes A, a, N and N and removing the modes Cc.
When an ircop does /oper he gets more usermodes and this snomask is first set:
/oper ircop password
--> | :server MODE ircop :+o
--> | :server 381 ircop :You are now an IRCop
--> | :ircop!ircop@somehost MODE ircop -i+ISWhows +aAkKlLoOxfjJgG
Let's view usermodes
<-- | MODE ircop
--> | :server 221 ircop :+ISWhorsw
--> | :server 008 ircop +AGJKLNOafgjklnotx :Server notice mask
So our usermode is: +ISWhorsw +AGJKLNOafgjklnotx
What does the irc_server infolist think our usermode is?
nick_modes....................: str 'xrosaAkKlLOfjJgGhwISWnNt'
What should it be?
nick_modes....................: str 'ISWhorsw'
and an additional nick_snomask
nick_snomask..................: str 'AGJKLNOafgjklnotx'
I realise that this might raise problems. How would you know when mode +s is a snomask and when it is simply a usermode without the extra flags?
|