diff -uNr ircservices-5.0.0/Changes ircservices-5.0.1/Changes --- ircservices-5.0.0/Changes Sun Oct 6 19:46:24 2002 +++ ircservices-5.0.1/Changes Fri Oct 18 15:34:32 2002 @@ -1,5 +1,19 @@ Version 5.0 ----------- +2002/10/18 .1 Fixed convert-db bugs with linked nicks (Auspice 2.7) and + channel access lists (all programs). Reported by + +2002/10/17 NickServ LINK and UNLINK are now disabled in read-only mode. + Reported by Dennis Sela +2002/10/11 Fixed several compiler warnings. +2002/10/11 Cosmetic fixes to debug log messages. +2002/10/10 Fixed bug causing ChanServ CLEAR BANS to only clear one ban + at a time. Reported by Ali Sor +2002/10/10 Corrected a cosmetic bug in configure script and a compiler + error when compiling static modules, both on Solaris. + Reported by +2002/10/06 Disabled -dumpcore by default in the configure script (to + match help text). 2002/10/06 .0 Version 5.0.0 released. 2002/10/02 p15 Removed AKILL option for OperServ STATS command. 2002/10/02 Fixed bug in checking protocol features from core code. @@ -97,7 +111,7 @@ 2002/08/09 Updated trircd protocol module from suggestions by Yusuf Iskenderoglu 2002/07/29 Halfops can now set -h and +/-v on themselves. Reported by - Dennis Sela + Dennis Sela 2002/07/28 pre6 Nicknames linked to the Services super-user nickname now get super-user privileges as well. Suggested by Shaun Guth diff -uNr ircservices-5.0.0/TODO ircservices-5.0.1/TODO --- ircservices-5.0.0/TODO Wed Sep 18 22:05:59 2002 +++ ircservices-5.0.1/TODO Wed Oct 9 16:03:26 2002 @@ -1,5 +1,7 @@ Things to probably do: +NS/CS Allow "/ns list +21 *.foo.com" and the like (is this syntax good?) + [Michael D. Smith ] CS Return XOP instead of numbers for STATUS when appropriate [Jollino ] NS Optionally send memo to newly registered nicks diff -uNr ircservices-5.0.0/actions.c ircservices-5.0.1/actions.c --- ircservices-5.0.0/actions.c Sun Oct 6 19:56:18 2002 +++ ircservices-5.0.1/actions.c Fri Oct 18 15:45:47 2002 @@ -148,6 +148,12 @@ int32 to_clear = cu->mode & modes; /* modes we need to clear */ int32 flag = 1; /* mode we're clearing now */ while (to_clear) { + if (flag == MODE_INVALID) { + log("BUG: hit invalid flag in clear_umodes!" + " modes to clear = %08X, user modes = %08X", + to_clear, cu->mode); + break; + } if (to_clear & flag) { char buf[3] = "-x"; buf[1] = mode_flag_to_char(flag, MODE_CHANUSER); @@ -155,12 +161,6 @@ to_clear &= ~flag; } flag <<= 1; - if (flag == MODE_INVALID) { - log("BUG: hit invalid flag in clear_umodes!" - " modes to clear = %08X, user modes = %08X", - to_clear, cu->mode); - break; - } } cu->mode &= ~modes; } @@ -362,33 +362,35 @@ len += snprintf(parambuf+len, sizeof(parambuf)-len, "%s%s", len ? " " : "", s); } - /* See if we've set this mode before */ - for (i = md->nopmodes-1; i >= 0; i--) { - if (md->opmodes[i*2+1] == c) { - /* We've already set this mode once */ - if (is_chanuser) { - /* Only remove the old mode if the nick matches */ - if (irc_stricmp(md->params[i], parambuf) != 0) - continue; - } - /* Remove this setting; the new one will be appended - * afterwards (note that this assumes that setting each - * mode is independent, i.e. that -a+ba 2 1 has the - * same effect as +ba 2 1 by itself when +a is set) */ - md->nopmodes--; - s = md->opmodes + (i*2); - memmove(s, s+2, strlen(s+2)+1); - md->nparams--; - s = md->params[i]-1; - while ((s = strchr(s+1, ' ')) != NULL) + if (flag != MODE_INVALID) { + /* If it's a binary mode, see if we've set this mode before */ + for (i = md->nopmodes-1; i >= 0; i--) { + if (md->opmodes[i*2+1] == c) { + /* We've already set this mode once */ + if (is_chanuser) { + /* Only remove the old mode if the nick matches */ + if (irc_stricmp(md->params[i], parambuf) != 0) + continue; + } + /* Remove this setting; the new one will be appended + * afterwards (note that this assumes that setting each + * mode is independent, i.e. that -a+ba 2 1 has the + * same effect as +ba 2 1 by itself when +a is set) */ + md->nopmodes--; + s = md->opmodes + (i*2); + memmove(s, s+2, strlen(s+2)+1); md->nparams--; - if (i < md->nopmodes) { - memmove(md->params+i, md->params+i+1, - sizeof(md->params[0])*(md->nopmodes-i)); + s = md->params[i]-1; + while ((s = strchr(s+1, ' ')) != NULL) + md->nparams--; + if (i < md->nopmodes) { + memmove(md->params+i, md->params+i+1, + sizeof(md->params[0])*(md->nopmodes-i)); + } + memset(md->params+md->nopmodes, 0, sizeof(md->params[0])); } - memset(md->params+md->nopmodes, 0, sizeof(md->params[0])); } - } + } /* if (flag != MODE_INVALID) */ /* Check for overflow of parameter count or length (the * MAXPARAMSLEN check is >= because of the separating space * added between parameters) */ diff -uNr ircservices-5.0.0/conffile.c ircservices-5.0.1/conffile.c --- ircservices-5.0.0/conffile.c Sun Oct 6 19:56:18 2002 +++ ircservices-5.0.1/conffile.c Fri Oct 18 15:45:47 2002 @@ -103,7 +103,7 @@ /* Print an error message to the log (and the console, if open). */ -void config_error(const char *filename, int linenum, char *message, ...) +void config_error(const char *filename, int linenum, const char *message, ...) { char buf[4096]; va_list args; diff -uNr ircservices-5.0.0/conffile.h ircservices-5.0.1/conffile.h --- ircservices-5.0.0/conffile.h Sun Oct 6 19:56:18 2002 +++ ircservices-5.0.1/conffile.h Fri Oct 18 15:45:47 2002 @@ -78,7 +78,8 @@ /* Global functions: */ /* Print an error message to the log (and the console, if open). */ -extern void config_error(const char *filename, int linenum, char *message,...); +extern void config_error(const char *filename, int linenum, + const char *message,...); /* Set configuration options for the given module (if `modulename' is NULL, * set core configuration options). Returns nonzero on success, 0 on error diff -uNr ircservices-5.0.0/configure ircservices-5.0.1/configure --- ircservices-5.0.0/configure Sun Sep 15 00:37:36 2002 +++ ircservices-5.0.1/configure Fri Oct 18 15:39:29 2002 @@ -135,6 +135,10 @@ ########################################################################### ########################################################################### +# Start of actual script. + +########################################################################### + # Create a temporary directory for our use. if exists tmp ; then @@ -173,7 +177,7 @@ CLEAN_COMPILE=y MEMCHECKS= -DUMPCORE=y +DUMPCORE= STATIC_MODULES= CC_SHARED= @@ -627,7 +631,7 @@ echo2 "Searching for a suitable compiler... " if [ "$USER_CC" ] ; then CC="$USER_CC" - if $CC --version 2>&1 | fgrep -q 2.96 ; then + if $CC --version 2>&1 | fgrep 2.96 >/dev/null ; then log user supplied \`"$CC'", which appears to be GCC 2.96 log output of \`"$CC --version':" run $CC --version @@ -677,7 +681,7 @@ echo "(cached) using $CC." log cache supplied \`"$CC'" elif run gcc --version ; then - if gcc --version 2>&1 | fgrep -q 2.96 ; then + if gcc --version 2>&1 | fgrep 2.96 >/dev/null ; then cat < is the name of the time zone to be used; consult your # system manual for how time zone names are specified on your system. -# The following example will cause Services to use United States -# Pacific time on most systems: +# Note that users can set time zones for their own nicknames +# independently; this setting is only used as a default. The +# following example will cause Services to use United States Pacific +# time on most systems: #DefTimeZone PST8PDT diff -uNr ircservices-5.0.0/data/example-modules.conf ircservices-5.0.1/data/example-modules.conf --- ircservices-5.0.0/data/example-modules.conf Sun Oct 6 19:56:17 2002 +++ ircservices-5.0.1/data/example-modules.conf Fri Oct 18 15:45:45 2002 @@ -20,8 +20,8 @@ # Specifies the common domain, if any, shared by all servers on # your IRC network; this is required for global notices to function # properly. Make sure you do not include a "." before the domain - # name. If you do not specify this, some users may not receive - # global notices. + # name. If you do not specify this, some or all users may not + # receive global notices. #NetworkDomain "example.net" @@ -1405,7 +1405,7 @@ Module misc/xml-import - # OnNicknameCollision [REQUIRED] + # OnNicknameCollision [OPTIONAL] # Specifies the action to be taken when a nickname in the data to # import is already registered. The string must be one of either # "skipgroup" (skip over the nickname group containing the nickname @@ -1417,7 +1417,7 @@ #OnNicknameCollision skipgroup - # OnChannelCollision [REQUIRED] + # OnChannelCollision [OPTIONAL] # Specifies the action to be taken when a channel in the data to # import is already registered. The string must be one of either # "skip" (skip over the channel in the imported data) or "abort" diff -uNr ircservices-5.0.0/docs/a.html ircservices-5.0.1/docs/a.html --- ircservices-5.0.0/docs/a.html Sun Sep 29 21:43:11 2002 +++ ircservices-5.0.1/docs/a.html Thu Oct 17 23:15:27 2002 @@ -506,8 +506,10 @@ default time zone (the value of the TZ environment variable) is used. time-zone is the name of the time zone to be used; consult your system manual for how time zone names are specified on your system. -The following example will cause Services to use United States -Pacific time on most systems: +Note that users can set time zones for their own nicknames +independently; this setting is only used as a default. The +following example will cause Services to use United States Pacific +time on most systems:

Example: DefTimeZone PST8PDT @@ -590,8 +592,8 @@

Specifies the common domain, if any, shared by all servers on your IRC network; this is required for global notices to function properly. Make sure you do not include a "." before the domain -name. If you do not specify this, some users may not receive -global notices. +name. If you do not specify this, some or all users may not +receive global notices.

Example: NetworkDomain "example.net" @@ -2269,7 +2271,7 @@

  • -OnNicknameCollision action    [REQUIRED] +OnNicknameCollision action    [OPTIONAL]

    Specifies the action to be taken when a nickname in the data to import is already registered. The string must be one of either "skipgroup" (skip over the nickname group containing the nickname @@ -2284,7 +2286,7 @@

    • -OnChannelCollision action    [REQUIRED] +OnChannelCollision action    [OPTIONAL]

      Specifies the action to be taken when a channel in the data to import is already registered. The string must be one of either "skip" (skip over the channel in the imported data) or "abort" diff -uNr ircservices-5.0.0/extern.h ircservices-5.0.1/extern.h --- ircservices-5.0.0/extern.h Sun Oct 6 19:56:18 2002 +++ ircservices-5.0.1/extern.h Fri Oct 18 15:45:47 2002 @@ -162,7 +162,7 @@ /**** main.c ****/ -E char * services_dir; +E const char *services_dir; E int debug; E int readonly; E int nofork; @@ -172,7 +172,7 @@ E int quitting; E int delayed_quit; -E char * quitmsg; +E const char *quitmsg; E char inbuf[BUFSIZE]; E Socket *servsock; E int save_data; @@ -194,7 +194,7 @@ E int irc_stricmp(const char *s1, const char *s2); E int irc_strnicmp(const char *s1, const char *s2, int max); E char *strscpy(char *d, const char *s, size_t len); -E char *stristr(char *s1, char *s2); +E char *stristr(const char *s1, const char *s2); E char *strupper(char *s); E char *strlower(char *s); E char *strnrepl(char *s, int32 size, const char *old, const char *new); @@ -238,8 +238,8 @@ /**** send.c ****/ E time_t last_send; -E char *pseudoclient_modes; -E char *enforcer_modes; +E const char *pseudoclient_modes; +E const char *enforcer_modes; /* Protocol information (set by protocol module): */ E const char *protocol_name; diff -uNr ircservices-5.0.0/lang/de.l ircservices-5.0.1/lang/de.l --- ircservices-5.0.0/lang/de.l Thu Oct 3 17:07:30 2002 +++ ircservices-5.0.1/lang/de.l Fri Oct 18 09:20:24 2002 @@ -474,6 +474,8 @@ LINK Chatname Passwort NICK_LINK_SYNTAX LINK Chatname +NICK_LINK_DISABLED + Zur Zeit ist das Linken von Chatnamen deaktiviert. NICK_LINK_FAILED Der Link konnte nicht erzeugt werden. NICK_CANNOT_BE_LINKED @@ -504,6 +506,8 @@ UNLINK Chatname NICK_UNLINK_OPER_SYNTAX UNLINK Chatname [FORCE] +NICK_UNLINK_DISABLED + Zur Zeit ist das Unlinken von Chatnamen deaktiviert. NICK_UNLINK_FAILED Der Link konnte nicht gelscht werden. NICK_UNLINK_SAME diff -uNr ircservices-5.0.0/lang/en_us.l ircservices-5.0.1/lang/en_us.l --- ircservices-5.0.0/lang/en_us.l Thu Oct 3 17:07:33 2002 +++ ircservices-5.0.1/lang/en_us.l Thu Oct 17 23:11:14 2002 @@ -511,6 +511,8 @@ LINK nickname password NICK_LINK_SYNTAX LINK nickname +NICK_LINK_DISABLED + Sorry, nickname linking is temporarily disabled. NICK_LINK_FAILED Sorry, linking failed. NICK_CANNOT_BE_LINKED @@ -541,6 +543,8 @@ UNLINK nickname NICK_UNLINK_OPER_SYNTAX UNLINK nickname [FORCE] +NICK_UNLINK_DISABLED + Sorry, nickname unlinking is temporarily disabled. NICK_UNLINK_FAILED Sorry, unlinking failed. NICK_UNLINK_SAME @@ -4953,4 +4957,4 @@ # version of the master (English) language file was used to create a # translated file. -# CVS: $Revision: 2.183 $ +# CVS: $Revision: 2.184 $ diff -uNr ircservices-5.0.0/lang/hu.l ircservices-5.0.1/lang/hu.l --- ircservices-5.0.0/lang/hu.l Wed Oct 2 16:08:56 2002 +++ ircservices-5.0.1/lang/hu.l Fri Oct 18 09:21:45 2002 @@ -518,6 +518,8 @@ LINK nick jelsz NICK_LINK_SYNTAX LINK nick +NICK_LINK_DISABLED + Sajnlom, a nicknv linkels jelenleg sznetel. NICK_LINK_FAILED Sajnlom, a neved linkelse sikertelen. NICK_CANNOT_BE_LINKED @@ -550,6 +552,8 @@ UNLINK nick NICK_UNLINK_OPER_SYNTAX UNLINK nick [FORCE] +NICK_UNLINK_DISABLED + Sajnlom, az nicknv unlinkels opci jelenleg sznetel. NICK_UNLINK_FAILED Sajnlom, a linkels trlse sikertelen. NICK_UNLINK_SAME diff -uNr ircservices-5.0.0/lang/index ircservices-5.0.1/lang/index --- ircservices-5.0.0/lang/index Sun Oct 6 19:46:28 2002 +++ ircservices-5.0.1/lang/index Fri Oct 18 15:08:32 2002 @@ -158,6 +158,7 @@ NICK_ACCESS_LIST_X NICK_OLD_LINK_SYNTAX NICK_LINK_SYNTAX +NICK_LINK_DISABLED NICK_LINK_FAILED NICK_CANNOT_BE_LINKED NICK_OLD_LINK_SAME @@ -172,6 +173,7 @@ NICK_OLD_UNLINK_SYNTAX NICK_UNLINK_SYNTAX NICK_UNLINK_OPER_SYNTAX +NICK_UNLINK_DISABLED NICK_UNLINK_FAILED NICK_UNLINK_SAME NICK_OLD_UNLINK_NOT_LINKED diff -uNr ircservices-5.0.0/lang/ja_euc.l ircservices-5.0.1/lang/ja_euc.l --- ircservices-5.0.0/lang/ja_euc.l Wed Oct 2 15:45:22 2002 +++ ircservices-5.0.1/lang/ja_euc.l Thu Oct 17 22:48:36 2002 @@ -451,6 +451,8 @@ LINK ˥å ѥ NICK_LINK_SYNTAX LINK ˥å +NICK_LINK_DISABLED + 󥯤ϸ߽ޤ NICK_LINK_FAILED 󥯤ϽޤǤ NICK_CANNOT_BE_LINKED @@ -481,6 +483,8 @@ UNLINK ˥å NICK_UNLINK_OPER_SYNTAX UNLINK ˥å [FORCE] +NICK_UNLINK_DISABLED + 󥯲ϸ߽ޤ NICK_UNLINK_FAILED 󥯲ϽޤǤ NICK_UNLINK_SAME diff -uNr ircservices-5.0.0/lang/ja_sjis.l ircservices-5.0.1/lang/ja_sjis.l --- ircservices-5.0.0/lang/ja_sjis.l Wed Oct 2 15:50:52 2002 +++ ircservices-5.0.1/lang/ja_sjis.l Thu Oct 17 22:54:25 2002 @@ -451,6 +451,8 @@ LINK jbN pX[h NICK_LINK_SYNTAX LINK jbN +NICK_LINK_DISABLED + N͌ݏo܂B NICK_LINK_FAILED N͏o܂łB NICK_CANNOT_BE_LINKED @@ -481,6 +483,8 @@ UNLINK jbN NICK_UNLINK_OPER_SYNTAX UNLINK jbN [FORCE] +NICK_UNLINK_DISABLED + N͌ݏo܂B NICK_UNLINK_FAILED N͏o܂łB NICK_UNLINK_SAME diff -uNr ircservices-5.0.0/lang/langstrs.h ircservices-5.0.1/lang/langstrs.h --- ircservices-5.0.0/lang/langstrs.h Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/lang/langstrs.h Fri Oct 18 15:45:48 2002 @@ -158,1018 +158,1020 @@ #define NICK_ACCESS_LIST_X 157 #define NICK_OLD_LINK_SYNTAX 158 #define NICK_LINK_SYNTAX 159 -#define NICK_LINK_FAILED 160 -#define NICK_CANNOT_BE_LINKED 161 -#define NICK_OLD_LINK_SAME 162 -#define NICK_LINK_SAME 163 -#define NICK_LINK_ALREADY_LINKED 164 -#define NICK_LINK_IN_USE 165 -#define NICK_LINK_TOO_MANY 166 -#define NICK_LINK_TOO_MANY_NICKS 167 -#define NICK_OLD_LINK_TOO_MANY_CHANNELS 168 -#define NICK_OLD_LINKED 169 -#define NICK_LINKED 170 -#define NICK_OLD_UNLINK_SYNTAX 171 -#define NICK_UNLINK_SYNTAX 172 -#define NICK_UNLINK_OPER_SYNTAX 173 -#define NICK_UNLINK_FAILED 174 -#define NICK_UNLINK_SAME 175 -#define NICK_OLD_UNLINK_NOT_LINKED 176 -#define NICK_UNLINK_NOT_LINKED_YOURS 177 -#define NICK_UNLINK_NOT_LINKED 178 -#define NICK_OLD_UNLINKED 179 -#define NICK_UNLINKED 180 -#define NICK_X_UNLINKED 181 -#define NICK_OLD_LISTLINKS_SYNTAX 182 -#define NICK_LISTLINKS_SYNTAX 183 -#define NICK_LISTLINKS_HEADER 184 -#define NICK_LISTLINKS_FOOTER 185 -#define NICK_INFO_SYNTAX 186 -#define NICK_INFO_REALNAME 187 -#define NICK_INFO_ADDRESS 188 -#define NICK_INFO_ADDRESS_ONLINE 189 -#define NICK_INFO_ADDRESS_ONLINE_NOHOST 190 -#define NICK_INFO_TIME_REGGED 191 -#define NICK_INFO_LAST_SEEN 192 -#define NICK_INFO_LAST_QUIT 193 -#define NICK_INFO_URL 194 -#define NICK_INFO_EMAIL 195 -#define NICK_INFO_EMAIL_UNAUTHED 196 -#define NICK_INFO_INFO 197 -#define NICK_INFO_OPTIONS 198 -#define NICK_INFO_OPT_KILL 199 -#define NICK_INFO_OPT_SECURE 200 -#define NICK_INFO_OPT_PRIVATE 201 -#define NICK_INFO_OPT_NONE 202 -#define NICK_INFO_NO_EXPIRE 203 -#define NICK_INFO_SUSPEND_DETAILS 204 -#define NICK_INFO_SUSPEND_REASON 205 -#define NICK_INFO_SHOW_ALL 206 -#define NICK_LISTCHANS_SYNTAX 207 -#define NICK_LISTCHANS_NONE 208 -#define NICK_LISTCHANS_HEADER 209 -#define NICK_LISTCHANS_END 210 -#define NICK_LIST_SYNTAX 211 -#define NICK_LIST_OPER_SYNTAX 212 -#define NICK_LIST_OPER_SYNTAX_AUTH 213 -#define NICK_LIST_HEADER 214 -#define NICK_LIST_RESULTS 215 -#define NICK_LISTEMAIL_NONE 216 -#define NICK_RECOVER_SYNTAX 217 -#define NICK_NO_RECOVER_SELF 218 -#define NICK_RECOVERED 219 -#define NICK_RELEASE_SYNTAX 220 -#define NICK_RELEASE_NOT_HELD 221 -#define NICK_RELEASED 222 -#define NICK_GHOST_SYNTAX 223 -#define NICK_NO_GHOST_SELF 224 -#define NICK_GHOST_KILLED 225 -#define NICK_GETPASS_SYNTAX 226 -#define NICK_GETPASS_UNAVAILABLE 227 -#define NICK_GETPASS_PASSWORD_IS 228 -#define NICK_FORBID_SYNTAX 229 -#define NICK_FORBID_SUCCEEDED 230 -#define NICK_FORBID_FAILED 231 -#define NICK_SUSPEND_SYNTAX 232 -#define NICK_SUSPEND_SUCCEEDED 233 -#define NICK_SUSPEND_ALREADY_SUSPENDED 234 -#define NICK_UNSUSPEND_SYNTAX 235 -#define NICK_UNSUSPEND_SUCCEEDED 236 -#define NICK_UNSUSPEND_NOT_SUSPENDED 237 -#define NICK_AJOIN_SYNTAX 238 -#define NICK_AJOIN_ADD_SYNTAX 239 -#define NICK_AJOIN_DEL_SYNTAX 240 -#define NICK_AJOIN_ALREADY_PRESENT 241 -#define NICK_AJOIN_LIST_FULL 242 -#define NICK_AJOIN_ADDED 243 -#define NICK_AJOIN_NOT_FOUND 244 -#define NICK_AJOIN_DELETED 245 -#define NICK_AJOIN_LIST_EMPTY 246 -#define NICK_AJOIN_LIST 247 -#define NICK_AJOIN_LIST_X_EMPTY 248 -#define NICK_AJOIN_LIST_X 249 -#define NICK_AUTH_SENT 250 -#define NICK_AUTH_FOR_REGISTER 251 -#define NICK_AUTH_FOR_SET_EMAIL 252 -#define NICK_AUTH_NOT_NEEDED 253 -#define NICK_AUTH_NO_AUTHCODE 254 -#define NICK_AUTH_HAS_AUTHCODE 255 -#define PASSWORD_WARNING_FOR_AUTH 256 -#define NICK_AUTH_MAIL_SUBJECT 257 -#define NICK_AUTH_MAIL_BODY 258 -#define NICK_AUTH_MAIL_TEXT_REG 259 -#define NICK_AUTH_MAIL_TEXT_EMAIL 260 -#define NICK_AUTH_MAIL_TEXT_SENDAUTH 261 -#define NICK_AUTH_MAIL_BODY_SETAUTH 262 -#define NICK_AUTH_SYNTAX 263 -#define NICK_AUTH_DISABLED 264 -#define NICK_AUTH_FAILED 265 -#define NICK_AUTH_SUCCEEDED_REGISTER 266 -#define NICK_AUTH_SUCCEEDED_SET_EMAIL 267 -#define NICK_AUTH_SUCCEEDED_SETAUTH 268 -#define NICK_SENDAUTH_SYNTAX 269 -#define NICK_SENDAUTH_TOO_SOON 270 -#define NICK_SENDAUTH_FAILED 271 -#define NICK_SETAUTH_SYNTAX 272 -#define NICK_SETAUTH_NO_EMAIL 273 -#define NICK_SETAUTH_AUTHCODE_SET 274 -#define NICK_SETAUTH_SEND_FAILED 275 -#define NICK_SETAUTH_SEND_TEMPFAIL 276 -#define NICK_SETAUTH_USER_NOTICE 277 -#define NICK_GETAUTH_SYNTAX 278 -#define NICK_GETAUTH_AUTHCODE_IS 279 -#define NICK_CLEARAUTH_SYNTAX 280 -#define NICK_CLEARAUTH_CLEARED 281 -#define NICK_SENDPASS_MAIL_SUBJECT 282 -#define NICK_SENDPASS_MAIL_BODY 283 -#define NICK_SENDPASS_SYNTAX 284 -#define NICK_SENDPASS_FAILED 285 -#define NICK_SENDPASS_NO_EMAIL 286 -#define NICK_SENDPASS_NOT_AUTHED 287 -#define NICK_SENDPASS_TOO_SOON 288 -#define NICK_SENDPASS_SENT 289 -#define CHAN_LEVEL_AUTOOP 290 -#define CHAN_LEVEL_AUTOVOICE 291 -#define CHAN_LEVEL_INVITE 292 -#define CHAN_LEVEL_AKICK 293 -#define CHAN_LEVEL_SET 294 -#define CHAN_LEVEL_CLEAR 295 -#define CHAN_LEVEL_UNBAN 296 -#define CHAN_LEVEL_OPDEOP 297 -#define CHAN_LEVEL_ACCESS_LIST 298 -#define CHAN_LEVEL_ACCESS_CHANGE 299 -#define CHAN_LEVEL_MEMO 300 -#define CHAN_LEVEL_VOICE 301 -#define CHAN_LEVEL_AUTOHALFOP 302 -#define CHAN_LEVEL_HALFOP 303 -#define CHAN_LEVEL_AUTOPROTECT 304 -#define CHAN_LEVEL_PROTECT 305 -#define CHAN_LEVEL_KICK 306 -#define CHAN_LEVEL_STATUS 307 -#define CHAN_LEVEL_TOPIC 308 -#define CHAN_IS_REGISTERED 309 -#define CHAN_MAY_NOT_BE_USED 310 -#define CHAN_NOT_ALLOWED_TO_JOIN 311 -#define CHAN_MUST_IDENTIFY_NICK 312 -#define CHAN_BOUNCY_MODES 313 -#define CHAN_REGISTER_SYNTAX 314 -#define CHAN_REGISTER_DISABLED 315 -#define CHAN_REGISTER_SHORT_CHANNEL 316 -#define CHAN_REGISTER_NOT_LOCAL 317 -#define CHAN_REGISTER_INVALID_NAME 318 -#define CHAN_MUST_REGISTER_NICK 319 -#define CHAN_MAY_NOT_BE_REGISTERED 320 -#define CHAN_ALREADY_REGISTERED 321 -#define CHAN_MUST_BE_CHANOP 322 -#define CHAN_REACHED_CHANNEL_LIMIT 323 -#define CHAN_EXCEEDED_CHANNEL_LIMIT 324 -#define CHAN_REGISTRATION_FAILED 325 -#define CHAN_REGISTERED 326 -#define CHAN_PASSWORD_IS 327 -#define CHAN_IDENTIFY_SYNTAX 328 -#define CHAN_IDENTIFY_FAILED 329 -#define CHAN_IDENTIFY_SUCCEEDED 330 -#define CHAN_DROP_SYNTAX 331 -#define CHAN_DROP_DISABLED 332 -#define CHAN_DROPPED 333 -#define CHAN_SET_SYNTAX 334 -#define CHAN_SET_DISABLED 335 -#define CHAN_SET_UNKNOWN_OPTION 336 -#define CHAN_SET_FOUNDER_TOO_MANY_CHANS 337 -#define CHAN_FOUNDER_CHANGED 338 -#define CHAN_SUCCESSOR_CHANGED 339 -#define CHAN_SUCCESSOR_IS_FOUNDER 340 -#define CHAN_SET_PASSWORD_FAILED 341 -#define CHAN_PASSWORD_CHANGED 342 -#define CHAN_PASSWORD_CHANGED_TO 343 -#define CHAN_DESC_CHANGED 344 -#define CHAN_URL_CHANGED 345 -#define CHAN_EMAIL_CHANGED 346 -#define CHAN_ENTRY_MSG_CHANGED 347 -#define CHAN_SET_MLOCK_NEED_PLUS_MINUS 348 -#define CHAN_SET_MLOCK_NEED_PARAM 349 -#define CHAN_SET_MLOCK_LIMIT_POSITIVE 350 -#define CHAN_SET_MLOCK_MODE_REG_BAD 351 -#define CHAN_SET_MLOCK_LINK_BAD 352 -#define CHAN_SET_MLOCK_LINK_SAME 353 -#define CHAN_SET_MLOCK_LINK_NO_LIMIT 354 -#define CHAN_SET_MLOCK_FLOOD_BAD 355 -#define CHAN_SET_MLOCK_UNKNOWN_CHAR 356 -#define CHAN_SET_MLOCK_CANNOT_LOCK 357 -#define CHAN_MLOCK_CHANGED 358 -#define CHAN_MLOCK_REMOVED 359 -#define CHAN_SET_HIDE_SYNTAX 360 -#define CHAN_SET_HIDE_EMAIL_ON 361 -#define CHAN_SET_HIDE_EMAIL_OFF 362 -#define CHAN_SET_HIDE_TOPIC_ON 363 -#define CHAN_SET_HIDE_TOPIC_OFF 364 -#define CHAN_SET_HIDE_MLOCK_ON 365 -#define CHAN_SET_HIDE_MLOCK_OFF 366 -#define CHAN_SET_KEEPTOPIC_SYNTAX 367 -#define CHAN_SET_KEEPTOPIC_ON 368 -#define CHAN_SET_KEEPTOPIC_OFF 369 -#define CHAN_SET_TOPICLOCK_SYNTAX 370 -#define CHAN_SET_TOPICLOCK_ON 371 -#define CHAN_SET_TOPICLOCK_OFF 372 -#define CHAN_SET_PRIVATE_SYNTAX 373 -#define CHAN_SET_PRIVATE_ON 374 -#define CHAN_SET_PRIVATE_OFF 375 -#define CHAN_SET_SECUREOPS_SYNTAX 376 -#define CHAN_SET_SECUREOPS_ON 377 -#define CHAN_SET_SECUREOPS_OFF 378 -#define CHAN_SET_LEAVEOPS_SYNTAX 379 -#define CHAN_SET_LEAVEOPS_ON 380 -#define CHAN_SET_LEAVEOPS_OFF 381 -#define CHAN_SET_RESTRICTED_SYNTAX 382 -#define CHAN_SET_RESTRICTED_ON 383 -#define CHAN_SET_RESTRICTED_OFF 384 -#define CHAN_SET_SECURE_SYNTAX 385 -#define CHAN_SET_SECURE_ON 386 -#define CHAN_SET_SECURE_OFF 387 -#define CHAN_SET_OPNOTICE_SYNTAX 388 -#define CHAN_SET_OPNOTICE_ON 389 -#define CHAN_SET_OPNOTICE_OFF 390 -#define CHAN_SET_ENFORCE_SYNTAX 391 -#define CHAN_SET_ENFORCE_ON 392 -#define CHAN_SET_ENFORCE_OFF 393 -#define CHAN_SET_NOEXPIRE_SYNTAX 394 -#define CHAN_SET_NOEXPIRE_ON 395 -#define CHAN_SET_NOEXPIRE_OFF 396 -#define CHAN_UNSET_SYNTAX 397 -#define CHAN_SUCCESSOR_UNSET 398 -#define CHAN_URL_UNSET 399 -#define CHAN_EMAIL_UNSET 400 -#define CHAN_ENTRY_MSG_UNSET 401 -#define CHAN_ACCESS_SYNTAX 402 -#define CHAN_ACCESS_DISABLED 403 -#define CHAN_ACCESS_LEVEL_NONZERO 404 -#define CHAN_ACCESS_LEVEL_RANGE 405 -#define CHAN_ACCESS_NICKS_ONLY 406 -#define CHAN_ACCESS_REACHED_LIMIT 407 -#define CHAN_ACCESS_LEVEL_UNCHANGED 408 -#define CHAN_ACCESS_LEVEL_CHANGED 409 -#define CHAN_ACCESS_ADDED 410 -#define CHAN_ACCESS_NO_SUCH_ENTRY 411 -#define CHAN_ACCESS_NOT_FOUND 412 -#define CHAN_ACCESS_NO_MATCH 413 -#define CHAN_ACCESS_DELETED 414 -#define CHAN_ACCESS_DELETED_ONE 415 -#define CHAN_ACCESS_DELETED_SEVERAL 416 -#define CHAN_ACCESS_LIST_EMPTY 417 -#define CHAN_ACCESS_LIST_HEADER 418 -#define CHAN_ACCESS_LIST_FORMAT 419 -#define CHAN_ACCESS_COUNT 420 -#define CHAN_SOP_SYNTAX 421 -#define CHAN_AOP_SYNTAX 422 -#define CHAN_HOP_SYNTAX 423 -#define CHAN_VOP_SYNTAX 424 -#define CHAN_XOP_ADDED 425 -#define CHAN_XOP_LEVEL_CHANGED 426 -#define CHAN_XOP_LEVEL_UNCHANGED 427 -#define CHAN_XOP_NICKS_ONLY 428 -#define CHAN_XOP_NICKS_ONLY_HOP 429 -#define CHAN_XOP_REACHED_LIMIT 430 -#define CHAN_XOP_REACHED_LIMIT_HOP 431 -#define CHAN_XOP_NOT_FOUND 432 -#define CHAN_XOP_NO_SUCH_ENTRY 433 -#define CHAN_XOP_NO_MATCH 434 -#define CHAN_XOP_DELETED 435 -#define CHAN_XOP_DELETED_ONE 436 -#define CHAN_XOP_DELETED_SEVERAL 437 -#define CHAN_XOP_LIST_EMPTY 438 -#define CHAN_XOP_LIST_HEADER 439 -#define CHAN_XOP_LIST_FORMAT 440 -#define CHAN_XOP_COUNT 441 -#define CHAN_AKICK_SYNTAX 442 -#define CHAN_AKICK_DISABLED 443 -#define CHAN_AKICK_ALREADY_EXISTS 444 -#define CHAN_AKICK_REACHED_LIMIT 445 -#define CHAN_AKICK_ADDED 446 -#define CHAN_AKICK_NO_SUCH_ENTRY 447 -#define CHAN_AKICK_NOT_FOUND 448 -#define CHAN_AKICK_NO_MATCH 449 -#define CHAN_AKICK_DELETED 450 -#define CHAN_AKICK_DELETED_ONE 451 -#define CHAN_AKICK_DELETED_SEVERAL 452 -#define CHAN_AKICK_LIST_EMPTY 453 -#define CHAN_AKICK_LIST_HEADER 454 -#define CHAN_AKICK_VIEW_FORMAT 455 -#define CHAN_AKICK_VIEW_UNUSED_FORMAT 456 -#define CHAN_AKICK_ENFORCE_DONE 457 -#define CHAN_AKICK_COUNT 458 -#define CHAN_LEVELS_SYNTAX 459 -#define CHAN_LEVELS_RANGE 460 -#define CHAN_LEVELS_CHANGED 461 -#define CHAN_LEVELS_UNKNOWN 462 -#define CHAN_LEVELS_DISABLED 463 -#define CHAN_LEVELS_LIST_HEADER 464 -#define CHAN_LEVELS_LIST_DISABLED 465 -#define CHAN_LEVELS_LIST_FOUNDER 466 -#define CHAN_LEVELS_LIST_NORMAL 467 -#define CHAN_LEVELS_RESET 468 -#define CHAN_INFO_SYNTAX 469 -#define CHAN_INFO_HEADER 470 -#define CHAN_INFO_FOUNDER 471 -#define CHAN_INFO_SUCCESSOR 472 -#define CHAN_INFO_DESCRIPTION 473 -#define CHAN_INFO_ENTRYMSG 474 -#define CHAN_INFO_TIME_REGGED 475 -#define CHAN_INFO_LAST_USED 476 -#define CHAN_INFO_LAST_TOPIC 477 -#define CHAN_INFO_TOPIC_SET_BY 478 -#define CHAN_INFO_URL 479 -#define CHAN_INFO_EMAIL 480 -#define CHAN_INFO_OPTIONS 481 -#define CHAN_INFO_OPT_PRIVATE 482 -#define CHAN_INFO_OPT_KEEPTOPIC 483 -#define CHAN_INFO_OPT_TOPICLOCK 484 -#define CHAN_INFO_OPT_SECUREOPS 485 -#define CHAN_INFO_OPT_LEAVEOPS 486 -#define CHAN_INFO_OPT_RESTRICTED 487 -#define CHAN_INFO_OPT_SECURE 488 -#define CHAN_INFO_OPT_OPNOTICE 489 -#define CHAN_INFO_OPT_ENFORCE 490 -#define CHAN_INFO_OPT_NONE 491 -#define CHAN_INFO_MODE_LOCK 492 -#define CHAN_INFO_NO_EXPIRE 493 -#define CHAN_INFO_SUSPEND_DETAILS 494 -#define CHAN_INFO_SUSPEND_REASON 495 -#define CHAN_INFO_SHOW_ALL 496 -#define CHAN_LIST_SYNTAX 497 -#define CHAN_LIST_OPER_SYNTAX 498 -#define CHAN_LIST_HEADER 499 -#define CHAN_LIST_END 500 -#define CHAN_INVITE_SYNTAX 501 -#define CHAN_INVITE_OK 502 -#define CHAN_OPVOICE_SYNTAX 503 -#define CHAN_OP_SUCCEEDED 504 -#define CHAN_OP_ALREADY 505 -#define CHAN_OP_FAILED 506 -#define CHAN_DEOP_SUCCEEDED 507 -#define CHAN_DEOP_ALREADY 508 -#define CHAN_DEOP_FAILED 509 -#define CHAN_VOICE_SUCCEEDED 510 -#define CHAN_VOICE_ALREADY 511 -#define CHAN_VOICE_FAILED 512 -#define CHAN_DEVOICE_SUCCEEDED 513 -#define CHAN_DEVOICE_ALREADY 514 -#define CHAN_DEVOICE_FAILED 515 -#define CHAN_HALFOP_SUCCEEDED 516 -#define CHAN_HALFOP_ALREADY 517 -#define CHAN_HALFOP_FAILED 518 -#define CHAN_DEHALFOP_SUCCEEDED 519 -#define CHAN_DEHALFOP_ALREADY 520 -#define CHAN_DEHALFOP_FAILED 521 -#define CHAN_PROTECT_SUCCEEDED 522 -#define CHAN_PROTECT_ALREADY 523 -#define CHAN_PROTECT_FAILED 524 -#define CHAN_DEPROTECT_SUCCEEDED 525 -#define CHAN_DEPROTECT_ALREADY 526 -#define CHAN_DEPROTECT_FAILED 527 -#define CHAN_UNBAN_SYNTAX 528 -#define CHAN_UNBANNED 529 -#define CHAN_KICK_SYNTAX 530 -#define CHAN_KICK_PROTECTED 531 -#define CHAN_KICKED 532 -#define CHAN_TOPIC_SYNTAX 533 -#define CHAN_CLEAR_SYNTAX 534 -#define CHAN_CLEARED_BANS 535 -#define CHAN_CLEARED_EXCEPTIONS 536 -#define CHAN_CLEARED_MODES 537 -#define CHAN_CLEARED_OPS 538 -#define CHAN_CLEARED_HALFOPS 539 -#define CHAN_CLEARED_VOICES 540 -#define CHAN_CLEARED_USERS 541 -#define CHAN_GETPASS_SYNTAX 542 -#define CHAN_GETPASS_UNAVAILABLE 543 -#define CHAN_GETPASS_PASSWORD_IS 544 -#define CHAN_FORBID_SYNTAX 545 -#define CHAN_FORBID_SHORT_CHANNEL 546 -#define CHAN_FORBID_SUCCEEDED 547 -#define CHAN_FORBID_FAILED 548 -#define CHAN_SUSPEND_SYNTAX 549 -#define CHAN_SUSPEND_SUCCEEDED 550 -#define CHAN_SUSPEND_ALREADY_SUSPENDED 551 -#define CHAN_UNSUSPEND_SYNTAX 552 -#define CHAN_UNSUSPEND_SUCCEEDED 553 -#define CHAN_UNSUSPEND_NOT_SUSPENDED 554 -#define CHAN_SENDPASS_MAIL_SUBJECT 555 -#define CHAN_SENDPASS_MAIL_BODY 556 -#define CHAN_SENDPASS_SYNTAX 557 -#define CHAN_SENDPASS_FAILED 558 -#define CHAN_SENDPASS_FOUNDER_ONLY 559 -#define CHAN_SENDPASS_NO_EMAIL 560 -#define CHAN_SENDPASS_TOO_SOON 561 -#define CHAN_SENDPASS_SENT 562 -#define MEMO_HAVE_NEW_MEMO 563 -#define MEMO_HAVE_NEW_MEMOS 564 -#define MEMO_TYPE_READ_LAST 565 -#define MEMO_TYPE_READ_NUM 566 -#define MEMO_TYPE_LIST_NEW 567 -#define MEMO_AT_LIMIT 568 -#define MEMO_OVER_LIMIT 569 -#define MEMO_NEW_MEMO_ARRIVED 570 -#define MEMO_HAVE_NO_MEMOS 571 -#define MEMO_X_HAS_NO_MEMOS 572 -#define MEMO_DOES_NOT_EXIST 573 -#define MEMO_LIST_NOT_FOUND 574 -#define MEMO_SEND_SYNTAX 575 -#define MEMO_SEND_DISABLED 576 -#define MEMO_SEND_PLEASE_WAIT 577 -#define MEMO_X_GETS_NO_MEMOS 578 -#define MEMO_X_HAS_TOO_MANY_MEMOS 579 -#define MEMO_SENT 580 -#define MEMO_LIST_SYNTAX 581 -#define MEMO_HAVE_NO_NEW_MEMOS 582 -#define MEMO_X_HAS_NO_NEW_MEMOS 583 -#define MEMO_LIST_MEMOS 584 -#define MEMO_LIST_NEW_MEMOS 585 -#define MEMO_LIST_CHAN_MEMOS 586 -#define MEMO_LIST_CHAN_NEW_MEMOS 587 -#define MEMO_LIST_HEADER 588 -#define MEMO_LIST_FORMAT 589 -#define MEMO_READ_SYNTAX 590 -#define MEMO_HEADER 591 -#define MEMO_CHAN_HEADER 592 -#define MEMO_SAVE_SYNTAX 593 -#define MEMO_SAVED_ONE 594 -#define MEMO_SAVED_SEVERAL 595 -#define MEMO_DEL_SYNTAX 596 -#define MEMO_DELETED_NONE 597 -#define MEMO_DELETED_ONE 598 -#define MEMO_DELETED_SEVERAL 599 -#define MEMO_DELETED_ALL 600 -#define MEMO_SET_SYNTAX 601 -#define MEMO_SET_DISABLED 602 -#define MEMO_SET_UNKNOWN_OPTION 603 -#define MEMO_SET_NOTIFY_SYNTAX 604 -#define MEMO_SET_NOTIFY_ON 605 -#define MEMO_SET_NOTIFY_LOGON 606 -#define MEMO_SET_NOTIFY_NEW 607 -#define MEMO_SET_NOTIFY_OFF 608 -#define MEMO_SET_LIMIT_SYNTAX 609 -#define MEMO_SET_LIMIT_OPER_SYNTAX 610 -#define MEMO_SET_YOUR_LIMIT_FORBIDDEN 611 -#define MEMO_SET_LIMIT_FORBIDDEN 612 -#define MEMO_SET_YOUR_LIMIT_TOO_HIGH 613 -#define MEMO_SET_LIMIT_TOO_HIGH 614 -#define MEMO_SET_LIMIT_OVERFLOW 615 -#define MEMO_SET_YOUR_LIMIT 616 -#define MEMO_SET_YOUR_LIMIT_ZERO 617 -#define MEMO_SET_YOUR_LIMIT_DEFAULT 618 -#define MEMO_UNSET_YOUR_LIMIT 619 -#define MEMO_SET_LIMIT 620 -#define MEMO_SET_LIMIT_ZERO 621 -#define MEMO_SET_LIMIT_DEFAULT 622 -#define MEMO_UNSET_LIMIT 623 -#define MEMO_INFO_NO_MEMOS 624 -#define MEMO_INFO_MEMO 625 -#define MEMO_INFO_MEMO_UNREAD 626 -#define MEMO_INFO_MEMOS 627 -#define MEMO_INFO_MEMOS_ONE_UNREAD 628 -#define MEMO_INFO_MEMOS_SOME_UNREAD 629 -#define MEMO_INFO_MEMOS_ALL_UNREAD 630 -#define MEMO_INFO_LIMIT 631 -#define MEMO_INFO_HARD_LIMIT 632 -#define MEMO_INFO_LIMIT_ZERO 633 -#define MEMO_INFO_HARD_LIMIT_ZERO 634 -#define MEMO_INFO_NO_LIMIT 635 -#define MEMO_INFO_NOTIFY_OFF 636 -#define MEMO_INFO_NOTIFY_ON 637 -#define MEMO_INFO_NOTIFY_RECEIVE 638 -#define MEMO_INFO_NOTIFY_SIGNON 639 -#define MEMO_INFO_X_NO_MEMOS 640 -#define MEMO_INFO_X_MEMO 641 -#define MEMO_INFO_X_MEMO_UNREAD 642 -#define MEMO_INFO_X_MEMOS 643 -#define MEMO_INFO_X_MEMOS_ONE_UNREAD 644 -#define MEMO_INFO_X_MEMOS_SOME_UNREAD 645 -#define MEMO_INFO_X_MEMOS_ALL_UNREAD 646 -#define MEMO_INFO_X_LIMIT 647 -#define MEMO_INFO_X_HARD_LIMIT 648 -#define MEMO_INFO_X_NO_LIMIT 649 -#define MEMO_INFO_X_NOTIFY_OFF 650 -#define MEMO_INFO_X_NOTIFY_ON 651 -#define MEMO_INFO_X_NOTIFY_RECEIVE 652 -#define MEMO_INFO_X_NOTIFY_SIGNON 653 -#define MEMO_FORWARD_MAIL_SUBJECT 654 -#define MEMO_FORWARD_MAIL_BODY 655 -#define MEMO_FORWARD_SYNTAX 656 -#define MEMO_FORWARD_NEED_EMAIL 657 -#define MEMO_FORWARD_PLEASE_WAIT 658 -#define MEMO_FORWARD_FAILED 659 -#define MEMO_FORWARDED_NONE 660 -#define MEMO_FORWARDED_ONE 661 -#define MEMO_FORWARDED_SEVERAL 662 -#define MEMO_FORWARDED_ALL 663 -#define MEMO_FORWARDED_ALSO_TEMPFAIL 664 -#define MEMO_FORWARDED_ALSO_PERMFAIL 665 -#define MEMO_SET_FORWARD_SYNTAX 666 -#define MEMO_SET_FORWARD_ON 667 -#define MEMO_SET_FORWARD_COPY 668 -#define MEMO_SET_FORWARD_OFF 669 -#define MEMO_IGNORE_SYNTAX 670 -#define MEMO_IGNORE_ADD_SYNTAX 671 -#define MEMO_IGNORE_DEL_SYNTAX 672 -#define MEMO_IGNORE_LIST_FULL 673 -#define MEMO_IGNORE_ALREADY_PRESENT 674 -#define MEMO_IGNORE_ADDED 675 -#define MEMO_IGNORE_NOT_FOUND 676 -#define MEMO_IGNORE_DELETED 677 -#define MEMO_IGNORE_LIST_EMPTY 678 -#define MEMO_IGNORE_LIST 679 -#define MEMO_IGNORE_LIST_X_EMPTY 680 -#define MEMO_IGNORE_LIST_X 681 -#define OPER_BOUNCY_MODES 682 -#define OPER_BOUNCY_MODES_U_LINE 683 -#define OPER_GLOBAL_SYNTAX 684 -#define OPER_STATS_UNKNOWN_OPTION 685 -#define OPER_STATS_RESET_USER_COUNT 686 -#define OPER_STATS_CURRENT_USERS 687 -#define OPER_STATS_MAX_USERS 688 -#define OPER_STATS_UPTIME_DHMS 689 -#define OPER_STATS_UPTIME_HM_MS 690 -#define OPER_STATS_KBYTES_READ 691 -#define OPER_STATS_KBYTES_WRITTEN 692 -#define OPER_STATS_NETBUF_SOCK 693 -#define OPER_STATS_NETBUF_SOCK_PERCENT 694 -#define OPER_STATS_NETBUF_TOTAL 695 -#define OPER_STATS_NETBUF_TOTAL_PERCENT 696 -#define OPER_STATS_ALL_USER_MEM 697 -#define OPER_STATS_ALL_CHANNEL_MEM 698 -#define OPER_STATS_ALL_SERVER_MEM 699 -#define OPER_STATS_ALL_NICKGROUPINFO_MEM 700 -#define OPER_STATS_ALL_NICKINFO_MEM 701 -#define OPER_STATS_ALL_CHANSERV_MEM 702 -#define OPER_STATS_ALL_STATSERV_MEM 703 -#define OPER_STATS_ALL_NEWS_MEM 704 -#define OPER_STATS_ALL_AKILL_MEM 705 -#define OPER_STATS_ALL_EXCEPTION_MEM 706 -#define OPER_STATS_ALL_SGLINE_MEM 707 -#define OPER_STATS_ALL_SQLINE_MEM 708 -#define OPER_STATS_ALL_SZLINE_MEM 709 -#define OPER_STATS_ALL_SESSION_MEM 710 -#define OPER_MODE_SYNTAX 711 -#define OPER_CLEARMODES_SYNTAX 712 -#define OPER_CLEARMODES_DONE 713 -#define OPER_CLEARMODES_EXCEPT_DONE 714 -#define OPER_CLEARMODES_ALL_DONE 715 -#define OPER_CLEARCHAN_SYNTAX 716 -#define OPER_CLEARCHAN_DONE 717 -#define OPER_KICK_SYNTAX 718 -#define OPER_ADMIN_SYNTAX 719 -#define OPER_ADMIN_ADD_SYNTAX 720 -#define OPER_ADMIN_DEL_SYNTAX 721 -#define OPER_ADMIN_NO_NICKSERV 722 -#define OPER_ADMIN_EXISTS 723 -#define OPER_ADMIN_ADDED 724 -#define OPER_ADMIN_TOO_MANY 725 -#define OPER_ADMIN_REMOVED 726 -#define OPER_ADMIN_NOT_FOUND 727 -#define OPER_ADMIN_LIST_HEADER 728 -#define OPER_OPER_SYNTAX 729 -#define OPER_OPER_ADD_SYNTAX 730 -#define OPER_OPER_DEL_SYNTAX 731 -#define OPER_OPER_NO_NICKSERV 732 -#define OPER_OPER_EXISTS 733 -#define OPER_OPER_ADDED 734 -#define OPER_OPER_TOO_MANY 735 -#define OPER_OPER_REMOVED 736 -#define OPER_OPER_NOT_FOUND 737 -#define OPER_OPER_LIST_HEADER 738 -#define OPER_AKILL_SYNTAX 739 -#define OPER_AKILL_ADD_SYNTAX 740 -#define OPER_AKILL_DEL_SYNTAX 741 -#define OPER_TOO_MANY_AKILLS 742 -#define OPER_AKILL_EXISTS 743 -#define OPER_AKILL_NO_NICK 744 -#define OPER_AKILL_MASK_TOO_GENERAL 745 -#define OPER_AKILL_EXPIRY_LIMITED 746 -#define OPER_AKILL_ADDED 747 -#define OPER_AKILL_REMOVED 748 -#define OPER_AKILL_NOT_FOUND 749 -#define OPER_AKILL_LIST_HEADER 750 -#define OPER_AKILL_LIST_FORMAT 751 -#define OPER_AKILL_VIEW_FORMAT 752 -#define OPER_AKILL_VIEW_UNUSED_FORMAT 753 -#define OPER_AKILL_COUNT 754 -#define OPER_EXCLUDE_SYNTAX 755 -#define OPER_EXCLUDE_ADD_SYNTAX 756 -#define OPER_EXCLUDE_DEL_SYNTAX 757 -#define OPER_TOO_MANY_EXCLUDES 758 -#define OPER_EXCLUDE_EXISTS 759 -#define OPER_EXCLUDE_ADDED 760 -#define OPER_EXCLUDE_REMOVED 761 -#define OPER_EXCLUDE_NOT_FOUND 762 -#define OPER_EXCLUDE_LIST_HEADER 763 -#define OPER_EXCLUDE_LIST_FORMAT 764 -#define OPER_EXCLUDE_VIEW_FORMAT 765 -#define OPER_EXCLUDE_VIEW_UNUSED_FORMAT 766 -#define OPER_EXCLUDE_COUNT 767 -#define OPER_SLINE_SYNTAX 768 -#define OPER_SLINE_ADD_SYNTAX 769 -#define OPER_SLINE_DEL_SYNTAX 770 -#define OPER_TOO_MANY_SLINES 771 -#define OPER_SLINE_EXISTS 772 -#define OPER_SLINE_ADDED 773 -#define OPER_SLINE_REMOVED 774 -#define OPER_SLINE_NOT_FOUND 775 -#define OPER_SLINE_LIST_HEADER 776 -#define OPER_SLINE_LIST_FORMAT 777 -#define OPER_SLINE_VIEW_FORMAT 778 -#define OPER_SLINE_VIEW_UNUSED_FORMAT 779 -#define OPER_SLINE_COUNT 780 -#define OPER_SZLINE_NOT_AVAIL 781 -#define OPER_SU_SYNTAX 782 -#define OPER_SU_NO_PASSWORD 783 -#define OPER_SU_SUCCEEDED 784 -#define OPER_SU_FAILED 785 -#define OPER_SET_SYNTAX 786 -#define OPER_SET_IGNORE_ON 787 -#define OPER_SET_IGNORE_OFF 788 -#define OPER_SET_IGNORE_ERROR 789 -#define OPER_SET_READONLY_ON 790 -#define OPER_SET_READONLY_OFF 791 -#define OPER_SET_READONLY_ERROR 792 -#define OPER_SET_DEBUG_ON 793 -#define OPER_SET_DEBUG_OFF 794 -#define OPER_SET_DEBUG_LEVEL 795 -#define OPER_SET_DEBUG_ERROR 796 -#define OPER_SET_SUPASS_FAILED 797 -#define OPER_SET_SUPASS_OK 798 -#define OPER_SET_SUPASS_NONE 799 -#define OPER_SET_UNKNOWN_OPTION 800 -#define OPER_JUPE_SYNTAX 801 -#define OPER_JUPE_INVALID_NAME 802 -#define OPER_JUPE_ALREADY_JUPED 803 -#define OPER_RAW_SYNTAX 804 -#define OPER_UPDATING 805 -#define OPER_REHASHING 806 -#define OPER_REHASHED 807 -#define OPER_REHASH_ERROR 808 -#define OPER_IGNORE_LIST 809 -#define OPER_IGNORE_LIST_EMPTY 810 -#define OPER_KILLCLONES_SYNTAX 811 -#define OPER_KILLCLONES_UNKNOWN_NICK 812 -#define OPER_KILLCLONES_KILLED 813 -#define OPER_KILLCLONES_KILLED_AKILL 814 -#define OPER_EXCEPTION_SYNTAX 815 -#define OPER_EXCEPTION_ADD_SYNTAX 816 -#define OPER_EXCEPTION_DEL_SYNTAX 817 -#define OPER_EXCEPTION_MOVE_SYNTAX 818 -#define OPER_EXCEPTION_ALREADY_PRESENT 819 -#define OPER_EXCEPTION_TOO_MANY 820 -#define OPER_EXCEPTION_ADDED 821 -#define OPER_EXCEPTION_MOVED 822 -#define OPER_EXCEPTION_NO_SUCH_ENTRY 823 -#define OPER_EXCEPTION_NOT_FOUND 824 -#define OPER_EXCEPTION_NO_MATCH 825 -#define OPER_EXCEPTION_EMPTY 826 -#define OPER_EXCEPTION_DELETED 827 -#define OPER_EXCEPTION_DELETED_ONE 828 -#define OPER_EXCEPTION_DELETED_SEVERAL 829 -#define OPER_EXCEPTION_LIST_HEADER 830 -#define OPER_EXCEPTION_LIST_COLHEAD 831 -#define OPER_EXCEPTION_LIST_FORMAT 832 -#define OPER_EXCEPTION_VIEW_FORMAT 833 -#define OPER_EXCEPTION_INVALID_LIMIT 834 -#define OPER_EXCEPTION_INVALID_HOSTMASK 835 -#define OPER_SESSION_SYNTAX 836 -#define OPER_SESSION_LIST_SYNTAX 837 -#define OPER_SESSION_VIEW_SYNTAX 838 -#define OPER_SESSION_INVALID_THRESHOLD 839 -#define OPER_SESSION_NOT_FOUND 840 -#define OPER_SESSION_LIST_HEADER 841 -#define OPER_SESSION_LIST_COLHEAD 842 -#define OPER_SESSION_LIST_FORMAT 843 -#define OPER_SESSION_VIEW_FORMAT 844 -#define NEWS_LOGON_TEXT 845 -#define NEWS_OPER_TEXT 846 -#define NEWS_LOGON_SYNTAX 847 -#define NEWS_LOGON_LIST_HEADER 848 -#define NEWS_LOGON_LIST_ENTRY 849 -#define NEWS_LOGON_LIST_NONE 850 -#define NEWS_LOGON_ADD_SYNTAX 851 -#define NEWS_LOGON_ADD_FULL 852 -#define NEWS_LOGON_ADDED 853 -#define NEWS_LOGON_DEL_SYNTAX 854 -#define NEWS_LOGON_DEL_NOT_FOUND 855 -#define NEWS_LOGON_DELETED 856 -#define NEWS_LOGON_DEL_NONE 857 -#define NEWS_LOGON_DELETED_ALL 858 -#define NEWS_OPER_SYNTAX 859 -#define NEWS_OPER_LIST_HEADER 860 -#define NEWS_OPER_LIST_ENTRY 861 -#define NEWS_OPER_LIST_NONE 862 -#define NEWS_OPER_ADD_SYNTAX 863 -#define NEWS_OPER_ADD_FULL 864 -#define NEWS_OPER_ADDED 865 -#define NEWS_OPER_DEL_SYNTAX 866 -#define NEWS_OPER_DEL_NOT_FOUND 867 -#define NEWS_OPER_DELETED 868 -#define NEWS_OPER_DEL_NONE 869 -#define NEWS_OPER_DELETED_ALL 870 -#define NEWS_HELP_LOGON 871 -#define NEWS_HELP_OPER 872 -#define STAT_SERVERS_REMOVE_SERV_FIRST 873 -#define STAT_SERVERS_SERVER_EXISTS 874 -#define STAT_SERVERS_SYNTAX 875 -#define STAT_SERVERS_STATS_TOTAL 876 -#define STAT_SERVERS_STATS_ON_OFFLINE 877 -#define STAT_SERVERS_LASTQUIT_WAS 878 -#define STAT_SERVERS_LIST_HEADER 879 -#define STAT_SERVERS_LIST_FORMAT 880 -#define STAT_SERVERS_LIST_RESULTS 881 -#define STAT_SERVERS_VIEW_HEADER_ONLINE 882 -#define STAT_SERVERS_VIEW_HEADER_OFFLINE 883 -#define STAT_SERVERS_VIEW_LASTJOIN 884 -#define STAT_SERVERS_VIEW_LASTQUIT 885 -#define STAT_SERVERS_VIEW_QUITMSG 886 -#define STAT_SERVERS_VIEW_USERS_OPERS 887 -#define STAT_SERVERS_VIEW_RESULTS 888 -#define STAT_SERVERS_DELETE_SYNTAX 889 -#define STAT_SERVERS_DELETE_DONE 890 -#define STAT_SERVERS_COPY_SYNTAX 891 -#define STAT_SERVERS_COPY_DONE 892 -#define STAT_SERVERS_RENAME_SYNTAX 893 -#define STAT_SERVERS_RENAME_DONE 894 -#define STAT_USERS_SYNTAX 895 -#define STAT_USERS_TOTUSERS 896 -#define STAT_USERS_TOTOPERS 897 -#define STAT_USERS_SERVUSERS 898 -#define STAT_USERS_SERVOPERS 899 -#define NICK_HELP 900 -#define NICK_HELP_EXPIRES 901 -#define NICK_HELP_WARNING 902 -#define NICK_HELP_COMMANDS 903 -#define NICK_HELP_COMMANDS_AUTH 904 -#define NICK_HELP_COMMANDS_IDENTIFY 905 -#define NICK_HELP_COMMANDS_SENDPASS 906 -#define NICK_HELP_COMMANDS_DROP 907 -#define NICK_HELP_COMMANDS_LINK 908 -#define NICK_HELP_COMMANDS_OLDLINK 909 -#define NICK_HELP_COMMANDS_ACCESS 910 -#define NICK_HELP_COMMANDS_AJOIN 911 -#define NICK_HELP_COMMANDS_SET 912 -#define NICK_HELP_COMMANDS_LIST 913 -#define NICK_HELP_COMMANDS_LISTCHANS 914 -#define NICK_HELP_REGISTER 915 -#define NICK_HELP_REGISTER_EMAIL 916 -#define NICK_HELP_REGISTER_EMAIL_REQ 917 -#define NICK_HELP_REGISTER_EMAIL_AUTH 918 -#define NICK_HELP_REGISTER_END 919 -#define NICK_HELP_AUTH 920 -#define NICK_HELP_SENDAUTH 921 -#define NICK_HELP_SENDPASS 922 -#define NICK_HELP_IDENTIFY 923 -#define NICK_HELP_DROP 924 -#define NICK_HELP_DROP_LINK 925 -#define NICK_HELP_DROP_END 926 -#define NICK_HELP_OLD_LINK 927 -#define NICK_HELP_LINK 928 -#define NICK_HELP_OLD_UNLINK 929 -#define NICK_HELP_UNLINK 930 -#define NICK_HELP_LISTLINKS 931 -#define NICK_HELP_ACCESS 932 -#define NICK_HELP_SET 933 -#define NICK_HELP_SET_OPTION_MAINNICK 934 -#define NICK_HELP_SET_END 935 -#define NICK_HELP_SET_PASSWORD 936 -#define NICK_HELP_SET_LANGUAGE 937 -#define NICK_HELP_SET_URL 938 -#define NICK_HELP_SET_EMAIL 939 -#define NICK_HELP_SET_INFO 940 -#define NICK_HELP_SET_KILL 941 -#define NICK_HELP_SET_SECURE 942 -#define NICK_HELP_SET_PRIVATE 943 -#define NICK_HELP_SET_HIDE 944 -#define NICK_HELP_SET_TIMEZONE 945 -#define NICK_HELP_SET_MAINNICK 946 -#define NICK_HELP_UNSET 947 -#define NICK_HELP_UNSET_REQ_EMAIL 948 -#define NICK_HELP_RECOVER 949 -#define NICK_HELP_RELEASE 950 -#define NICK_HELP_GHOST 951 -#define NICK_HELP_INFO 952 -#define NICK_HELP_INFO_AUTH 953 -#define NICK_HELP_LISTCHANS 954 -#define NICK_HELP_LIST 955 -#define NICK_HELP_LIST_OPERSONLY 956 -#define NICK_HELP_LISTEMAIL 957 -#define NICK_HELP_STATUS 958 -#define NICK_HELP_AJOIN 959 -#define NICK_OPER_HELP_COMMANDS 960 -#define NICK_OPER_HELP_COMMANDS_GETPASS 961 -#define NICK_OPER_HELP_COMMANDS_FORBID 962 -#define NICK_OPER_HELP_COMMANDS_LISTLINKS 963 -#define NICK_OPER_HELP_COMMANDS_SETAUTH 964 -#define NICK_OPER_HELP_COMMANDS_END 965 -#define NICK_OPER_HELP_DROPNICK 966 -#define NICK_OPER_HELP_SET 967 -#define NICK_OPER_HELP_SET_NOEXPIRE 968 -#define NICK_OPER_HELP_UNSET 969 -#define NICK_OPER_HELP_OLD_UNLINK 970 -#define NICK_OPER_HELP_UNLINK 971 -#define NICK_OPER_HELP_OLD_LISTLINKS 972 -#define NICK_OPER_HELP_LISTLINKS 973 -#define NICK_OPER_HELP_ACCESS 974 -#define NICK_OPER_HELP_INFO 975 -#define NICK_OPER_HELP_LISTCHANS 976 -#define NICK_OPER_HELP_LIST 977 -#define NICK_OPER_HELP_LIST_AUTH 978 -#define NICK_OPER_HELP_LISTEMAIL 979 -#define NICK_OPER_HELP_LISTEMAIL_AUTH 980 -#define NICK_OPER_HELP_GETPASS 981 -#define NICK_OPER_HELP_FORBID 982 -#define NICK_OPER_HELP_SUSPEND 983 -#define NICK_OPER_HELP_UNSUSPEND 984 -#define NICK_OPER_HELP_AJOIN 985 -#define NICK_OPER_HELP_SETAUTH 986 -#define NICK_OPER_HELP_GETAUTH 987 -#define NICK_OPER_HELP_CLEARAUTH 988 -#define CHAN_HELP_REQSOP_LEVXOP 989 -#define CHAN_HELP_REQSOP_LEV 990 -#define CHAN_HELP_REQSOP_XOP 991 -#define CHAN_HELP_REQAOP_LEVXOP 992 -#define CHAN_HELP_REQAOP_LEV 993 -#define CHAN_HELP_REQAOP_XOP 994 -#define CHAN_HELP_REQHOP_LEVXOP 995 -#define CHAN_HELP_REQHOP_LEV 996 -#define CHAN_HELP_REQHOP_XOP 997 -#define CHAN_HELP_REQVOP_LEVXOP 998 -#define CHAN_HELP_REQVOP_LEV 999 -#define CHAN_HELP_REQVOP_XOP 1000 -#define CHAN_HELP 1001 -#define CHAN_HELP_EXPIRES 1002 -#define CHAN_HELP_COMMANDS 1003 -#define CHAN_HELP_COMMANDS_SENDPASS 1004 -#define CHAN_HELP_COMMANDS_DROP 1005 -#define CHAN_HELP_COMMANDS_LIST 1006 -#define CHAN_HELP_COMMANDS_AKICK 1007 -#define CHAN_HELP_COMMANDS_LEVELS 1008 -#define CHAN_HELP_COMMANDS_XOP 1009 -#define CHAN_HELP_COMMANDS_HOP 1010 -#define CHAN_HELP_COMMANDS_OPVOICE 1011 -#define CHAN_HELP_COMMANDS_HALFOP 1012 -#define CHAN_HELP_COMMANDS_PROTECT 1013 -#define CHAN_HELP_COMMANDS_INVITE 1014 -#define CHAN_HELP_REGISTER 1015 -#define CHAN_HELP_REGISTER_ADMINONLY 1016 -#define CHAN_HELP_SENDPASS 1017 -#define CHAN_HELP_IDENTIFY 1018 -#define CHAN_HELP_DROP 1019 -#define CHAN_HELP_SET 1020 -#define CHAN_HELP_SET_FOUNDER 1021 -#define CHAN_HELP_SET_SUCCESSOR 1022 -#define CHAN_HELP_SET_PASSWORD 1023 -#define CHAN_HELP_SET_DESC 1024 -#define CHAN_HELP_SET_URL 1025 -#define CHAN_HELP_SET_EMAIL 1026 -#define CHAN_HELP_SET_ENTRYMSG 1027 -#define CHAN_HELP_SET_KEEPTOPIC 1028 -#define CHAN_HELP_SET_TOPICLOCK 1029 -#define CHAN_HELP_SET_MLOCK 1030 -#define CHAN_HELP_SET_HIDE 1031 -#define CHAN_HELP_SET_PRIVATE 1032 -#define CHAN_HELP_SET_RESTRICTED 1033 -#define CHAN_HELP_SET_SECURE 1034 -#define CHAN_HELP_SET_SECUREOPS 1035 -#define CHAN_HELP_SET_LEAVEOPS 1036 -#define CHAN_HELP_SET_OPNOTICE 1037 -#define CHAN_HELP_SET_ENFORCE 1038 -#define CHAN_HELP_UNSET 1039 -#define CHAN_HELP_SOP 1040 -#define CHAN_HELP_SOP_MID1 1041 -#define CHAN_HELP_SOP_MID1_CHANPROT 1042 -#define CHAN_HELP_SOP_MID2 1043 -#define CHAN_HELP_SOP_MID2_HALFOP 1044 -#define CHAN_HELP_SOP_END 1045 -#define CHAN_HELP_AOP 1046 -#define CHAN_HELP_AOP_MID 1047 -#define CHAN_HELP_AOP_MID_HALFOP 1048 -#define CHAN_HELP_AOP_END 1049 -#define CHAN_HELP_HOP 1050 -#define CHAN_HELP_VOP 1051 -#define CHAN_HELP_ACCESS 1052 -#define CHAN_HELP_ACCESS_XOP 1053 -#define CHAN_HELP_ACCESS_XOP_HALFOP 1054 -#define CHAN_HELP_ACCESS_LEVELS 1055 -#define CHAN_HELP_ACCESS_LEVELS_HALFOP 1056 -#define CHAN_HELP_ACCESS_LEVELS_END 1057 -#define CHAN_HELP_LEVELS 1058 -#define CHAN_HELP_LEVELS_XOP 1059 -#define CHAN_HELP_LEVELS_XOP_HOP 1060 -#define CHAN_HELP_LEVELS_END 1061 -#define CHAN_HELP_LEVELS_DESC 1062 -#define CHAN_HELP_AKICK 1063 -#define CHAN_HELP_INFO 1064 -#define CHAN_HELP_LIST 1065 -#define CHAN_HELP_LIST_OPERSONLY 1066 -#define CHAN_HELP_OP 1067 -#define CHAN_HELP_DEOP 1068 -#define CHAN_HELP_VOICE 1069 -#define CHAN_HELP_DEVOICE 1070 -#define CHAN_HELP_HALFOP 1071 -#define CHAN_HELP_DEHALFOP 1072 -#define CHAN_HELP_PROTECT 1073 -#define CHAN_HELP_DEPROTECT 1074 -#define CHAN_HELP_INVITE 1075 -#define CHAN_HELP_UNBAN 1076 -#define CHAN_HELP_KICK 1077 -#define CHAN_HELP_KICK_PROTECTED 1078 -#define CHAN_HELP_TOPIC 1079 -#define CHAN_HELP_CLEAR 1080 -#define CHAN_HELP_CLEAR_EXCEPTIONS 1081 -#define CHAN_HELP_CLEAR_MID 1082 -#define CHAN_HELP_CLEAR_HALFOPS 1083 -#define CHAN_HELP_CLEAR_END 1084 -#define CHAN_HELP_STATUS 1085 -#define CHAN_OPER_HELP_COMMANDS 1086 -#define CHAN_OPER_HELP_COMMANDS_GETPASS 1087 -#define CHAN_OPER_HELP_COMMANDS_FORBID 1088 -#define CHAN_OPER_HELP_COMMANDS_END 1089 -#define CHAN_OPER_HELP_DROP 1090 -#define CHAN_OPER_HELP_SET 1091 -#define CHAN_OPER_HELP_SET_NOEXPIRE 1092 -#define CHAN_OPER_HELP_UNSET 1093 -#define CHAN_OPER_HELP_INFO 1094 -#define CHAN_OPER_HELP_LIST 1095 -#define CHAN_OPER_HELP_GETPASS 1096 -#define CHAN_OPER_HELP_FORBID 1097 -#define CHAN_OPER_HELP_SUSPEND 1098 -#define CHAN_OPER_HELP_UNSUSPEND 1099 -#define MEMO_HELP 1100 -#define MEMO_HELP_EXPIRES 1101 -#define MEMO_HELP_END 1102 -#define MEMO_HELP_COMMANDS 1103 -#define MEMO_HELP_COMMANDS_FORWARD 1104 -#define MEMO_HELP_COMMANDS_SAVE 1105 -#define MEMO_HELP_COMMANDS_DEL 1106 -#define MEMO_HELP_COMMANDS_IGNORE 1107 -#define MEMO_HELP_SEND 1108 -#define MEMO_HELP_LIST 1109 -#define MEMO_HELP_LIST_EXPIRE 1110 -#define MEMO_HELP_READ 1111 -#define MEMO_HELP_SAVE 1112 -#define MEMO_HELP_DEL 1113 -#define MEMO_HELP_SET 1114 -#define MEMO_HELP_SET_OPTION_FORWARD 1115 -#define MEMO_HELP_SET_END 1116 -#define MEMO_HELP_SET_NOTIFY 1117 -#define MEMO_HELP_SET_LIMIT 1118 -#define MEMO_HELP_INFO 1119 -#define MEMO_OPER_HELP_COMMANDS 1120 -#define MEMO_OPER_HELP_SET_LIMIT 1121 -#define MEMO_OPER_HELP_INFO 1122 -#define MEMO_HELP_FORWARD 1123 -#define MEMO_HELP_SET_FORWARD 1124 -#define MEMO_HELP_IGNORE 1125 -#define OPER_HELP 1126 -#define OPER_HELP_COMMANDS 1127 -#define OPER_HELP_COMMANDS_SERVOPER 1128 -#define OPER_HELP_COMMANDS_AKILL 1129 -#define OPER_HELP_COMMANDS_EXCLUDE 1130 -#define OPER_HELP_COMMANDS_SLINE 1131 -#define OPER_HELP_COMMANDS_SESSION 1132 -#define OPER_HELP_COMMANDS_NEWS 1133 -#define OPER_HELP_COMMANDS_SERVADMIN 1134 -#define OPER_HELP_COMMANDS_SERVROOT 1135 -#define OPER_HELP_COMMANDS_RAW 1136 -#define OPER_HELP_GLOBAL 1137 -#define OPER_HELP_STATS 1138 -#define OPER_HELP_SERVERMAP 1139 -#define OPER_HELP_OPER 1140 -#define OPER_HELP_ADMIN 1141 -#define OPER_HELP_MODE 1142 -#define OPER_HELP_CLEARMODES 1143 -#define OPER_HELP_CLEARCHAN 1144 -#define OPER_HELP_KICK 1145 -#define OPER_HELP_AKILL 1146 -#define OPER_HELP_AKILL_OPERMAXEXPIRY 1147 -#define OPER_HELP_AKILL_END 1148 -#define OPER_HELP_EXCLUDE 1149 -#define OPER_HELP_SGLINE 1150 -#define OPER_HELP_SQLINE 1151 -#define OPER_HELP_SZLINE 1152 -#define OPER_HELP_EXCEPTION 1153 -#define OPER_HELP_SESSION 1154 -#define OPER_HELP_SU 1155 -#define OPER_HELP_SET 1156 -#define OPER_HELP_SET_READONLY 1157 -#define OPER_HELP_SET_DEBUG 1158 -#define OPER_HELP_SET_SUPASS 1159 -#define OPER_HELP_JUPE 1160 -#define OPER_HELP_RAW 1161 -#define OPER_HELP_UPDATE 1162 -#define OPER_HELP_QUIT 1163 -#define OPER_HELP_SHUTDOWN 1164 -#define OPER_HELP_RESTART 1165 -#define OPER_HELP_REHASH 1166 -#define OPER_HELP_KILLCLONES 1167 -#define STAT_HELP 1168 -#define STAT_HELP_COMMANDS 1169 -#define STAT_HELP_SERVERS 1170 -#define STAT_HELP_USERS 1171 -#define STAT_OPER_HELP_SERVERS 1172 +#define NICK_LINK_DISABLED 160 +#define NICK_LINK_FAILED 161 +#define NICK_CANNOT_BE_LINKED 162 +#define NICK_OLD_LINK_SAME 163 +#define NICK_LINK_SAME 164 +#define NICK_LINK_ALREADY_LINKED 165 +#define NICK_LINK_IN_USE 166 +#define NICK_LINK_TOO_MANY 167 +#define NICK_LINK_TOO_MANY_NICKS 168 +#define NICK_OLD_LINK_TOO_MANY_CHANNELS 169 +#define NICK_OLD_LINKED 170 +#define NICK_LINKED 171 +#define NICK_OLD_UNLINK_SYNTAX 172 +#define NICK_UNLINK_SYNTAX 173 +#define NICK_UNLINK_OPER_SYNTAX 174 +#define NICK_UNLINK_DISABLED 175 +#define NICK_UNLINK_FAILED 176 +#define NICK_UNLINK_SAME 177 +#define NICK_OLD_UNLINK_NOT_LINKED 178 +#define NICK_UNLINK_NOT_LINKED_YOURS 179 +#define NICK_UNLINK_NOT_LINKED 180 +#define NICK_OLD_UNLINKED 181 +#define NICK_UNLINKED 182 +#define NICK_X_UNLINKED 183 +#define NICK_OLD_LISTLINKS_SYNTAX 184 +#define NICK_LISTLINKS_SYNTAX 185 +#define NICK_LISTLINKS_HEADER 186 +#define NICK_LISTLINKS_FOOTER 187 +#define NICK_INFO_SYNTAX 188 +#define NICK_INFO_REALNAME 189 +#define NICK_INFO_ADDRESS 190 +#define NICK_INFO_ADDRESS_ONLINE 191 +#define NICK_INFO_ADDRESS_ONLINE_NOHOST 192 +#define NICK_INFO_TIME_REGGED 193 +#define NICK_INFO_LAST_SEEN 194 +#define NICK_INFO_LAST_QUIT 195 +#define NICK_INFO_URL 196 +#define NICK_INFO_EMAIL 197 +#define NICK_INFO_EMAIL_UNAUTHED 198 +#define NICK_INFO_INFO 199 +#define NICK_INFO_OPTIONS 200 +#define NICK_INFO_OPT_KILL 201 +#define NICK_INFO_OPT_SECURE 202 +#define NICK_INFO_OPT_PRIVATE 203 +#define NICK_INFO_OPT_NONE 204 +#define NICK_INFO_NO_EXPIRE 205 +#define NICK_INFO_SUSPEND_DETAILS 206 +#define NICK_INFO_SUSPEND_REASON 207 +#define NICK_INFO_SHOW_ALL 208 +#define NICK_LISTCHANS_SYNTAX 209 +#define NICK_LISTCHANS_NONE 210 +#define NICK_LISTCHANS_HEADER 211 +#define NICK_LISTCHANS_END 212 +#define NICK_LIST_SYNTAX 213 +#define NICK_LIST_OPER_SYNTAX 214 +#define NICK_LIST_OPER_SYNTAX_AUTH 215 +#define NICK_LIST_HEADER 216 +#define NICK_LIST_RESULTS 217 +#define NICK_LISTEMAIL_NONE 218 +#define NICK_RECOVER_SYNTAX 219 +#define NICK_NO_RECOVER_SELF 220 +#define NICK_RECOVERED 221 +#define NICK_RELEASE_SYNTAX 222 +#define NICK_RELEASE_NOT_HELD 223 +#define NICK_RELEASED 224 +#define NICK_GHOST_SYNTAX 225 +#define NICK_NO_GHOST_SELF 226 +#define NICK_GHOST_KILLED 227 +#define NICK_GETPASS_SYNTAX 228 +#define NICK_GETPASS_UNAVAILABLE 229 +#define NICK_GETPASS_PASSWORD_IS 230 +#define NICK_FORBID_SYNTAX 231 +#define NICK_FORBID_SUCCEEDED 232 +#define NICK_FORBID_FAILED 233 +#define NICK_SUSPEND_SYNTAX 234 +#define NICK_SUSPEND_SUCCEEDED 235 +#define NICK_SUSPEND_ALREADY_SUSPENDED 236 +#define NICK_UNSUSPEND_SYNTAX 237 +#define NICK_UNSUSPEND_SUCCEEDED 238 +#define NICK_UNSUSPEND_NOT_SUSPENDED 239 +#define NICK_AJOIN_SYNTAX 240 +#define NICK_AJOIN_ADD_SYNTAX 241 +#define NICK_AJOIN_DEL_SYNTAX 242 +#define NICK_AJOIN_ALREADY_PRESENT 243 +#define NICK_AJOIN_LIST_FULL 244 +#define NICK_AJOIN_ADDED 245 +#define NICK_AJOIN_NOT_FOUND 246 +#define NICK_AJOIN_DELETED 247 +#define NICK_AJOIN_LIST_EMPTY 248 +#define NICK_AJOIN_LIST 249 +#define NICK_AJOIN_LIST_X_EMPTY 250 +#define NICK_AJOIN_LIST_X 251 +#define NICK_AUTH_SENT 252 +#define NICK_AUTH_FOR_REGISTER 253 +#define NICK_AUTH_FOR_SET_EMAIL 254 +#define NICK_AUTH_NOT_NEEDED 255 +#define NICK_AUTH_NO_AUTHCODE 256 +#define NICK_AUTH_HAS_AUTHCODE 257 +#define PASSWORD_WARNING_FOR_AUTH 258 +#define NICK_AUTH_MAIL_SUBJECT 259 +#define NICK_AUTH_MAIL_BODY 260 +#define NICK_AUTH_MAIL_TEXT_REG 261 +#define NICK_AUTH_MAIL_TEXT_EMAIL 262 +#define NICK_AUTH_MAIL_TEXT_SENDAUTH 263 +#define NICK_AUTH_MAIL_BODY_SETAUTH 264 +#define NICK_AUTH_SYNTAX 265 +#define NICK_AUTH_DISABLED 266 +#define NICK_AUTH_FAILED 267 +#define NICK_AUTH_SUCCEEDED_REGISTER 268 +#define NICK_AUTH_SUCCEEDED_SET_EMAIL 269 +#define NICK_AUTH_SUCCEEDED_SETAUTH 270 +#define NICK_SENDAUTH_SYNTAX 271 +#define NICK_SENDAUTH_TOO_SOON 272 +#define NICK_SENDAUTH_FAILED 273 +#define NICK_SETAUTH_SYNTAX 274 +#define NICK_SETAUTH_NO_EMAIL 275 +#define NICK_SETAUTH_AUTHCODE_SET 276 +#define NICK_SETAUTH_SEND_FAILED 277 +#define NICK_SETAUTH_SEND_TEMPFAIL 278 +#define NICK_SETAUTH_USER_NOTICE 279 +#define NICK_GETAUTH_SYNTAX 280 +#define NICK_GETAUTH_AUTHCODE_IS 281 +#define NICK_CLEARAUTH_SYNTAX 282 +#define NICK_CLEARAUTH_CLEARED 283 +#define NICK_SENDPASS_MAIL_SUBJECT 284 +#define NICK_SENDPASS_MAIL_BODY 285 +#define NICK_SENDPASS_SYNTAX 286 +#define NICK_SENDPASS_FAILED 287 +#define NICK_SENDPASS_NO_EMAIL 288 +#define NICK_SENDPASS_NOT_AUTHED 289 +#define NICK_SENDPASS_TOO_SOON 290 +#define NICK_SENDPASS_SENT 291 +#define CHAN_LEVEL_AUTOOP 292 +#define CHAN_LEVEL_AUTOVOICE 293 +#define CHAN_LEVEL_INVITE 294 +#define CHAN_LEVEL_AKICK 295 +#define CHAN_LEVEL_SET 296 +#define CHAN_LEVEL_CLEAR 297 +#define CHAN_LEVEL_UNBAN 298 +#define CHAN_LEVEL_OPDEOP 299 +#define CHAN_LEVEL_ACCESS_LIST 300 +#define CHAN_LEVEL_ACCESS_CHANGE 301 +#define CHAN_LEVEL_MEMO 302 +#define CHAN_LEVEL_VOICE 303 +#define CHAN_LEVEL_AUTOHALFOP 304 +#define CHAN_LEVEL_HALFOP 305 +#define CHAN_LEVEL_AUTOPROTECT 306 +#define CHAN_LEVEL_PROTECT 307 +#define CHAN_LEVEL_KICK 308 +#define CHAN_LEVEL_STATUS 309 +#define CHAN_LEVEL_TOPIC 310 +#define CHAN_IS_REGISTERED 311 +#define CHAN_MAY_NOT_BE_USED 312 +#define CHAN_NOT_ALLOWED_TO_JOIN 313 +#define CHAN_MUST_IDENTIFY_NICK 314 +#define CHAN_BOUNCY_MODES 315 +#define CHAN_REGISTER_SYNTAX 316 +#define CHAN_REGISTER_DISABLED 317 +#define CHAN_REGISTER_SHORT_CHANNEL 318 +#define CHAN_REGISTER_NOT_LOCAL 319 +#define CHAN_REGISTER_INVALID_NAME 320 +#define CHAN_MUST_REGISTER_NICK 321 +#define CHAN_MAY_NOT_BE_REGISTERED 322 +#define CHAN_ALREADY_REGISTERED 323 +#define CHAN_MUST_BE_CHANOP 324 +#define CHAN_REACHED_CHANNEL_LIMIT 325 +#define CHAN_EXCEEDED_CHANNEL_LIMIT 326 +#define CHAN_REGISTRATION_FAILED 327 +#define CHAN_REGISTERED 328 +#define CHAN_PASSWORD_IS 329 +#define CHAN_IDENTIFY_SYNTAX 330 +#define CHAN_IDENTIFY_FAILED 331 +#define CHAN_IDENTIFY_SUCCEEDED 332 +#define CHAN_DROP_SYNTAX 333 +#define CHAN_DROP_DISABLED 334 +#define CHAN_DROPPED 335 +#define CHAN_SET_SYNTAX 336 +#define CHAN_SET_DISABLED 337 +#define CHAN_SET_UNKNOWN_OPTION 338 +#define CHAN_SET_FOUNDER_TOO_MANY_CHANS 339 +#define CHAN_FOUNDER_CHANGED 340 +#define CHAN_SUCCESSOR_CHANGED 341 +#define CHAN_SUCCESSOR_IS_FOUNDER 342 +#define CHAN_SET_PASSWORD_FAILED 343 +#define CHAN_PASSWORD_CHANGED 344 +#define CHAN_PASSWORD_CHANGED_TO 345 +#define CHAN_DESC_CHANGED 346 +#define CHAN_URL_CHANGED 347 +#define CHAN_EMAIL_CHANGED 348 +#define CHAN_ENTRY_MSG_CHANGED 349 +#define CHAN_SET_MLOCK_NEED_PLUS_MINUS 350 +#define CHAN_SET_MLOCK_NEED_PARAM 351 +#define CHAN_SET_MLOCK_LIMIT_POSITIVE 352 +#define CHAN_SET_MLOCK_MODE_REG_BAD 353 +#define CHAN_SET_MLOCK_LINK_BAD 354 +#define CHAN_SET_MLOCK_LINK_SAME 355 +#define CHAN_SET_MLOCK_LINK_NO_LIMIT 356 +#define CHAN_SET_MLOCK_FLOOD_BAD 357 +#define CHAN_SET_MLOCK_UNKNOWN_CHAR 358 +#define CHAN_SET_MLOCK_CANNOT_LOCK 359 +#define CHAN_MLOCK_CHANGED 360 +#define CHAN_MLOCK_REMOVED 361 +#define CHAN_SET_HIDE_SYNTAX 362 +#define CHAN_SET_HIDE_EMAIL_ON 363 +#define CHAN_SET_HIDE_EMAIL_OFF 364 +#define CHAN_SET_HIDE_TOPIC_ON 365 +#define CHAN_SET_HIDE_TOPIC_OFF 366 +#define CHAN_SET_HIDE_MLOCK_ON 367 +#define CHAN_SET_HIDE_MLOCK_OFF 368 +#define CHAN_SET_KEEPTOPIC_SYNTAX 369 +#define CHAN_SET_KEEPTOPIC_ON 370 +#define CHAN_SET_KEEPTOPIC_OFF 371 +#define CHAN_SET_TOPICLOCK_SYNTAX 372 +#define CHAN_SET_TOPICLOCK_ON 373 +#define CHAN_SET_TOPICLOCK_OFF 374 +#define CHAN_SET_PRIVATE_SYNTAX 375 +#define CHAN_SET_PRIVATE_ON 376 +#define CHAN_SET_PRIVATE_OFF 377 +#define CHAN_SET_SECUREOPS_SYNTAX 378 +#define CHAN_SET_SECUREOPS_ON 379 +#define CHAN_SET_SECUREOPS_OFF 380 +#define CHAN_SET_LEAVEOPS_SYNTAX 381 +#define CHAN_SET_LEAVEOPS_ON 382 +#define CHAN_SET_LEAVEOPS_OFF 383 +#define CHAN_SET_RESTRICTED_SYNTAX 384 +#define CHAN_SET_RESTRICTED_ON 385 +#define CHAN_SET_RESTRICTED_OFF 386 +#define CHAN_SET_SECURE_SYNTAX 387 +#define CHAN_SET_SECURE_ON 388 +#define CHAN_SET_SECURE_OFF 389 +#define CHAN_SET_OPNOTICE_SYNTAX 390 +#define CHAN_SET_OPNOTICE_ON 391 +#define CHAN_SET_OPNOTICE_OFF 392 +#define CHAN_SET_ENFORCE_SYNTAX 393 +#define CHAN_SET_ENFORCE_ON 394 +#define CHAN_SET_ENFORCE_OFF 395 +#define CHAN_SET_NOEXPIRE_SYNTAX 396 +#define CHAN_SET_NOEXPIRE_ON 397 +#define CHAN_SET_NOEXPIRE_OFF 398 +#define CHAN_UNSET_SYNTAX 399 +#define CHAN_SUCCESSOR_UNSET 400 +#define CHAN_URL_UNSET 401 +#define CHAN_EMAIL_UNSET 402 +#define CHAN_ENTRY_MSG_UNSET 403 +#define CHAN_ACCESS_SYNTAX 404 +#define CHAN_ACCESS_DISABLED 405 +#define CHAN_ACCESS_LEVEL_NONZERO 406 +#define CHAN_ACCESS_LEVEL_RANGE 407 +#define CHAN_ACCESS_NICKS_ONLY 408 +#define CHAN_ACCESS_REACHED_LIMIT 409 +#define CHAN_ACCESS_LEVEL_UNCHANGED 410 +#define CHAN_ACCESS_LEVEL_CHANGED 411 +#define CHAN_ACCESS_ADDED 412 +#define CHAN_ACCESS_NO_SUCH_ENTRY 413 +#define CHAN_ACCESS_NOT_FOUND 414 +#define CHAN_ACCESS_NO_MATCH 415 +#define CHAN_ACCESS_DELETED 416 +#define CHAN_ACCESS_DELETED_ONE 417 +#define CHAN_ACCESS_DELETED_SEVERAL 418 +#define CHAN_ACCESS_LIST_EMPTY 419 +#define CHAN_ACCESS_LIST_HEADER 420 +#define CHAN_ACCESS_LIST_FORMAT 421 +#define CHAN_ACCESS_COUNT 422 +#define CHAN_SOP_SYNTAX 423 +#define CHAN_AOP_SYNTAX 424 +#define CHAN_HOP_SYNTAX 425 +#define CHAN_VOP_SYNTAX 426 +#define CHAN_XOP_ADDED 427 +#define CHAN_XOP_LEVEL_CHANGED 428 +#define CHAN_XOP_LEVEL_UNCHANGED 429 +#define CHAN_XOP_NICKS_ONLY 430 +#define CHAN_XOP_NICKS_ONLY_HOP 431 +#define CHAN_XOP_REACHED_LIMIT 432 +#define CHAN_XOP_REACHED_LIMIT_HOP 433 +#define CHAN_XOP_NOT_FOUND 434 +#define CHAN_XOP_NO_SUCH_ENTRY 435 +#define CHAN_XOP_NO_MATCH 436 +#define CHAN_XOP_DELETED 437 +#define CHAN_XOP_DELETED_ONE 438 +#define CHAN_XOP_DELETED_SEVERAL 439 +#define CHAN_XOP_LIST_EMPTY 440 +#define CHAN_XOP_LIST_HEADER 441 +#define CHAN_XOP_LIST_FORMAT 442 +#define CHAN_XOP_COUNT 443 +#define CHAN_AKICK_SYNTAX 444 +#define CHAN_AKICK_DISABLED 445 +#define CHAN_AKICK_ALREADY_EXISTS 446 +#define CHAN_AKICK_REACHED_LIMIT 447 +#define CHAN_AKICK_ADDED 448 +#define CHAN_AKICK_NO_SUCH_ENTRY 449 +#define CHAN_AKICK_NOT_FOUND 450 +#define CHAN_AKICK_NO_MATCH 451 +#define CHAN_AKICK_DELETED 452 +#define CHAN_AKICK_DELETED_ONE 453 +#define CHAN_AKICK_DELETED_SEVERAL 454 +#define CHAN_AKICK_LIST_EMPTY 455 +#define CHAN_AKICK_LIST_HEADER 456 +#define CHAN_AKICK_VIEW_FORMAT 457 +#define CHAN_AKICK_VIEW_UNUSED_FORMAT 458 +#define CHAN_AKICK_ENFORCE_DONE 459 +#define CHAN_AKICK_COUNT 460 +#define CHAN_LEVELS_SYNTAX 461 +#define CHAN_LEVELS_RANGE 462 +#define CHAN_LEVELS_CHANGED 463 +#define CHAN_LEVELS_UNKNOWN 464 +#define CHAN_LEVELS_DISABLED 465 +#define CHAN_LEVELS_LIST_HEADER 466 +#define CHAN_LEVELS_LIST_DISABLED 467 +#define CHAN_LEVELS_LIST_FOUNDER 468 +#define CHAN_LEVELS_LIST_NORMAL 469 +#define CHAN_LEVELS_RESET 470 +#define CHAN_INFO_SYNTAX 471 +#define CHAN_INFO_HEADER 472 +#define CHAN_INFO_FOUNDER 473 +#define CHAN_INFO_SUCCESSOR 474 +#define CHAN_INFO_DESCRIPTION 475 +#define CHAN_INFO_ENTRYMSG 476 +#define CHAN_INFO_TIME_REGGED 477 +#define CHAN_INFO_LAST_USED 478 +#define CHAN_INFO_LAST_TOPIC 479 +#define CHAN_INFO_TOPIC_SET_BY 480 +#define CHAN_INFO_URL 481 +#define CHAN_INFO_EMAIL 482 +#define CHAN_INFO_OPTIONS 483 +#define CHAN_INFO_OPT_PRIVATE 484 +#define CHAN_INFO_OPT_KEEPTOPIC 485 +#define CHAN_INFO_OPT_TOPICLOCK 486 +#define CHAN_INFO_OPT_SECUREOPS 487 +#define CHAN_INFO_OPT_LEAVEOPS 488 +#define CHAN_INFO_OPT_RESTRICTED 489 +#define CHAN_INFO_OPT_SECURE 490 +#define CHAN_INFO_OPT_OPNOTICE 491 +#define CHAN_INFO_OPT_ENFORCE 492 +#define CHAN_INFO_OPT_NONE 493 +#define CHAN_INFO_MODE_LOCK 494 +#define CHAN_INFO_NO_EXPIRE 495 +#define CHAN_INFO_SUSPEND_DETAILS 496 +#define CHAN_INFO_SUSPEND_REASON 497 +#define CHAN_INFO_SHOW_ALL 498 +#define CHAN_LIST_SYNTAX 499 +#define CHAN_LIST_OPER_SYNTAX 500 +#define CHAN_LIST_HEADER 501 +#define CHAN_LIST_END 502 +#define CHAN_INVITE_SYNTAX 503 +#define CHAN_INVITE_OK 504 +#define CHAN_OPVOICE_SYNTAX 505 +#define CHAN_OP_SUCCEEDED 506 +#define CHAN_OP_ALREADY 507 +#define CHAN_OP_FAILED 508 +#define CHAN_DEOP_SUCCEEDED 509 +#define CHAN_DEOP_ALREADY 510 +#define CHAN_DEOP_FAILED 511 +#define CHAN_VOICE_SUCCEEDED 512 +#define CHAN_VOICE_ALREADY 513 +#define CHAN_VOICE_FAILED 514 +#define CHAN_DEVOICE_SUCCEEDED 515 +#define CHAN_DEVOICE_ALREADY 516 +#define CHAN_DEVOICE_FAILED 517 +#define CHAN_HALFOP_SUCCEEDED 518 +#define CHAN_HALFOP_ALREADY 519 +#define CHAN_HALFOP_FAILED 520 +#define CHAN_DEHALFOP_SUCCEEDED 521 +#define CHAN_DEHALFOP_ALREADY 522 +#define CHAN_DEHALFOP_FAILED 523 +#define CHAN_PROTECT_SUCCEEDED 524 +#define CHAN_PROTECT_ALREADY 525 +#define CHAN_PROTECT_FAILED 526 +#define CHAN_DEPROTECT_SUCCEEDED 527 +#define CHAN_DEPROTECT_ALREADY 528 +#define CHAN_DEPROTECT_FAILED 529 +#define CHAN_UNBAN_SYNTAX 530 +#define CHAN_UNBANNED 531 +#define CHAN_KICK_SYNTAX 532 +#define CHAN_KICK_PROTECTED 533 +#define CHAN_KICKED 534 +#define CHAN_TOPIC_SYNTAX 535 +#define CHAN_CLEAR_SYNTAX 536 +#define CHAN_CLEARED_BANS 537 +#define CHAN_CLEARED_EXCEPTIONS 538 +#define CHAN_CLEARED_MODES 539 +#define CHAN_CLEARED_OPS 540 +#define CHAN_CLEARED_HALFOPS 541 +#define CHAN_CLEARED_VOICES 542 +#define CHAN_CLEARED_USERS 543 +#define CHAN_GETPASS_SYNTAX 544 +#define CHAN_GETPASS_UNAVAILABLE 545 +#define CHAN_GETPASS_PASSWORD_IS 546 +#define CHAN_FORBID_SYNTAX 547 +#define CHAN_FORBID_SHORT_CHANNEL 548 +#define CHAN_FORBID_SUCCEEDED 549 +#define CHAN_FORBID_FAILED 550 +#define CHAN_SUSPEND_SYNTAX 551 +#define CHAN_SUSPEND_SUCCEEDED 552 +#define CHAN_SUSPEND_ALREADY_SUSPENDED 553 +#define CHAN_UNSUSPEND_SYNTAX 554 +#define CHAN_UNSUSPEND_SUCCEEDED 555 +#define CHAN_UNSUSPEND_NOT_SUSPENDED 556 +#define CHAN_SENDPASS_MAIL_SUBJECT 557 +#define CHAN_SENDPASS_MAIL_BODY 558 +#define CHAN_SENDPASS_SYNTAX 559 +#define CHAN_SENDPASS_FAILED 560 +#define CHAN_SENDPASS_FOUNDER_ONLY 561 +#define CHAN_SENDPASS_NO_EMAIL 562 +#define CHAN_SENDPASS_TOO_SOON 563 +#define CHAN_SENDPASS_SENT 564 +#define MEMO_HAVE_NEW_MEMO 565 +#define MEMO_HAVE_NEW_MEMOS 566 +#define MEMO_TYPE_READ_LAST 567 +#define MEMO_TYPE_READ_NUM 568 +#define MEMO_TYPE_LIST_NEW 569 +#define MEMO_AT_LIMIT 570 +#define MEMO_OVER_LIMIT 571 +#define MEMO_NEW_MEMO_ARRIVED 572 +#define MEMO_HAVE_NO_MEMOS 573 +#define MEMO_X_HAS_NO_MEMOS 574 +#define MEMO_DOES_NOT_EXIST 575 +#define MEMO_LIST_NOT_FOUND 576 +#define MEMO_SEND_SYNTAX 577 +#define MEMO_SEND_DISABLED 578 +#define MEMO_SEND_PLEASE_WAIT 579 +#define MEMO_X_GETS_NO_MEMOS 580 +#define MEMO_X_HAS_TOO_MANY_MEMOS 581 +#define MEMO_SENT 582 +#define MEMO_LIST_SYNTAX 583 +#define MEMO_HAVE_NO_NEW_MEMOS 584 +#define MEMO_X_HAS_NO_NEW_MEMOS 585 +#define MEMO_LIST_MEMOS 586 +#define MEMO_LIST_NEW_MEMOS 587 +#define MEMO_LIST_CHAN_MEMOS 588 +#define MEMO_LIST_CHAN_NEW_MEMOS 589 +#define MEMO_LIST_HEADER 590 +#define MEMO_LIST_FORMAT 591 +#define MEMO_READ_SYNTAX 592 +#define MEMO_HEADER 593 +#define MEMO_CHAN_HEADER 594 +#define MEMO_SAVE_SYNTAX 595 +#define MEMO_SAVED_ONE 596 +#define MEMO_SAVED_SEVERAL 597 +#define MEMO_DEL_SYNTAX 598 +#define MEMO_DELETED_NONE 599 +#define MEMO_DELETED_ONE 600 +#define MEMO_DELETED_SEVERAL 601 +#define MEMO_DELETED_ALL 602 +#define MEMO_SET_SYNTAX 603 +#define MEMO_SET_DISABLED 604 +#define MEMO_SET_UNKNOWN_OPTION 605 +#define MEMO_SET_NOTIFY_SYNTAX 606 +#define MEMO_SET_NOTIFY_ON 607 +#define MEMO_SET_NOTIFY_LOGON 608 +#define MEMO_SET_NOTIFY_NEW 609 +#define MEMO_SET_NOTIFY_OFF 610 +#define MEMO_SET_LIMIT_SYNTAX 611 +#define MEMO_SET_LIMIT_OPER_SYNTAX 612 +#define MEMO_SET_YOUR_LIMIT_FORBIDDEN 613 +#define MEMO_SET_LIMIT_FORBIDDEN 614 +#define MEMO_SET_YOUR_LIMIT_TOO_HIGH 615 +#define MEMO_SET_LIMIT_TOO_HIGH 616 +#define MEMO_SET_LIMIT_OVERFLOW 617 +#define MEMO_SET_YOUR_LIMIT 618 +#define MEMO_SET_YOUR_LIMIT_ZERO 619 +#define MEMO_SET_YOUR_LIMIT_DEFAULT 620 +#define MEMO_UNSET_YOUR_LIMIT 621 +#define MEMO_SET_LIMIT 622 +#define MEMO_SET_LIMIT_ZERO 623 +#define MEMO_SET_LIMIT_DEFAULT 624 +#define MEMO_UNSET_LIMIT 625 +#define MEMO_INFO_NO_MEMOS 626 +#define MEMO_INFO_MEMO 627 +#define MEMO_INFO_MEMO_UNREAD 628 +#define MEMO_INFO_MEMOS 629 +#define MEMO_INFO_MEMOS_ONE_UNREAD 630 +#define MEMO_INFO_MEMOS_SOME_UNREAD 631 +#define MEMO_INFO_MEMOS_ALL_UNREAD 632 +#define MEMO_INFO_LIMIT 633 +#define MEMO_INFO_HARD_LIMIT 634 +#define MEMO_INFO_LIMIT_ZERO 635 +#define MEMO_INFO_HARD_LIMIT_ZERO 636 +#define MEMO_INFO_NO_LIMIT 637 +#define MEMO_INFO_NOTIFY_OFF 638 +#define MEMO_INFO_NOTIFY_ON 639 +#define MEMO_INFO_NOTIFY_RECEIVE 640 +#define MEMO_INFO_NOTIFY_SIGNON 641 +#define MEMO_INFO_X_NO_MEMOS 642 +#define MEMO_INFO_X_MEMO 643 +#define MEMO_INFO_X_MEMO_UNREAD 644 +#define MEMO_INFO_X_MEMOS 645 +#define MEMO_INFO_X_MEMOS_ONE_UNREAD 646 +#define MEMO_INFO_X_MEMOS_SOME_UNREAD 647 +#define MEMO_INFO_X_MEMOS_ALL_UNREAD 648 +#define MEMO_INFO_X_LIMIT 649 +#define MEMO_INFO_X_HARD_LIMIT 650 +#define MEMO_INFO_X_NO_LIMIT 651 +#define MEMO_INFO_X_NOTIFY_OFF 652 +#define MEMO_INFO_X_NOTIFY_ON 653 +#define MEMO_INFO_X_NOTIFY_RECEIVE 654 +#define MEMO_INFO_X_NOTIFY_SIGNON 655 +#define MEMO_FORWARD_MAIL_SUBJECT 656 +#define MEMO_FORWARD_MAIL_BODY 657 +#define MEMO_FORWARD_SYNTAX 658 +#define MEMO_FORWARD_NEED_EMAIL 659 +#define MEMO_FORWARD_PLEASE_WAIT 660 +#define MEMO_FORWARD_FAILED 661 +#define MEMO_FORWARDED_NONE 662 +#define MEMO_FORWARDED_ONE 663 +#define MEMO_FORWARDED_SEVERAL 664 +#define MEMO_FORWARDED_ALL 665 +#define MEMO_FORWARDED_ALSO_TEMPFAIL 666 +#define MEMO_FORWARDED_ALSO_PERMFAIL 667 +#define MEMO_SET_FORWARD_SYNTAX 668 +#define MEMO_SET_FORWARD_ON 669 +#define MEMO_SET_FORWARD_COPY 670 +#define MEMO_SET_FORWARD_OFF 671 +#define MEMO_IGNORE_SYNTAX 672 +#define MEMO_IGNORE_ADD_SYNTAX 673 +#define MEMO_IGNORE_DEL_SYNTAX 674 +#define MEMO_IGNORE_LIST_FULL 675 +#define MEMO_IGNORE_ALREADY_PRESENT 676 +#define MEMO_IGNORE_ADDED 677 +#define MEMO_IGNORE_NOT_FOUND 678 +#define MEMO_IGNORE_DELETED 679 +#define MEMO_IGNORE_LIST_EMPTY 680 +#define MEMO_IGNORE_LIST 681 +#define MEMO_IGNORE_LIST_X_EMPTY 682 +#define MEMO_IGNORE_LIST_X 683 +#define OPER_BOUNCY_MODES 684 +#define OPER_BOUNCY_MODES_U_LINE 685 +#define OPER_GLOBAL_SYNTAX 686 +#define OPER_STATS_UNKNOWN_OPTION 687 +#define OPER_STATS_RESET_USER_COUNT 688 +#define OPER_STATS_CURRENT_USERS 689 +#define OPER_STATS_MAX_USERS 690 +#define OPER_STATS_UPTIME_DHMS 691 +#define OPER_STATS_UPTIME_HM_MS 692 +#define OPER_STATS_KBYTES_READ 693 +#define OPER_STATS_KBYTES_WRITTEN 694 +#define OPER_STATS_NETBUF_SOCK 695 +#define OPER_STATS_NETBUF_SOCK_PERCENT 696 +#define OPER_STATS_NETBUF_TOTAL 697 +#define OPER_STATS_NETBUF_TOTAL_PERCENT 698 +#define OPER_STATS_ALL_USER_MEM 699 +#define OPER_STATS_ALL_CHANNEL_MEM 700 +#define OPER_STATS_ALL_SERVER_MEM 701 +#define OPER_STATS_ALL_NICKGROUPINFO_MEM 702 +#define OPER_STATS_ALL_NICKINFO_MEM 703 +#define OPER_STATS_ALL_CHANSERV_MEM 704 +#define OPER_STATS_ALL_STATSERV_MEM 705 +#define OPER_STATS_ALL_NEWS_MEM 706 +#define OPER_STATS_ALL_AKILL_MEM 707 +#define OPER_STATS_ALL_EXCEPTION_MEM 708 +#define OPER_STATS_ALL_SGLINE_MEM 709 +#define OPER_STATS_ALL_SQLINE_MEM 710 +#define OPER_STATS_ALL_SZLINE_MEM 711 +#define OPER_STATS_ALL_SESSION_MEM 712 +#define OPER_MODE_SYNTAX 713 +#define OPER_CLEARMODES_SYNTAX 714 +#define OPER_CLEARMODES_DONE 715 +#define OPER_CLEARMODES_EXCEPT_DONE 716 +#define OPER_CLEARMODES_ALL_DONE 717 +#define OPER_CLEARCHAN_SYNTAX 718 +#define OPER_CLEARCHAN_DONE 719 +#define OPER_KICK_SYNTAX 720 +#define OPER_ADMIN_SYNTAX 721 +#define OPER_ADMIN_ADD_SYNTAX 722 +#define OPER_ADMIN_DEL_SYNTAX 723 +#define OPER_ADMIN_NO_NICKSERV 724 +#define OPER_ADMIN_EXISTS 725 +#define OPER_ADMIN_ADDED 726 +#define OPER_ADMIN_TOO_MANY 727 +#define OPER_ADMIN_REMOVED 728 +#define OPER_ADMIN_NOT_FOUND 729 +#define OPER_ADMIN_LIST_HEADER 730 +#define OPER_OPER_SYNTAX 731 +#define OPER_OPER_ADD_SYNTAX 732 +#define OPER_OPER_DEL_SYNTAX 733 +#define OPER_OPER_NO_NICKSERV 734 +#define OPER_OPER_EXISTS 735 +#define OPER_OPER_ADDED 736 +#define OPER_OPER_TOO_MANY 737 +#define OPER_OPER_REMOVED 738 +#define OPER_OPER_NOT_FOUND 739 +#define OPER_OPER_LIST_HEADER 740 +#define OPER_AKILL_SYNTAX 741 +#define OPER_AKILL_ADD_SYNTAX 742 +#define OPER_AKILL_DEL_SYNTAX 743 +#define OPER_TOO_MANY_AKILLS 744 +#define OPER_AKILL_EXISTS 745 +#define OPER_AKILL_NO_NICK 746 +#define OPER_AKILL_MASK_TOO_GENERAL 747 +#define OPER_AKILL_EXPIRY_LIMITED 748 +#define OPER_AKILL_ADDED 749 +#define OPER_AKILL_REMOVED 750 +#define OPER_AKILL_NOT_FOUND 751 +#define OPER_AKILL_LIST_HEADER 752 +#define OPER_AKILL_LIST_FORMAT 753 +#define OPER_AKILL_VIEW_FORMAT 754 +#define OPER_AKILL_VIEW_UNUSED_FORMAT 755 +#define OPER_AKILL_COUNT 756 +#define OPER_EXCLUDE_SYNTAX 757 +#define OPER_EXCLUDE_ADD_SYNTAX 758 +#define OPER_EXCLUDE_DEL_SYNTAX 759 +#define OPER_TOO_MANY_EXCLUDES 760 +#define OPER_EXCLUDE_EXISTS 761 +#define OPER_EXCLUDE_ADDED 762 +#define OPER_EXCLUDE_REMOVED 763 +#define OPER_EXCLUDE_NOT_FOUND 764 +#define OPER_EXCLUDE_LIST_HEADER 765 +#define OPER_EXCLUDE_LIST_FORMAT 766 +#define OPER_EXCLUDE_VIEW_FORMAT 767 +#define OPER_EXCLUDE_VIEW_UNUSED_FORMAT 768 +#define OPER_EXCLUDE_COUNT 769 +#define OPER_SLINE_SYNTAX 770 +#define OPER_SLINE_ADD_SYNTAX 771 +#define OPER_SLINE_DEL_SYNTAX 772 +#define OPER_TOO_MANY_SLINES 773 +#define OPER_SLINE_EXISTS 774 +#define OPER_SLINE_ADDED 775 +#define OPER_SLINE_REMOVED 776 +#define OPER_SLINE_NOT_FOUND 777 +#define OPER_SLINE_LIST_HEADER 778 +#define OPER_SLINE_LIST_FORMAT 779 +#define OPER_SLINE_VIEW_FORMAT 780 +#define OPER_SLINE_VIEW_UNUSED_FORMAT 781 +#define OPER_SLINE_COUNT 782 +#define OPER_SZLINE_NOT_AVAIL 783 +#define OPER_SU_SYNTAX 784 +#define OPER_SU_NO_PASSWORD 785 +#define OPER_SU_SUCCEEDED 786 +#define OPER_SU_FAILED 787 +#define OPER_SET_SYNTAX 788 +#define OPER_SET_IGNORE_ON 789 +#define OPER_SET_IGNORE_OFF 790 +#define OPER_SET_IGNORE_ERROR 791 +#define OPER_SET_READONLY_ON 792 +#define OPER_SET_READONLY_OFF 793 +#define OPER_SET_READONLY_ERROR 794 +#define OPER_SET_DEBUG_ON 795 +#define OPER_SET_DEBUG_OFF 796 +#define OPER_SET_DEBUG_LEVEL 797 +#define OPER_SET_DEBUG_ERROR 798 +#define OPER_SET_SUPASS_FAILED 799 +#define OPER_SET_SUPASS_OK 800 +#define OPER_SET_SUPASS_NONE 801 +#define OPER_SET_UNKNOWN_OPTION 802 +#define OPER_JUPE_SYNTAX 803 +#define OPER_JUPE_INVALID_NAME 804 +#define OPER_JUPE_ALREADY_JUPED 805 +#define OPER_RAW_SYNTAX 806 +#define OPER_UPDATING 807 +#define OPER_REHASHING 808 +#define OPER_REHASHED 809 +#define OPER_REHASH_ERROR 810 +#define OPER_IGNORE_LIST 811 +#define OPER_IGNORE_LIST_EMPTY 812 +#define OPER_KILLCLONES_SYNTAX 813 +#define OPER_KILLCLONES_UNKNOWN_NICK 814 +#define OPER_KILLCLONES_KILLED 815 +#define OPER_KILLCLONES_KILLED_AKILL 816 +#define OPER_EXCEPTION_SYNTAX 817 +#define OPER_EXCEPTION_ADD_SYNTAX 818 +#define OPER_EXCEPTION_DEL_SYNTAX 819 +#define OPER_EXCEPTION_MOVE_SYNTAX 820 +#define OPER_EXCEPTION_ALREADY_PRESENT 821 +#define OPER_EXCEPTION_TOO_MANY 822 +#define OPER_EXCEPTION_ADDED 823 +#define OPER_EXCEPTION_MOVED 824 +#define OPER_EXCEPTION_NO_SUCH_ENTRY 825 +#define OPER_EXCEPTION_NOT_FOUND 826 +#define OPER_EXCEPTION_NO_MATCH 827 +#define OPER_EXCEPTION_EMPTY 828 +#define OPER_EXCEPTION_DELETED 829 +#define OPER_EXCEPTION_DELETED_ONE 830 +#define OPER_EXCEPTION_DELETED_SEVERAL 831 +#define OPER_EXCEPTION_LIST_HEADER 832 +#define OPER_EXCEPTION_LIST_COLHEAD 833 +#define OPER_EXCEPTION_LIST_FORMAT 834 +#define OPER_EXCEPTION_VIEW_FORMAT 835 +#define OPER_EXCEPTION_INVALID_LIMIT 836 +#define OPER_EXCEPTION_INVALID_HOSTMASK 837 +#define OPER_SESSION_SYNTAX 838 +#define OPER_SESSION_LIST_SYNTAX 839 +#define OPER_SESSION_VIEW_SYNTAX 840 +#define OPER_SESSION_INVALID_THRESHOLD 841 +#define OPER_SESSION_NOT_FOUND 842 +#define OPER_SESSION_LIST_HEADER 843 +#define OPER_SESSION_LIST_COLHEAD 844 +#define OPER_SESSION_LIST_FORMAT 845 +#define OPER_SESSION_VIEW_FORMAT 846 +#define NEWS_LOGON_TEXT 847 +#define NEWS_OPER_TEXT 848 +#define NEWS_LOGON_SYNTAX 849 +#define NEWS_LOGON_LIST_HEADER 850 +#define NEWS_LOGON_LIST_ENTRY 851 +#define NEWS_LOGON_LIST_NONE 852 +#define NEWS_LOGON_ADD_SYNTAX 853 +#define NEWS_LOGON_ADD_FULL 854 +#define NEWS_LOGON_ADDED 855 +#define NEWS_LOGON_DEL_SYNTAX 856 +#define NEWS_LOGON_DEL_NOT_FOUND 857 +#define NEWS_LOGON_DELETED 858 +#define NEWS_LOGON_DEL_NONE 859 +#define NEWS_LOGON_DELETED_ALL 860 +#define NEWS_OPER_SYNTAX 861 +#define NEWS_OPER_LIST_HEADER 862 +#define NEWS_OPER_LIST_ENTRY 863 +#define NEWS_OPER_LIST_NONE 864 +#define NEWS_OPER_ADD_SYNTAX 865 +#define NEWS_OPER_ADD_FULL 866 +#define NEWS_OPER_ADDED 867 +#define NEWS_OPER_DEL_SYNTAX 868 +#define NEWS_OPER_DEL_NOT_FOUND 869 +#define NEWS_OPER_DELETED 870 +#define NEWS_OPER_DEL_NONE 871 +#define NEWS_OPER_DELETED_ALL 872 +#define NEWS_HELP_LOGON 873 +#define NEWS_HELP_OPER 874 +#define STAT_SERVERS_REMOVE_SERV_FIRST 875 +#define STAT_SERVERS_SERVER_EXISTS 876 +#define STAT_SERVERS_SYNTAX 877 +#define STAT_SERVERS_STATS_TOTAL 878 +#define STAT_SERVERS_STATS_ON_OFFLINE 879 +#define STAT_SERVERS_LASTQUIT_WAS 880 +#define STAT_SERVERS_LIST_HEADER 881 +#define STAT_SERVERS_LIST_FORMAT 882 +#define STAT_SERVERS_LIST_RESULTS 883 +#define STAT_SERVERS_VIEW_HEADER_ONLINE 884 +#define STAT_SERVERS_VIEW_HEADER_OFFLINE 885 +#define STAT_SERVERS_VIEW_LASTJOIN 886 +#define STAT_SERVERS_VIEW_LASTQUIT 887 +#define STAT_SERVERS_VIEW_QUITMSG 888 +#define STAT_SERVERS_VIEW_USERS_OPERS 889 +#define STAT_SERVERS_VIEW_RESULTS 890 +#define STAT_SERVERS_DELETE_SYNTAX 891 +#define STAT_SERVERS_DELETE_DONE 892 +#define STAT_SERVERS_COPY_SYNTAX 893 +#define STAT_SERVERS_COPY_DONE 894 +#define STAT_SERVERS_RENAME_SYNTAX 895 +#define STAT_SERVERS_RENAME_DONE 896 +#define STAT_USERS_SYNTAX 897 +#define STAT_USERS_TOTUSERS 898 +#define STAT_USERS_TOTOPERS 899 +#define STAT_USERS_SERVUSERS 900 +#define STAT_USERS_SERVOPERS 901 +#define NICK_HELP 902 +#define NICK_HELP_EXPIRES 903 +#define NICK_HELP_WARNING 904 +#define NICK_HELP_COMMANDS 905 +#define NICK_HELP_COMMANDS_AUTH 906 +#define NICK_HELP_COMMANDS_IDENTIFY 907 +#define NICK_HELP_COMMANDS_SENDPASS 908 +#define NICK_HELP_COMMANDS_DROP 909 +#define NICK_HELP_COMMANDS_LINK 910 +#define NICK_HELP_COMMANDS_OLDLINK 911 +#define NICK_HELP_COMMANDS_ACCESS 912 +#define NICK_HELP_COMMANDS_AJOIN 913 +#define NICK_HELP_COMMANDS_SET 914 +#define NICK_HELP_COMMANDS_LIST 915 +#define NICK_HELP_COMMANDS_LISTCHANS 916 +#define NICK_HELP_REGISTER 917 +#define NICK_HELP_REGISTER_EMAIL 918 +#define NICK_HELP_REGISTER_EMAIL_REQ 919 +#define NICK_HELP_REGISTER_EMAIL_AUTH 920 +#define NICK_HELP_REGISTER_END 921 +#define NICK_HELP_AUTH 922 +#define NICK_HELP_SENDAUTH 923 +#define NICK_HELP_SENDPASS 924 +#define NICK_HELP_IDENTIFY 925 +#define NICK_HELP_DROP 926 +#define NICK_HELP_DROP_LINK 927 +#define NICK_HELP_DROP_END 928 +#define NICK_HELP_OLD_LINK 929 +#define NICK_HELP_LINK 930 +#define NICK_HELP_OLD_UNLINK 931 +#define NICK_HELP_UNLINK 932 +#define NICK_HELP_LISTLINKS 933 +#define NICK_HELP_ACCESS 934 +#define NICK_HELP_SET 935 +#define NICK_HELP_SET_OPTION_MAINNICK 936 +#define NICK_HELP_SET_END 937 +#define NICK_HELP_SET_PASSWORD 938 +#define NICK_HELP_SET_LANGUAGE 939 +#define NICK_HELP_SET_URL 940 +#define NICK_HELP_SET_EMAIL 941 +#define NICK_HELP_SET_INFO 942 +#define NICK_HELP_SET_KILL 943 +#define NICK_HELP_SET_SECURE 944 +#define NICK_HELP_SET_PRIVATE 945 +#define NICK_HELP_SET_HIDE 946 +#define NICK_HELP_SET_TIMEZONE 947 +#define NICK_HELP_SET_MAINNICK 948 +#define NICK_HELP_UNSET 949 +#define NICK_HELP_UNSET_REQ_EMAIL 950 +#define NICK_HELP_RECOVER 951 +#define NICK_HELP_RELEASE 952 +#define NICK_HELP_GHOST 953 +#define NICK_HELP_INFO 954 +#define NICK_HELP_INFO_AUTH 955 +#define NICK_HELP_LISTCHANS 956 +#define NICK_HELP_LIST 957 +#define NICK_HELP_LIST_OPERSONLY 958 +#define NICK_HELP_LISTEMAIL 959 +#define NICK_HELP_STATUS 960 +#define NICK_HELP_AJOIN 961 +#define NICK_OPER_HELP_COMMANDS 962 +#define NICK_OPER_HELP_COMMANDS_GETPASS 963 +#define NICK_OPER_HELP_COMMANDS_FORBID 964 +#define NICK_OPER_HELP_COMMANDS_LISTLINKS 965 +#define NICK_OPER_HELP_COMMANDS_SETAUTH 966 +#define NICK_OPER_HELP_COMMANDS_END 967 +#define NICK_OPER_HELP_DROPNICK 968 +#define NICK_OPER_HELP_SET 969 +#define NICK_OPER_HELP_SET_NOEXPIRE 970 +#define NICK_OPER_HELP_UNSET 971 +#define NICK_OPER_HELP_OLD_UNLINK 972 +#define NICK_OPER_HELP_UNLINK 973 +#define NICK_OPER_HELP_OLD_LISTLINKS 974 +#define NICK_OPER_HELP_LISTLINKS 975 +#define NICK_OPER_HELP_ACCESS 976 +#define NICK_OPER_HELP_INFO 977 +#define NICK_OPER_HELP_LISTCHANS 978 +#define NICK_OPER_HELP_LIST 979 +#define NICK_OPER_HELP_LIST_AUTH 980 +#define NICK_OPER_HELP_LISTEMAIL 981 +#define NICK_OPER_HELP_LISTEMAIL_AUTH 982 +#define NICK_OPER_HELP_GETPASS 983 +#define NICK_OPER_HELP_FORBID 984 +#define NICK_OPER_HELP_SUSPEND 985 +#define NICK_OPER_HELP_UNSUSPEND 986 +#define NICK_OPER_HELP_AJOIN 987 +#define NICK_OPER_HELP_SETAUTH 988 +#define NICK_OPER_HELP_GETAUTH 989 +#define NICK_OPER_HELP_CLEARAUTH 990 +#define CHAN_HELP_REQSOP_LEVXOP 991 +#define CHAN_HELP_REQSOP_LEV 992 +#define CHAN_HELP_REQSOP_XOP 993 +#define CHAN_HELP_REQAOP_LEVXOP 994 +#define CHAN_HELP_REQAOP_LEV 995 +#define CHAN_HELP_REQAOP_XOP 996 +#define CHAN_HELP_REQHOP_LEVXOP 997 +#define CHAN_HELP_REQHOP_LEV 998 +#define CHAN_HELP_REQHOP_XOP 999 +#define CHAN_HELP_REQVOP_LEVXOP 1000 +#define CHAN_HELP_REQVOP_LEV 1001 +#define CHAN_HELP_REQVOP_XOP 1002 +#define CHAN_HELP 1003 +#define CHAN_HELP_EXPIRES 1004 +#define CHAN_HELP_COMMANDS 1005 +#define CHAN_HELP_COMMANDS_SENDPASS 1006 +#define CHAN_HELP_COMMANDS_DROP 1007 +#define CHAN_HELP_COMMANDS_LIST 1008 +#define CHAN_HELP_COMMANDS_AKICK 1009 +#define CHAN_HELP_COMMANDS_LEVELS 1010 +#define CHAN_HELP_COMMANDS_XOP 1011 +#define CHAN_HELP_COMMANDS_HOP 1012 +#define CHAN_HELP_COMMANDS_OPVOICE 1013 +#define CHAN_HELP_COMMANDS_HALFOP 1014 +#define CHAN_HELP_COMMANDS_PROTECT 1015 +#define CHAN_HELP_COMMANDS_INVITE 1016 +#define CHAN_HELP_REGISTER 1017 +#define CHAN_HELP_REGISTER_ADMINONLY 1018 +#define CHAN_HELP_SENDPASS 1019 +#define CHAN_HELP_IDENTIFY 1020 +#define CHAN_HELP_DROP 1021 +#define CHAN_HELP_SET 1022 +#define CHAN_HELP_SET_FOUNDER 1023 +#define CHAN_HELP_SET_SUCCESSOR 1024 +#define CHAN_HELP_SET_PASSWORD 1025 +#define CHAN_HELP_SET_DESC 1026 +#define CHAN_HELP_SET_URL 1027 +#define CHAN_HELP_SET_EMAIL 1028 +#define CHAN_HELP_SET_ENTRYMSG 1029 +#define CHAN_HELP_SET_KEEPTOPIC 1030 +#define CHAN_HELP_SET_TOPICLOCK 1031 +#define CHAN_HELP_SET_MLOCK 1032 +#define CHAN_HELP_SET_HIDE 1033 +#define CHAN_HELP_SET_PRIVATE 1034 +#define CHAN_HELP_SET_RESTRICTED 1035 +#define CHAN_HELP_SET_SECURE 1036 +#define CHAN_HELP_SET_SECUREOPS 1037 +#define CHAN_HELP_SET_LEAVEOPS 1038 +#define CHAN_HELP_SET_OPNOTICE 1039 +#define CHAN_HELP_SET_ENFORCE 1040 +#define CHAN_HELP_UNSET 1041 +#define CHAN_HELP_SOP 1042 +#define CHAN_HELP_SOP_MID1 1043 +#define CHAN_HELP_SOP_MID1_CHANPROT 1044 +#define CHAN_HELP_SOP_MID2 1045 +#define CHAN_HELP_SOP_MID2_HALFOP 1046 +#define CHAN_HELP_SOP_END 1047 +#define CHAN_HELP_AOP 1048 +#define CHAN_HELP_AOP_MID 1049 +#define CHAN_HELP_AOP_MID_HALFOP 1050 +#define CHAN_HELP_AOP_END 1051 +#define CHAN_HELP_HOP 1052 +#define CHAN_HELP_VOP 1053 +#define CHAN_HELP_ACCESS 1054 +#define CHAN_HELP_ACCESS_XOP 1055 +#define CHAN_HELP_ACCESS_XOP_HALFOP 1056 +#define CHAN_HELP_ACCESS_LEVELS 1057 +#define CHAN_HELP_ACCESS_LEVELS_HALFOP 1058 +#define CHAN_HELP_ACCESS_LEVELS_END 1059 +#define CHAN_HELP_LEVELS 1060 +#define CHAN_HELP_LEVELS_XOP 1061 +#define CHAN_HELP_LEVELS_XOP_HOP 1062 +#define CHAN_HELP_LEVELS_END 1063 +#define CHAN_HELP_LEVELS_DESC 1064 +#define CHAN_HELP_AKICK 1065 +#define CHAN_HELP_INFO 1066 +#define CHAN_HELP_LIST 1067 +#define CHAN_HELP_LIST_OPERSONLY 1068 +#define CHAN_HELP_OP 1069 +#define CHAN_HELP_DEOP 1070 +#define CHAN_HELP_VOICE 1071 +#define CHAN_HELP_DEVOICE 1072 +#define CHAN_HELP_HALFOP 1073 +#define CHAN_HELP_DEHALFOP 1074 +#define CHAN_HELP_PROTECT 1075 +#define CHAN_HELP_DEPROTECT 1076 +#define CHAN_HELP_INVITE 1077 +#define CHAN_HELP_UNBAN 1078 +#define CHAN_HELP_KICK 1079 +#define CHAN_HELP_KICK_PROTECTED 1080 +#define CHAN_HELP_TOPIC 1081 +#define CHAN_HELP_CLEAR 1082 +#define CHAN_HELP_CLEAR_EXCEPTIONS 1083 +#define CHAN_HELP_CLEAR_MID 1084 +#define CHAN_HELP_CLEAR_HALFOPS 1085 +#define CHAN_HELP_CLEAR_END 1086 +#define CHAN_HELP_STATUS 1087 +#define CHAN_OPER_HELP_COMMANDS 1088 +#define CHAN_OPER_HELP_COMMANDS_GETPASS 1089 +#define CHAN_OPER_HELP_COMMANDS_FORBID 1090 +#define CHAN_OPER_HELP_COMMANDS_END 1091 +#define CHAN_OPER_HELP_DROP 1092 +#define CHAN_OPER_HELP_SET 1093 +#define CHAN_OPER_HELP_SET_NOEXPIRE 1094 +#define CHAN_OPER_HELP_UNSET 1095 +#define CHAN_OPER_HELP_INFO 1096 +#define CHAN_OPER_HELP_LIST 1097 +#define CHAN_OPER_HELP_GETPASS 1098 +#define CHAN_OPER_HELP_FORBID 1099 +#define CHAN_OPER_HELP_SUSPEND 1100 +#define CHAN_OPER_HELP_UNSUSPEND 1101 +#define MEMO_HELP 1102 +#define MEMO_HELP_EXPIRES 1103 +#define MEMO_HELP_END 1104 +#define MEMO_HELP_COMMANDS 1105 +#define MEMO_HELP_COMMANDS_FORWARD 1106 +#define MEMO_HELP_COMMANDS_SAVE 1107 +#define MEMO_HELP_COMMANDS_DEL 1108 +#define MEMO_HELP_COMMANDS_IGNORE 1109 +#define MEMO_HELP_SEND 1110 +#define MEMO_HELP_LIST 1111 +#define MEMO_HELP_LIST_EXPIRE 1112 +#define MEMO_HELP_READ 1113 +#define MEMO_HELP_SAVE 1114 +#define MEMO_HELP_DEL 1115 +#define MEMO_HELP_SET 1116 +#define MEMO_HELP_SET_OPTION_FORWARD 1117 +#define MEMO_HELP_SET_END 1118 +#define MEMO_HELP_SET_NOTIFY 1119 +#define MEMO_HELP_SET_LIMIT 1120 +#define MEMO_HELP_INFO 1121 +#define MEMO_OPER_HELP_COMMANDS 1122 +#define MEMO_OPER_HELP_SET_LIMIT 1123 +#define MEMO_OPER_HELP_INFO 1124 +#define MEMO_HELP_FORWARD 1125 +#define MEMO_HELP_SET_FORWARD 1126 +#define MEMO_HELP_IGNORE 1127 +#define OPER_HELP 1128 +#define OPER_HELP_COMMANDS 1129 +#define OPER_HELP_COMMANDS_SERVOPER 1130 +#define OPER_HELP_COMMANDS_AKILL 1131 +#define OPER_HELP_COMMANDS_EXCLUDE 1132 +#define OPER_HELP_COMMANDS_SLINE 1133 +#define OPER_HELP_COMMANDS_SESSION 1134 +#define OPER_HELP_COMMANDS_NEWS 1135 +#define OPER_HELP_COMMANDS_SERVADMIN 1136 +#define OPER_HELP_COMMANDS_SERVROOT 1137 +#define OPER_HELP_COMMANDS_RAW 1138 +#define OPER_HELP_GLOBAL 1139 +#define OPER_HELP_STATS 1140 +#define OPER_HELP_SERVERMAP 1141 +#define OPER_HELP_OPER 1142 +#define OPER_HELP_ADMIN 1143 +#define OPER_HELP_MODE 1144 +#define OPER_HELP_CLEARMODES 1145 +#define OPER_HELP_CLEARCHAN 1146 +#define OPER_HELP_KICK 1147 +#define OPER_HELP_AKILL 1148 +#define OPER_HELP_AKILL_OPERMAXEXPIRY 1149 +#define OPER_HELP_AKILL_END 1150 +#define OPER_HELP_EXCLUDE 1151 +#define OPER_HELP_SGLINE 1152 +#define OPER_HELP_SQLINE 1153 +#define OPER_HELP_SZLINE 1154 +#define OPER_HELP_EXCEPTION 1155 +#define OPER_HELP_SESSION 1156 +#define OPER_HELP_SU 1157 +#define OPER_HELP_SET 1158 +#define OPER_HELP_SET_READONLY 1159 +#define OPER_HELP_SET_DEBUG 1160 +#define OPER_HELP_SET_SUPASS 1161 +#define OPER_HELP_JUPE 1162 +#define OPER_HELP_RAW 1163 +#define OPER_HELP_UPDATE 1164 +#define OPER_HELP_QUIT 1165 +#define OPER_HELP_SHUTDOWN 1166 +#define OPER_HELP_RESTART 1167 +#define OPER_HELP_REHASH 1168 +#define OPER_HELP_KILLCLONES 1169 +#define STAT_HELP 1170 +#define STAT_HELP_COMMANDS 1171 +#define STAT_HELP_SERVERS 1172 +#define STAT_HELP_USERS 1173 +#define STAT_OPER_HELP_SERVERS 1174 -#define NUM_STRINGS 1173 +#define NUM_STRINGS 1175 diff -uNr ircservices-5.0.0/lang/nl.l ircservices-5.0.1/lang/nl.l --- ircservices-5.0.0/lang/nl.l Wed Oct 2 16:10:17 2002 +++ ircservices-5.0.1/lang/nl.l Fri Oct 18 09:22:27 2002 @@ -558,6 +558,8 @@ LINK bijnaam wachtwoord NICK_LINK_SYNTAX LINK bijnaam +NICK_LINK_DISABLED + Sorry, koppelen van bijnamen is tijdelijk uitgeschakeld. NICK_LINK_FAILED Sorry, koppelen niet geslaagd. NICK_CANNOT_BE_LINKED @@ -588,6 +590,8 @@ UNLINK bijnaam NICK_UNLINK_OPER_SYNTAX UNLINK bijnaam [FORCE] +NICK_UNLINK_DISABLED + Sorry, ongedaan maken van koppelingen tussen bijnamen is tijdelijk uitgeschakeld. NICK_UNLINK_FAILED Sorry, koppeling ongedaan maken niet geslaagd. NICK_UNLINK_SAME diff -uNr ircservices-5.0.0/lang/tr.l ircservices-5.0.1/lang/tr.l --- ircservices-5.0.0/lang/tr.l Wed Oct 2 15:45:36 2002 +++ ircservices-5.0.1/lang/tr.l Fri Oct 18 09:20:45 2002 @@ -466,6 +466,8 @@ LINK nick sifre NICK_LINK_SYNTAX LINK nick +NICK_LINK_DISABLED + Nick baglama (link) gecici olarak devre disi. NICK_LINK_FAILED Baglama (linking) basarisiz. NICK_CANNOT_BE_LINKED @@ -496,6 +498,8 @@ UNLINK nick NICK_UNLINK_OPER_SYNTAX UNLINK nick [FORCE] +NICK_UNLINK_DISABLED + Nick baglantisini kesme (unlink) gecici olarak devre disi. NICK_UNLINK_FAILED Link silme islemi basarisiz oldu. NICK_OLD_UNLINK_NOT_LINKED diff -uNr ircservices-5.0.0/main.c ircservices-5.0.1/main.c --- ircservices-5.0.0/main.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/main.c Fri Oct 18 15:45:47 2002 @@ -24,7 +24,7 @@ /******** Global variables! ********/ /* Command-line options: (note that configuration variables are in init.c) */ -char *services_dir = SERVICES_DIR; /* -dir=dirname */ +const char *services_dir = SERVICES_DIR;/* -dir=dirname */ int debug = 0; /* -debug */ int readonly = 0; /* -readonly */ int nofork = 0; /* -nofork */ @@ -40,7 +40,7 @@ int delayed_quit = 0; /* Contains a message as to why services is terminating */ -char *quitmsg = NULL; +const char *quitmsg = NULL; /* Input buffer - global, so we can dump it if something goes wrong */ char inbuf[BUFSIZE]; @@ -88,8 +88,8 @@ { if (param == DISCONN_REMOTE || param == DISCONN_CONNFAIL) { int errno_save = errno; - char *msg = (param==DISCONN_REMOTE ? "Read error from server" - : "Connection to server failed"); + const char *msg = (param==DISCONN_REMOTE ? "Read error from server" + : "Connection to server failed"); quitmsg = malloc(BUFSIZE); if (quitmsg) { snprintf(quitmsg, BUFSIZE, "%s: %s", msg, strerror(errno_save)); diff -uNr ircservices-5.0.0/misc.c ircservices-5.0.1/misc.c --- ircservices-5.0.0/misc.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/misc.c Fri Oct 18 15:45:47 2002 @@ -127,16 +127,16 @@ * found. */ -char *stristr(char *s1, char *s2) +char *stristr(const char *s1, const char *s2) { - register char *s = s1, *d = s2; + register const char *s = s1, *d = s2; while (*s1) { if (tolower(*s1) == tolower(*d)) { s1++; d++; if (*d == 0) - return s; + return (char *)s; } else { s = ++s1; d = s2; diff -uNr ircservices-5.0.0/modes.h ircservices-5.0.1/modes.h --- ircservices-5.0.0/modes.h Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/modes.h Fri Oct 18 15:45:47 2002 @@ -14,7 +14,8 @@ /* Special flag constants. */ -#define MODE_INVALID 0x80000000 /* Used as error flag */ +#define MODE_INVALID 0x80000000 /* Used as error flag, or as "this + * isn't an on/off mode" flag */ #define MODE_ALL (~MODE_INVALID) /* All possible modes */ /*************************************************************************/ diff -uNr ircservices-5.0.0/modules/Makerules ircservices-5.0.1/modules/Makerules --- ircservices-5.0.0/modules/Makerules Fri Aug 23 13:19:14 2002 +++ ircservices-5.0.1/modules/Makerules Thu Oct 10 14:34:17 2002 @@ -100,7 +100,7 @@ ar cru .$(DIRNAME).a $^ @set -e ; \ FILENAME=$(@:.a=) ; \ - MODNAME=`echo $(DIRNAME)_$$FILENAME | tr -c A-Za-z0-9_ _ | sed 's/_$$//'` ; \ + MODNAME=`echo $(DIRNAME)_$$FILENAME | sed -e 'y/-/_/' -e 's/_$$//'` ; \ rm -f .modext-$$FILENAME.h .modlist-$$FILENAME.c .modsyms-$$FILENAME.c ; \ echo >>.modext-$$FILENAME.h 'extern uint32 module_version_'$$MODNAME'[];' ; \ echo >>.modext-$$FILENAME.h 'extern char module_config_'$$MODNAME'[];' ; \ @@ -154,7 +154,7 @@ $(TARGET)_static.o: .compiled-$(TARGET)_static.o FRC @echo >/dev/null .compiled-$(TARGET)_static.o: $(TARGET).c $(DEPS) $(INCLUDES2) - @MODNAME=`echo $(DIRNAME)_$(TARGET) | tr -c A-Za-z0-9_ _ | sed 's/_$$//'` ; \ + @MODNAME=`echo $(DIRNAME)_$(TARGET) | sed -e 'y/-/_/' -e 's/_$$//'` ; \ DEFS="-Dmodule_version=module_version_$$MODNAME -Dmodule_config=module_config_$$MODNAME -Dinit_module=init_module_$$MODNAME -Dexit_module=exit_module_$$MODNAME" ; \ echo "$(CC) $(CFLAGS) -I$(TOPDIR) $$DEFS -c $< -o $(TARGET)_static.o" ; \ $(CC) $(CFLAGS) -I$(TOPDIR) $$DEFS -c $< -o $(TARGET)_static.o diff -uNr ircservices-5.0.0/modules/chanserv/access.h ircservices-5.0.1/modules/chanserv/access.h --- ircservices-5.0.0/modules/chanserv/access.h Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/modules/chanserv/access.h Fri Oct 18 15:45:48 2002 @@ -17,7 +17,7 @@ struct levelinfo_ { int what; /* Level constant (CA_*) */ int defval; /* Default level */ - char *name; /* Level name as a string */ + const char *name; /* Level name as a string */ int desc; /* Description message number */ int action; /* What this level does (CL_*) */ union { /* Target of `action', as appropriate */ diff -uNr ircservices-5.0.0/modules/chanserv/cs-local.h ircservices-5.0.1/modules/chanserv/cs-local.h --- ircservices-5.0.0/modules/chanserv/cs-local.h Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/modules/chanserv/cs-local.h Fri Oct 18 15:45:48 2002 @@ -23,7 +23,7 @@ /* Data for a channel option. */ typedef struct { - char *name; + const char *name; int32 flag; int namestr; /* If -1, will be ignored by cs_flags_to_string() */ int onstr, offstr, syntaxstr; diff -uNr ircservices-5.0.0/modules/chanserv/main.c ircservices-5.0.1/modules/chanserv/main.c --- ircservices-5.0.0/modules/chanserv/main.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/modules/chanserv/main.c Fri Oct 18 15:45:48 2002 @@ -220,7 +220,7 @@ static int chanserv(const char *source, const char *target, char *buf) { - char *cmd, *s; + char *cmd; User *u = get_user(source); if (irc_stricmp(target, s_ChanServ) != 0) @@ -237,6 +237,7 @@ if (!cmd) { return 1; } else if (stricmp(cmd, "\1PING") == 0) { + const char *s; if (!(s = strtok(NULL, ""))) s = "\1"; notice(s_ChanServ, source, "\1PING %s", s); diff -uNr ircservices-5.0.0/modules/httpd/auth-ip.c ircservices-5.0.1/modules/httpd/auth-ip.c --- ircservices-5.0.0/modules/httpd/auth-ip.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/httpd/auth-ip.c Fri Oct 18 15:45:48 2002 @@ -105,7 +105,7 @@ { char *s; long mask = 32; - uint8 *ip; + const uint8 *ip; int recursing = 0, i; DirInfo di; static DirInfo *new_protected = NULL; diff -uNr ircservices-5.0.0/modules/httpd/top-page.c ircservices-5.0.1/modules/httpd/top-page.c --- ircservices-5.0.0/modules/httpd/top-page.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/httpd/top-page.c Fri Oct 18 15:45:48 2002 @@ -18,9 +18,9 @@ static Module *module; static Module *module_httpd; -static char *Filename = NULL; -static char *ContentType = "text/html"; -static char *Redirect = NULL; +static const char *Filename = NULL; +static const char *ContentType = "text/html"; +static const char *Redirect = NULL; /*************************************************************************/ /*************************** Request callback ****************************/ diff -uNr ircservices-5.0.0/modules/memoserv/main.c ircservices-5.0.1/modules/memoserv/main.c --- ircservices-5.0.0/modules/memoserv/main.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/memoserv/main.c Fri Oct 18 15:45:48 2002 @@ -128,7 +128,7 @@ static int memoserv(const char *source, const char *target, char *buf) { - char *cmd, *s; + char *cmd; User *u = get_user(source); if (irc_stricmp(target, s_MemoServ) != 0) @@ -144,6 +144,7 @@ if (!cmd) { return 1; } else if (stricmp(cmd, "\1PING") == 0) { + const char *s; if (!(s = strtok(NULL, ""))) s = "\1"; notice(s_MemoServ, source, "\1PING %s", s); diff -uNr ircservices-5.0.0/modules/misc/helpserv.c ircservices-5.0.1/modules/misc/helpserv.c --- ircservices-5.0.0/modules/misc/helpserv.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/misc/helpserv.c Fri Oct 18 15:45:49 2002 @@ -31,7 +31,8 @@ { FILE *f; struct stat st; - char buf[PATH_MAX+1], *ptr, *s; + char buf[PATH_MAX+1], *ptr; + const char *s; char *old_topic; /* an unclobbered (by strtok) copy */ User *u; @@ -62,7 +63,7 @@ *ptr++ = '_'; else *ptr++ = tolower(*s); - ++s; + s++; } *ptr = 0; } diff -uNr ircservices-5.0.0/modules/misc/xml-import.c ircservices-5.0.1/modules/misc/xml-import.c --- ircservices-5.0.0/modules/misc/xml-import.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/misc/xml-import.c Fri Oct 18 15:45:49 2002 @@ -2260,7 +2260,8 @@ } else if (stricmp(tag, "maskdata") == 0) { MaskData *md = result; if (get_maskdata(md->modified, md->mask)) { - char typebuf[16], *s; + char typebuf[16]; + const char *s; switch (md->modified) { case MD_AKILL: s = "autokill"; break; case MD_EXCEPTION: s = "session exception"; break; diff -uNr ircservices-5.0.0/modules/nickserv/link.c ircservices-5.0.1/modules/nickserv/link.c --- ircservices-5.0.0/modules/nickserv/link.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/nickserv/link.c Fri Oct 18 15:45:49 2002 @@ -52,7 +52,9 @@ NickGroupInfo *ngi = u->ngi; int n; - if (!nick) { + if (readonly && !is_services_admin(u)) { + notice_lang(s_NickServ, u, NICK_LINK_DISABLED); + } else if (!nick) { syntax_error(s_NickServ, u, "LINK", NICK_LINK_SYNTAX); } else if (strlen(nick) > protocol_nickmax) { notice_lang(s_NickServ, u, NICK_TOO_LONG, protocol_nickmax); @@ -106,6 +108,8 @@ module_log("%s!%s@%s linked nick %s to %s", u->nick, u->username, u->host, nick, u->nick); notice_lang(s_NickServ, u, NICK_LINKED, nick); + if (readonly) + notice_lang(s_NickServ, u, READ_ONLY_MODE); } } /* do_link() */ @@ -120,7 +124,9 @@ int is_servadmin = is_services_admin(u); int force = (extra != NULL && stricmp(extra,"FORCE") == 0); - if (!nick || (extra && (!is_oper(u) || !force))) { + if (readonly && !is_servadmin) { + notice_lang(s_NickServ, u, NICK_LINK_DISABLED); + } else if (!nick || (extra && (!is_oper(u) || !force))) { syntax_error(s_NickServ, u, "UNLINK", is_oper(u) ? NICK_UNLINK_OPER_SYNTAX : NICK_UNLINK_SYNTAX); @@ -174,6 +180,8 @@ notice_lang(s_NickServ, u, msg, nick, param1); module_log("%s!%s@%s unlinked nick %s from %s", u->nick, u->username, u->host, nick, param1); + if (readonly) + notice_lang(s_NickServ, u, READ_ONLY_MODE); } } diff -uNr ircservices-5.0.0/modules/nickserv/main.c ircservices-5.0.1/modules/nickserv/main.c --- ircservices-5.0.0/modules/nickserv/main.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/nickserv/main.c Fri Oct 18 15:45:49 2002 @@ -155,7 +155,7 @@ static int nickserv(const char *source, const char *target, char *buf) { - char *cmd, *s; + char *cmd; User *u = get_user(source); if (irc_stricmp(target, s_NickServ) != 0) @@ -173,6 +173,7 @@ if (!cmd) { return 1; } else if (stricmp(cmd, "\1PING") == 0) { + const char *s; if (!(s = strtok(NULL, ""))) s = "\1"; notice(s_NickServ, source, "\1PING %s", s); @@ -951,7 +952,7 @@ if (++nnicks <= NSListMax) { char suspended_char = ' '; char noexpire_char = ' '; - char *auth_char = have_auth_module ? " " : ""; + const char *auth_char = have_auth_module ? " " : ""; if (is_servadmin) { if (ngi && ngi->suspendinfo) suspended_char = '*'; @@ -1052,7 +1053,7 @@ if (++nnicks <= NSListMax) { char suspended_char = ' '; char noexpire_char = ' '; - char *auth_char = have_auth_module ? " " : ""; + const char *auth_char = have_auth_module ? " " : ""; if (is_servadmin) { if (ngi && ngi->suspendinfo) suspended_char = '*'; diff -uNr ircservices-5.0.0/modules/nickserv/oldlink.c ircservices-5.0.1/modules/nickserv/oldlink.c --- ircservices-5.0.0/modules/nickserv/oldlink.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/nickserv/oldlink.c Fri Oct 18 15:45:49 2002 @@ -64,6 +64,11 @@ NickInfo *ni = u->ni, *target; NickGroupInfo *ngi = u->ngi; + if (readonly && !is_services_admin(u)) { + notice_lang(s_NickServ, u, NICK_LINK_DISABLED); + return; + } + if (!pass) { syntax_error(s_NickServ, u, "LINK", NICK_OLD_LINK_SYNTAX); @@ -196,6 +201,8 @@ module_log("%s!%s@%s linked nick %s to %s", u->nick, u->username, u->host, u->nick, nick); notice_lang(s_NickServ, u, NICK_OLD_LINKED, nick); + if (readonly) + notice_lang(s_NickServ, u, READ_ONLY_MODE); } } /* do_link() */ @@ -211,6 +218,11 @@ char *msgparam[2]; int i; + if (readonly && !is_services_admin(u)) { + notice_lang(s_NickServ, u, NICK_LINK_DISABLED); + return; + } + if (nick) { int is_servadmin = is_services_admin(u); ni = get_nickinfo(nick); @@ -293,6 +305,8 @@ notice_lang(s_NickServ, u, msg, msgparam[0], msgparam[1]); module_log("%s!%s@%s unlinked nick %s from %s", u->nick, u->username, u->host, u->nick, ngi->nicks[ngi->mainnick]); + if (readonly) + notice_lang(s_NickServ, u, READ_ONLY_MODE); } } diff -uNr ircservices-5.0.0/modules/operserv/main.c ircservices-5.0.1/modules/operserv/main.c --- ircservices-5.0.0/modules/operserv/main.c Sun Oct 6 19:56:20 2002 +++ ircservices-5.0.1/modules/operserv/main.c Fri Oct 18 15:45:49 2002 @@ -215,7 +215,7 @@ static int operserv(const char *source, const char *target, char *buf) { char *cmd; - char *s; + const char *s; User *u = get_user(source); if (irc_stricmp(target, s_OperServ) != 0) @@ -869,7 +869,7 @@ static void do_admin(User *u) { - char *cmd, *nick; + const char *cmd, *nick; if (!module_nickserv) { notice_lang(s_OperServ, u, OPER_ADMIN_NO_NICKSERV); @@ -920,7 +920,7 @@ static void do_oper(User *u) { - char *cmd, *nick; + const char *cmd, *nick; if (!module_nickserv) { notice_lang(s_OperServ, u, OPER_OPER_NO_NICKSERV); diff -uNr ircservices-5.0.0/modules.c ircservices-5.0.1/modules.c --- ircservices-5.0.0/modules.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/modules.c Fri Oct 18 15:45:47 2002 @@ -128,7 +128,7 @@ /* Common variables: */ #ifdef STATIC_MODULES -static char *dl_last_error; +static const char *dl_last_error; #endif /*************************************************************************/ diff -uNr ircservices-5.0.0/process.c ircservices-5.0.1/process.c --- ircservices-5.0.0/process.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/process.c Fri Oct 18 15:45:47 2002 @@ -43,7 +43,7 @@ } if (*buf == ':' && colon_special) { argv[argc++] = buf+1; - buf = ""; + *buf = 0; } else { s = strpbrk(buf, " "); if (s) { diff -uNr ircservices-5.0.0/send.c ircservices-5.0.1/send.c --- ircservices-5.0.0/send.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/send.c Fri Oct 18 15:45:47 2002 @@ -18,8 +18,8 @@ /* Modes to send for Services users. */ -char *pseudoclient_modes = ""; -char *enforcer_modes = ""; +const char *pseudoclient_modes = ""; +const char *enforcer_modes = ""; /* Default handler for module-implemented functions. */ diff -uNr ircservices-5.0.0/servers.c ircservices-5.0.1/servers.c --- ircservices-5.0.0/servers.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/servers.c Fri Oct 18 15:45:47 2002 @@ -153,11 +153,11 @@ server = parent->child; if (debug >= 2) - log("recursive_squit, parent: %s", parent->name); + log("debug: recursive_squit, parent: %s", parent->name); while (server) { nextserver = server->sibling; if (debug >= 2) - log("recursive_squit, child: %s", server->name); + log("debug: recursive_squit, child: %s", server->name); squit_server(server, reason); server = nextserver; } diff -uNr ircservices-5.0.0/tools/convert-db.c ircservices-5.0.1/tools/convert-db.c --- ircservices-5.0.0/tools/convert-db.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-db.c Fri Oct 18 15:45:48 2002 @@ -178,6 +178,31 @@ } /*************************************************************************/ + +/* Return the Services 5.0 channel access level that corresponds to the + * given pre-5.0 level. Code taken from modules/database/version4.c + * (convert_old_level()). + */ + +int16 convert_acclev(int16 old) +{ + if (old < 0) + return -convert_acclev(-old); /* avoid negative division */ + else if (old <= 25) + return old*10; /* 0.. 25 -> 0..250 (10x) */ + else if (old <= 50) + return 200 + old*2; /* 25.. 50 -> 250..300 ( 2x) */ + else if (old <= 100) + return 280 + old*2/5; /* 50.. 100 -> 300..320 ( 0.4x) */ + else if (old <= 1000) + return 300 + old/5; /* 100..1000 -> 320..500 ( 0.2x) */ + else if (old <= 2000) + return 400 + old/10; /* 1000..2000 -> 500..600 ( 0.1x) */ + else + return 500 + old/20; /* 2000..9999 -> 600..999 ( 0.05x) */ +} + +/*************************************************************************/ /*************************************************************************/ /* Replacements for database functions. add_*() functions are defined as diff -uNr ircservices-5.0.0/tools/convert-db.h ircservices-5.0.1/tools/convert-db.h --- ircservices-5.0.0/tools/convert-db.h Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-db.h Fri Oct 18 15:45:48 2002 @@ -101,6 +101,10 @@ * nothing if `nick' is NULL or does not have an associated nickgroup. */ extern void set_os_priv(const char *nick, int16 level); +/* Return the Services 5.0 channel access level that corresponds to the + * given pre-5.0 level. */ +extern int16 convert_acclev(int16 old); + /* Add or remove various things to or from the appropriate lists. */ #define add_nickgroupinfo(ngi) LIST_INSERT((ngi), ngi_list) #define add_nickinfo(ni) LIST_INSERT((ni), ni_list) diff -uNr ircservices-5.0.0/tools/convert-epona.c ircservices-5.0.1/tools/convert-epona.c --- ircservices-5.0.0/tools/convert-epona.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-epona.c Fri Oct 18 15:45:48 2002 @@ -324,6 +324,8 @@ SAFE(read_int16(&ci->access[j].level, f)); SAFE(read_string(&s, f)); SAFE(read_int32(&tmp32, f)); /* last used */ + ci->access[j].level = + convert_acclev(ci->access[j].level); if (s) { ni = get_nickinfo(s); if (ni) diff -uNr ircservices-5.0.0/tools/convert-magick.c ircservices-5.0.1/tools/convert-magick.c --- ircservices-5.0.0/tools/convert-magick.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-magick.c Fri Oct 18 15:45:48 2002 @@ -207,7 +207,7 @@ long i, j; int c; int16 tmp16; - int16 (*convert_level)(int16); + int16 (*my_convert_level)(int16); ChannelInfo *ci; NickInfo *ni; struct access_ { @@ -246,9 +246,9 @@ } oldci; if (version == 6) - convert_level = wrecked_convert_level; + my_convert_level = wrecked_convert_level; else - convert_level = magick_convert_level; + my_convert_level = magick_convert_level; f = open_db_ver(sourcedir, "chan.db", version, version, NULL); for (i = 33; i < 256; i++) { @@ -327,7 +327,8 @@ for (j = 0; j < oldci.naccess; j++) { SAFE(read_variable(access, f)); ci->access[j].nickgroup = (access.is_nick == 1); /* in_use */ - ci->access[j].level = convert_level(access.level); + ci->access[j].level = + convert_acclev(my_convert_level(access.level)); } for (j = 0; j < oldci.naccess; j++) { SAFE(read_string(&s, f)); diff -uNr ircservices-5.0.0/tools/convert-ptlink.c ircservices-5.0.1/tools/convert-ptlink.c --- ircservices-5.0.0/tools/convert-ptlink.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-ptlink.c Fri Oct 18 15:45:48 2002 @@ -403,6 +403,8 @@ if (tmp16) { SAFE(read_int16(&ci->access[j].level, f)); SAFE(read_string(&s, f)); + ci->access[j].level = + convert_acclev(ci->access[j].level); if (s) { ni = get_nickinfo(s); if (ni) diff -uNr ircservices-5.0.0/tools/convert-sirv.c ircservices-5.0.1/tools/convert-sirv.c --- ircservices-5.0.0/tools/convert-sirv.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-sirv.c Fri Oct 18 15:45:48 2002 @@ -160,6 +160,8 @@ if (oldni.flags & 0x00000004) { ni->status |= NS_VERBOTEN; ni->nickgroup = 0; + /* Just in case--to differentiate from linked nicks */ + ni->last_usermask = NULL; } if (oldni.flags & 0x00000008) { static int warned = 0; @@ -194,6 +196,10 @@ ngi->suspendinfo->suspended = time(NULL); ngi->suspendinfo->expires = 0; } + if (type == TYPE_AUSPICE && (oldni.flags & 0x00800000)) { + /* Linked ("slave") nick; parent is in last_usermask */ + ni->nickgroup = 0; + } ngi->access = scalloc(ngi->access_count, sizeof(char *)); for (j = 0; j < ngi->access_count; j++) SAFE(read_string(&ngi->access[j], f)); @@ -222,7 +228,7 @@ } } add_nickinfo(ni); - if (!(ni->status & NS_VERBOTEN)) + if (ni->nickgroup) add_nickgroupinfo(ngi); } /* while ((c = getc_db(f)) == 1) */ if (c != 0) { @@ -231,6 +237,38 @@ } } /* for (i = 33..256) */ close_db(f); + + /* Resolve links */ + for (ni = first_nickinfo(); ni; ni = next_nickinfo()) { + if (!ni->nickgroup && ni->last_usermask) { + NickInfo *ni2; + /* Find parent nick */ + ni2 = get_nickinfo(ni->last_usermask); + /* Set nickgroup, or delete nick if an error occurred */ + if (ni2 == ni) { + fprintf(stderr, + "Warning: dropping nick %s with circular link\n", + ni->nick); + del_nickinfo(ni); + } else if (!ni2) { + fprintf(stderr, "Warning: dropping nick %s linked to" + " nonexistent nick %s\n", ni->nick, ni->last_usermask); + del_nickinfo(ni); + } else { + ni->last_usermask = ni2->last_usermask; + ni->nickgroup = ni2->nickgroup; + ngi = get_nickgroupinfo(ni->nickgroup); + if (ngi) { + ARRAY_EXTEND(ngi->nicks); + strscpy(ngi->nicks[ngi->nicks_count-1], ni->nick, NICKMAX); + } else if (ni->nickgroup != 0) { + fprintf(stderr, "Warning: Nick group %d for nick %s not" + " found -- program bug? Output may be corrupt.", + ni->nickgroup, ni->nick); + } + } + } + } } /*************************************************************************/ @@ -580,6 +618,7 @@ if (tmpint) /* discard TIMEOP entries */ ci->access[j].nickgroup = 0; } + ci->access[j].level = convert_acclev(ci->access[j].level); } for (j = 0; j < oldci.naccess; j++) { SAFE(read_string(&s, f)); diff -uNr ircservices-5.0.0/tools/convert-trircd.c ircservices-5.0.1/tools/convert-trircd.c --- ircservices-5.0.0/tools/convert-trircd.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-trircd.c Fri Oct 18 15:45:48 2002 @@ -425,6 +425,8 @@ if (tmp16) { SAFE(read_int16(&ci->access[j].level, f)); SAFE(read_string(&s, f)); + ci->access[j].level = + convert_acclev(ci->access[j].level); if (s) { ni = get_nickinfo(s); if (ni) diff -uNr ircservices-5.0.0/tools/convert-ver8.c ircservices-5.0.1/tools/convert-ver8.c --- ircservices-5.0.0/tools/convert-ver8.c Sun Oct 6 19:56:19 2002 +++ ircservices-5.0.1/tools/convert-ver8.c Fri Oct 18 15:45:48 2002 @@ -353,6 +353,8 @@ ci->access[j].level = 15; else if (ci->access[j].level >= 7) ci->access[j].level += 3; + ci->access[j].level = + convert_acclev(ci->access[j].level); SAFE(read_int16(&tmp16, f)); /* autoop */ } SAFE(read_string(&s, f)); diff -uNr ircservices-5.0.0/version.sh ircservices-5.0.1/version.sh --- ircservices-5.0.0/version.sh Sun Oct 6 19:45:46 2002 +++ ircservices-5.0.1/version.sh Fri Oct 18 15:34:38 2002 @@ -3,7 +3,7 @@ # Build the version.c file which contains all the version related info and # needs to be updated on a per-build basis. -VERSION=5.0.0 +VERSION=5.0.1 # Increment Services build number if [ -f version.c ] ; then