diff options
author | Adam <Adam@anope.org> | 2011-05-01 18:41:54 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-05-01 18:41:54 -0400 |
commit | 4a3c64291f683823a1f8977c00f57b57af577f03 (patch) | |
tree | 53129214f4d48bc3a661d7e1a83c60576758cb46 /include | |
parent | 036b3c9053d663b0714690db33161e2df9e76782 (diff) |
Fixed sometimes not removing nick masks from the access list when the group is dropped
Diffstat (limited to 'include')
-rw-r--r-- | include/language.h | 2 | ||||
-rw-r--r-- | include/regchannel.h | 38 | ||||
-rw-r--r-- | include/services.h | 40 |
3 files changed, 39 insertions, 41 deletions
diff --git a/include/language.h b/include/language.h index 409ffc7d4..f4329a72b 100644 --- a/include/language.h +++ b/include/language.h @@ -48,7 +48,7 @@ #define NICK_ALREADY_REGISTERED "Nickname \002%s\002 is already registered!" #define NICK_SET_SYNTAX "SET \037option\037 \037parameters\037" #define NICK_SET_DISABLED "Sorry, nickname option setting is temporarily disabled." -#define NICK_SET_UNKNOWN_OPTION "Unknown SET option \002%s\002." +#define NICK_SET_UNKNOWN_OPTION "Unknown SET option \002%s%s\002." #define NICK_SET_DISPLAY_CHANGED "The new display is now \002%s\002." #define NICK_SASET_SYNTAX "SASET \037nickname\037 \037option\037 \037parameters\037" #define NICK_SASET_DISPLAY_INVALID "The new display for \002%s\002 MUST be a nickname of the nickname group!" diff --git a/include/regchannel.h b/include/regchannel.h index f2eaf5952..f662381c0 100644 --- a/include/regchannel.h +++ b/include/regchannel.h @@ -68,6 +68,44 @@ const Anope::string ChannelInfoFlagStrings[] = { "SIGNKICK", "SIGNKICK_LEVEL", "XOP", "SUSPENDED", "PERSIST", "" }; +class ChanAccess +{ + Anope::string mask; /* Mask of the access entry */ + public: + int16 level; + NickCore *nc; /* NC of the entry, if the entry is a valid nickcore */ + time_t last_seen; + Anope::string creator; + + ChanAccess(const Anope::string &umask); + const Anope::string &GetMask(); +}; + +/** Flags for auto kick + */ +enum AutoKickFlag +{ + /* Is by nick core, not mask */ + AK_ISNICK +}; + +const Anope::string AutoKickFlagString[] = { "AK_ISNICK", "" }; + +/* AutoKick data. */ +class AutoKick : public Flags<AutoKickFlag> +{ + public: + AutoKick() : Flags<AutoKickFlag>(AutoKickFlagString) { } + /* Only one of these can be in use */ + Anope::string mask; + NickCore *nc; + + Anope::string reason; + Anope::string creator; + time_t addtime; + time_t last_used; +}; + struct ModeLock { bool set; diff --git a/include/services.h b/include/services.h index b83790355..6caa06d48 100644 --- a/include/services.h +++ b/include/services.h @@ -557,46 +557,6 @@ enum AccessLevel ACCESS_QOP = 10000 }; -/* Channel info structures. Stored similarly to the nicks, except that - * the second character of the channel name, not the first, is used to - * determine the list. (Hashing based on the first character of the name - * wouldn't get very far. ;) ) */ - -/* Access levels for users. */ -struct ChanAccess -{ - int16 level; - Anope::string mask; /* Mask of the access entry */ - NickCore *nc; /* NC of the entry, if the entry is a valid nickcore */ - time_t last_seen; - Anope::string creator; -}; - -/** Flags for auto kick - */ -enum AutoKickFlag -{ - /* Is by nick core, not mask */ - AK_ISNICK -}; - -const Anope::string AutoKickFlagString[] = { "AK_ISNICK", "" }; - -/* AutoKick data. */ -class AutoKick : public Flags<AutoKickFlag> -{ - public: - AutoKick() : Flags<AutoKickFlag>(AutoKickFlagString) { } - /* Only one of these can be in use */ - Anope::string mask; - NickCore *nc; - - Anope::string reason; - Anope::string creator; - time_t addtime; - time_t last_used; -}; - /** Flags for badwords */ enum BadWordType |