[NeoStats-Devel] [Commits] r2516 - in trunk: . src src/protocol
[email protected] Sat, 16 Apr 2005 07:36:47 +1000
Newsgroups
gmane.comp.neostats.devel
Message-ID
<[email protected] >
Author: Mark
Date: Sat Apr 16 05:36:43 2005
New Revision: 2516
Modified:
trunk/ChangeLog
trunk/src/ircd.c
trunk/src/modes.c
trunk/src/protocol/bahamut14.c
trunk/src/protocol/bahamut18.c
trunk/src/protocol/client.c
trunk/src/protocol/hybrid7.c
trunk/src/protocol/ircup10.c
trunk/src/protocol/plexus.c
trunk/src/protocol/ultimate2.c
trunk/src/protocol/ultimate3.c
trunk/src/protocol/unreal31.c
trunk/src/protocol/unreal32.c
Log:
Add default modes to ircd layer to further reduce overhead of protocol modules
Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog (original)
+++ trunk/ChangeLog Sat Apr 16 05:36:43 2005
@@ -4,6 +4,8 @@
Fish (F), Mark (M), DeadNotBuried (D)
===============================================================================
* NeoStats * Version 3.0.a3-dev
+ - Add default modes to ircd layer to further reduce overhead of protocol
+ modules. (M)
- Add support for SVSJOIN and SVSPART. (M)
- LEVEL command now resets user level so that users can cause NeoStats to
recheck their access rights after any settings changes. (M).
Modified: trunk/src/ircd.c
==============================================================================
--- trunk/src/ircd.c (original)
+++ trunk/src/ircd.c Sat Apr 16 05:36:43 2005
@@ -278,20 +278,8 @@
mode_init *user_smodes;
chan_umodes = ns_dlsym( protocol_module_handle, "chan_umodes" );
- if( !chan_umodes ) {
- IrcdError( "channel umode table" );
- return NS_FAILURE;
- }
chan_modes = ns_dlsym( protocol_module_handle, "chan_modes" );
- if( !chan_modes ) {
- IrcdError( "channel mode table" );
- return NS_FAILURE;
- }
user_umodes = ns_dlsym( protocol_module_handle, "user_umodes" );
- if( !user_umodes ) {
- IrcdError( "user mode table" );
- return NS_FAILURE;
- }
/* Not required */
user_smodes = ns_dlsym( protocol_module_handle, "user_smodes" );
if( user_smodes ) {
Modified: trunk/src/modes.c
==============================================================================
--- trunk/src/modes.c (original)
+++ trunk/src/modes.c Sat Apr 16 05:36:43 2005
@@ -52,6 +52,31 @@
static char ircd_umode_char_map[32];
static char ircd_smode_char_map[32];
+static mode_init chan_umodes_default[] = {
+ {'v', CUMODE_VOICE, 0, '+'},
+ {'o', CUMODE_CHANOP, 0, '@'},
+ {0, 0, 0},
+};
+
+static mode_init chan_modes_default[] = {
+ {'l', CMODE_LIMIT, MODEPARAM},
+ {'k', CMODE_KEY, MODEPARAM},
+ {'b', CMODE_BAN, MODEPARAM},
+ {'p', CMODE_PRIVATE, 0},
+ {'s', CMODE_SECRET, 0},
+ {'m', CMODE_MODERATED, 0},
+ {'t', CMODE_TOPICLIMIT, 0},
+ {'n', CMODE_NOPRIVMSGS, 0},
+ {'i', CMODE_INVITEONLY, 0},
+ {0, 0},
+};
+
+static mode_init user_umodes_default[] = {
+ {'o', UMODE_OPER},
+ {'i', UMODE_INVISIBLE},
+ {0, 0},
+};
+
typedef struct ModeDesc {
unsigned int mask;
const char *desc;
@@ -135,14 +160,20 @@
/* build cmode lookup table */
os_memset(&ircd_cmodes, 0, sizeof(ircd_cmodes));
dlog(DEBUG4, "Build channel mode table...");
- ircd_supported_cmodes = BuildModeTable( ircd_cmodes, chan_modes, 0 );
+ ircd_supported_cmodes |= BuildModeTable( ircd_cmodes, chan_modes_default, 0 );
+ if( chan_modes )
+ ircd_supported_cmodes |= BuildModeTable( ircd_cmodes, chan_modes, 0 );
/* build cumode lookup table */
dlog(DEBUG4, "Build channel user mode table...");
- ircd_supported_cumodes = BuildModeTable( ircd_cmodes, chan_umodes, NICKPARAM );
+ ircd_supported_cumodes |= BuildModeTable( ircd_cmodes, chan_umodes_default, NICKPARAM );
+ if( chan_umodes )
+ ircd_supported_cumodes |= BuildModeTable( ircd_cmodes, chan_umodes, NICKPARAM );
/* build umode lookup table */
os_memset(&ircd_umodes, 0, sizeof(ircd_umodes));
dlog(DEBUG4, "Build user mode table...");
- ircd_supported_umodes = BuildModeTable( ircd_umodes, user_umodes, 0 );
+ ircd_supported_umodes |= BuildModeTable( ircd_umodes, user_umodes_default, 0 );
+ if( user_umodes )
+ ircd_supported_umodes |= BuildModeTable( ircd_umodes, user_umodes, 0 );
/* build smode lookup table */
if (user_smodes) {
os_memset(&ircd_smodes, 0, sizeof(ircd_smodes));
Modified: trunk/src/protocol/bahamut14.c
==============================================================================
--- trunk/src/protocol/bahamut14.c (original)
+++ trunk/src/protocol/bahamut14.c Sat Apr 16 05:36:43 2005
@@ -91,21 +91,10 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
- {'v', CUMODE_VOICE, 0, '+'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'k', CMODE_KEY, MODEPARAM},
- {'b', CMODE_BAN, MODEPARAM},
- {'l', CMODE_LIMIT, MODEPARAM},
{'r', CMODE_RGSTR, 0},
{'R', CMODE_RGSTRONLY, 0},
{'x', CMODE_NOCOLOR, 0},
@@ -118,10 +107,8 @@
mode_init user_umodes[] = {
{'a', UMODE_SADMIN},
{'A', UMODE_ADMIN},
- {'o', UMODE_OPER},
- {'o', UMODE_LOCOP},
+ {'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'s', UMODE_SERVNOTICE},
{'c', UMODE_CLIENT},
Modified: trunk/src/protocol/bahamut18.c
==============================================================================
--- trunk/src/protocol/bahamut18.c (original)
+++ trunk/src/protocol/bahamut18.c Sat Apr 16 05:36:43 2005
@@ -89,21 +89,10 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
- {'v', CUMODE_VOICE, 0, '+'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'k', CMODE_KEY, MODEPARAM},
- {'b', CMODE_BAN, MODEPARAM},
- {'l', CMODE_LIMIT, MODEPARAM},
{'r', CMODE_RGSTR, 0},
{'R', CMODE_RGSTRONLY, 0},
{'x', CMODE_NOCOLOR, 0},
@@ -116,10 +105,8 @@
mode_init user_umodes[] = {
{'a', UMODE_SADMIN},
{'A', UMODE_ADMIN},
- {'o', UMODE_OPER},
- {'o', UMODE_LOCOP},
+ {'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'s', UMODE_SERVNOTICE},
{'c', UMODE_CLIENT},
Modified: trunk/src/protocol/client.c
==============================================================================
--- trunk/src/protocol/client.c (original)
+++ trunk/src/protocol/client.c Sat Apr 16 05:36:43 2005
@@ -82,23 +82,13 @@
};
mode_init chan_umodes[] = {
- {'v', CUMODE_VOICE, 0, '+'},
{'h', CUMODE_HALFOP, 0, '%'},
- {'o', CUMODE_CHANOP, 0, '@'},
{'a', CUMODE_CHANPROT, 0, '*'},
{'q', CUMODE_CHANOWNER, 0, '~'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'l', CMODE_LIMIT, MODEPARAM},
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'k', CMODE_KEY, MODEPARAM},
{'r', CMODE_RGSTR, 0},
{'R', CMODE_RGSTRONLY, 0},
{'c', CMODE_NOCOLOR, 0},
@@ -106,7 +96,6 @@
{'A', CMODE_ADMONLY, 0},
{'L', CMODE_LINK, MODEPARAM},
{'Q', CMODE_NOKICKS, 0},
- {'b', CMODE_BAN, MODEPARAM},
{'S', CMODE_STRIP, 0},
{'e', CMODE_EXCEPT, MODEPARAM},
{'K', CMODE_NOKNOCK, 0},
@@ -127,10 +116,8 @@
{'a', UMODE_SADMIN},
{'A', UMODE_ADMIN},
{'C', UMODE_COADMIN},
- {'o', UMODE_OPER},
{'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'g', UMODE_FAILOP},
{'h', UMODE_HELPOP},
Modified: trunk/src/protocol/hybrid7.c
==============================================================================
--- trunk/src/protocol/hybrid7.c (original)
+++ trunk/src/protocol/hybrid7.c Sat Apr 16 05:36:43 2005
@@ -88,38 +88,25 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
- {'v', CUMODE_VOICE, 0, '+'},
{'h', CUMODE_HALFOP, 0, '%'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'b', CMODE_BAN, MODEPARAM},
{'e', CMODE_EXCEPT, MODEPARAM},
{'I', CMODE_INVEX, MODEPARAM},
{'a', CMODE_HIDEOPS, 0},
- {'l', CMODE_LIMIT, MODEPARAM},
- {'k', CMODE_KEY, MODEPARAM},
{0, 0, 0},
};
mode_init user_umodes[] = {
{'d', UMODE_DEBUG},
{'a', UMODE_ADMIN},
- {'o', UMODE_OPER},
{'l', UMODE_LOCOP},
{'b', UMODE_BOTS},
{'c', UMODE_CLIENT},
{'f', UMODE_FULL},
{'g', UMODE_CALLERID},
- {'i', UMODE_INVISIBLE},
{'k', UMODE_SKILL},
{'n', UMODE_NCHANGE},
{'r', UMODE_REJ},
Modified: trunk/src/protocol/ircup10.c
==============================================================================
--- trunk/src/protocol/ircup10.c (original)
+++ trunk/src/protocol/ircup10.c Sat Apr 16 05:36:43 2005
@@ -112,21 +112,10 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
- {'v', CUMODE_VOICE, 0, '+'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'s', CMODE_SECRET, 0},
- {'p', CMODE_PRIVATE, 0},
- {'m', CMODE_MODERATED, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'l', CMODE_LIMIT, 1},
- {'k', CMODE_KEY, 1},
- {'b', CMODE_BAN, 1},
/*{'b', CMODE_SENDTS, 1},*/
#if ( defined NEFARIOUS ) || (defined ASUKA )
{'c', CMODE_NOCOLOR, 0},
@@ -152,10 +141,8 @@
};
mode_init user_umodes[] = {
- {'o', UMODE_OPER},
{'O', UMODE_LOCOP},
{'g', UMODE_DEBUG},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'s', UMODE_SERVNOTICE},
{'d', UMODE_DEAF},
Modified: trunk/src/protocol/plexus.c
==============================================================================
--- trunk/src/protocol/plexus.c (original)
+++ trunk/src/protocol/plexus.c Sat Apr 16 05:36:43 2005
@@ -88,38 +88,25 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
- {'v', CUMODE_VOICE, 0, '+'},
{'h', CUMODE_HALFOP, 0, '%'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'b', CMODE_BAN, MODEPARAM},
{'e', CMODE_EXCEPT, MODEPARAM},
{'I', CMODE_INVEX, MODEPARAM},
{'a', CMODE_HIDEOPS, 0},
- {'l', CMODE_LIMIT, MODEPARAM},
- {'k', CMODE_KEY, MODEPARAM},
{0, 0, 0},
};
mode_init user_umodes[] = {
{'d', UMODE_DEBUG},
{'a', UMODE_ADMIN},
- {'o', UMODE_OPER},
{'l', UMODE_LOCOP},
{'b', UMODE_BOTS},
{'c', UMODE_CLIENT},
{'f', UMODE_FULL},
{'g', UMODE_CALLERID},
- {'i', UMODE_INVISIBLE},
{'k', UMODE_SKILL},
{'n', UMODE_NCHANGE},
{'r', UMODE_REJ},
Modified: trunk/src/protocol/ultimate2.c
==============================================================================
--- trunk/src/protocol/ultimate2.c (original)
+++ trunk/src/protocol/ultimate2.c Sat Apr 16 05:36:43 2005
@@ -95,26 +95,15 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
{'h', CUMODE_HALFOP, 0, '%'},
{'a', CUMODE_CHANADMIN, 0, '!'},
- {'v', CUMODE_VOICE, 0, '+'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'b', CMODE_BAN, MODEPARAM},
{'e', CMODE_EXCEPT, MODEPARAM},
{'f', CMODE_FLOODLIMIT, MODEPARAM},
- {'i', CMODE_INVITEONLY, 0},
- {'k', CMODE_KEY, MODEPARAM},
- {'l', CMODE_LIMIT, MODEPARAM},
- {'m', CMODE_MODERATED, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'p', CMODE_PRIVATE, 0},
{'r', CMODE_RGSTR, 0},
- {'s', CMODE_SECRET, 0},
- {'t', CMODE_TOPICLIMIT, 0},
{'x', CMODE_NOCOLOR, 0},
{'A', CMODE_ADMONLY, 0},
{'I', CMODE_NOINVITE, 0},
@@ -135,11 +124,9 @@
{'Z', UMODE_IRCADMIN},
{'z', UMODE_ADMIN},
{'i', UMODE_ALTADMIN},
- {'o', UMODE_OPER},
{'p', UMODE_SUPER},
{'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'g', UMODE_FAILOP},
{'h', UMODE_HELPOP},
Modified: trunk/src/protocol/ultimate3.c
==============================================================================
--- trunk/src/protocol/ultimate3.c (original)
+++ trunk/src/protocol/ultimate3.c Sat Apr 16 05:36:43 2005
@@ -103,26 +103,15 @@
};
mode_init chan_umodes[] = {
- {'o', CUMODE_CHANOP, 0, '@'},
{'h', CUMODE_HALFOP, 0, '%'},
{'a', CUMODE_CHANADMIN, 0, '!'},
- {'v', CUMODE_VOICE, 0, '+'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'b', CMODE_BAN, MODEPARAM},
{'e', CMODE_EXCEPT, MODEPARAM},
{'f', CMODE_FLOODLIMIT, MODEPARAM},
- {'i', CMODE_INVITEONLY, 0},
- {'k', CMODE_KEY, MODEPARAM},
- {'l', CMODE_LIMIT, MODEPARAM},
- {'m', CMODE_MODERATED, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'p', CMODE_PRIVATE, 0},
{'r', CMODE_RGSTR, 0},
- {'s', CMODE_SECRET, 0},
- {'t', CMODE_TOPICLIMIT, 0},
{'x', CMODE_NOCOLOR, 0},
{'A', CMODE_ADMONLY, 0},
{'I', CMODE_NOINVITE, 0},
@@ -139,10 +128,8 @@
{'S', UMODE_SERVICES},
{'P', UMODE_SADMIN},
{'a', UMODE_SERVICESOPER},
- {'o', UMODE_OPER},
{'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'s', UMODE_SERVNOTICE},
{'c', UMODE_CLIENT},
Modified: trunk/src/protocol/unreal31.c
==============================================================================
--- trunk/src/protocol/unreal31.c (original)
+++ trunk/src/protocol/unreal31.c Sat Apr 16 05:36:43 2005
@@ -107,23 +107,13 @@
};
mode_init chan_umodes[] = {
- {'v', CUMODE_VOICE, 0, '+'},
{'h', CUMODE_HALFOP, 0, '%'},
- {'o', CUMODE_CHANOP, 0, '@'},
{'a', CUMODE_CHANPROT, 0, '*'},
{'q', CUMODE_CHANOWNER, 0, '~'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'l', CMODE_LIMIT, MODEPARAM},
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'k', CMODE_KEY, MODEPARAM},
{'r', CMODE_RGSTR, 0},
{'R', CMODE_RGSTRONLY, 0},
{'c', CMODE_NOCOLOR, 0},
@@ -131,7 +121,6 @@
{'A', CMODE_ADMONLY, 0},
{'L', CMODE_LINK, MODEPARAM},
{'Q', CMODE_NOKICKS, 0},
- {'b', CMODE_BAN, MODEPARAM},
{'S', CMODE_STRIP, 0},
{'e', CMODE_EXCEPT, MODEPARAM},
{'K', CMODE_NOKNOCK, 0},
@@ -152,10 +141,8 @@
{'a', UMODE_SADMIN},
{'A', UMODE_ADMIN},
{'C', UMODE_COADMIN},
- {'o', UMODE_OPER},
{'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'g', UMODE_FAILOP},
{'h', UMODE_HELPOP},
Modified: trunk/src/protocol/unreal32.c
==============================================================================
--- trunk/src/protocol/unreal32.c (original)
+++ trunk/src/protocol/unreal32.c Sat Apr 16 05:36:43 2005
@@ -113,23 +113,13 @@
};
mode_init chan_umodes[] = {
- {'v', CUMODE_VOICE, 0, '+'},
{'h', CUMODE_HALFOP, 0, '%'},
- {'o', CUMODE_CHANOP, 0, '@'},
{'a', CUMODE_CHANPROT, 0, '*'},
{'q', CUMODE_CHANOWNER, 0, '~'},
{0, 0, 0},
};
mode_init chan_modes[] = {
- {'l', CMODE_LIMIT, MODEPARAM},
- {'p', CMODE_PRIVATE, 0},
- {'s', CMODE_SECRET, 0},
- {'m', CMODE_MODERATED, 0},
- {'n', CMODE_NOPRIVMSGS, 0},
- {'t', CMODE_TOPICLIMIT, 0},
- {'i', CMODE_INVITEONLY, 0},
- {'k', CMODE_KEY, MODEPARAM},
{'r', CMODE_RGSTR, 0},
{'R', CMODE_RGSTRONLY, 0},
{'c', CMODE_NOCOLOR, 0},
@@ -137,7 +127,6 @@
{'A', CMODE_ADMONLY, 0},
{'L', CMODE_LINK, MODEPARAM},
{'Q', CMODE_NOKICKS, 0},
- {'b', CMODE_BAN, MODEPARAM},
{'S', CMODE_STRIP, 0},
{'e', CMODE_EXCEPT, MODEPARAM},
{'K', CMODE_NOKNOCK, 0},
@@ -158,10 +147,8 @@
{'a', UMODE_SADMIN},
{'A', UMODE_ADMIN},
{'C', UMODE_COADMIN},
- {'o', UMODE_OPER},
{'O', UMODE_LOCOP},
{'r', UMODE_REGNICK},
- {'i', UMODE_INVISIBLE},
{'w', UMODE_WALLOP},
{'g', UMODE_FAILOP},
{'h', UMODE_HELPOP},