summaryrefslogtreecommitdiff
path: root/src/protocol
diff options
context:
space:
mode:
authorrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-05-17 20:04:58 +0000
committerrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-05-17 20:04:58 +0000
commita0b268dab3ed358bb24f78389a6d7e21f0809102 (patch)
tree0726d210ff6ef498076b88ea9c5927820d57fefb /src/protocol
parent296c1d8a5a948d5ae6756d7b55b16c64f56cf4c3 (diff)
using svn commit to try and avoid indent bug thing
git-svn-id: svn://svn.anope.org/anope/trunk@800 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@557 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol')
-rw-r--r--src/protocol/Makefile5
-rw-r--r--src/protocol/Makefile.sub5
-rw-r--r--src/protocol/inspircd.c19
-rw-r--r--src/protocol/plexus.c2270
-rw-r--r--src/protocol/ptlink.c5
5 files changed, 1254 insertions, 1050 deletions
diff --git a/src/protocol/Makefile b/src/protocol/Makefile
index e73fd7e7c..602d43bec 100644
--- a/src/protocol/Makefile
+++ b/src/protocol/Makefile
@@ -5,12 +5,11 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \
'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \
'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \
'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' \
- 'PROFILE=${PROFILE}' 'SHARED=${SHARED}'
+ 'PROFILE=${PROFILE}' 'SHARED=${SHARED}' 'MODULEFLAGS=${MODULEFLAGS}'
OBJECTS= $(SRCS:.c=.o)
SO_FILES=$(OBJECTS:.o=.s)
CDEFS= -g -rdynamic -Wall
-CFLAGS=$(CFLAGS) $(CDEFS)
all: modules subs
@@ -22,7 +21,7 @@ install:
distclean: clean spotless
.c.o:
- $(CC) $(CFLAGS) -I../${INCLUDEDIR} -c $<
+ $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $<
.o.s:
$(CC) ${SHARED} $< -o $*.so ${PROFILE}
diff --git a/src/protocol/Makefile.sub b/src/protocol/Makefile.sub
index b060ca5b6..7c4744ce8 100644
--- a/src/protocol/Makefile.sub
+++ b/src/protocol/Makefile.sub
@@ -3,12 +3,11 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \
'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \
'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \
'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' \
- 'PROFILE=${PROFILE}' 'SHARED=${SHARED}'
+ 'PROFILE=${PROFILE}' 'SHARED=${SHARED}' 'MODULEFLAGS=${MODULEFLAGS}'
OBJECTS= $(SRCS:.c=.o)
SO_FILES=$(OBJECTS:.o=.s)
CDEFS= -g -rdynamic -Wall
-CFLAGS=$(CFLAGS) $(CDEFS)
all: module
@@ -17,7 +16,7 @@ module: $(OBJECTS) so
distclean: clean spotless
.c.o:
- $(CC) $(CFLAGS) -I../ -I../../${INCLUDEDIR} -c $<
+ $(CC) $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../ -I../../${INCLUDEDIR} -c $<
so:
$(CC) ${SHARED} $(OBJECTS) -o ../$(TARGET).so ${PROFILE}
diff --git a/src/protocol/inspircd.c b/src/protocol/inspircd.c
index e16f38e9d..762c2260c 100644
--- a/src/protocol/inspircd.c
+++ b/src/protocol/inspircd.c
@@ -522,7 +522,7 @@ void inspircd_cmd_vhost_off(User * u)
void inspircd_cmd_akill(char *user, char *host, char *who, time_t when,
time_t expires, char *reason)
{
- send_cmd(CreateSum(), "# %s@%s %s %lu %lu :%s", user, host, who, (long int)when, 86400 * 2, reason);
+ send_cmd(CreateSum(), "# %s@%s %s %lu %lu :%s", user, host, who, (unsigned long)when, (unsigned long)86400 * 2, reason);
}
void inspircd_cmd_svskill(char *source, char *user, char *buf)
@@ -586,9 +586,9 @@ void inspircd_cmd_bot_nick(char *nick, char *user, char *host, char *real,
void inspircd_cmd_kick(char *source, char *chan, char *user, char *buf)
{
if (buf) {
- send_cmd(CreateSum(), "k %s %s :%s", source, user, chan, buf);
+ send_cmd(CreateSum(), "k %s %s %s :%s", source, user, chan, buf);
} else {
- send_cmd(CreateSum(), "k %s %s :", source, user, chan);
+ send_cmd(CreateSum(), "k %s %s %s :", source, user, chan);
}
}
@@ -682,7 +682,6 @@ int anope_event_eob(char *source, int ac, char **av)
/* SERVER name hop descript */
void inspircd_cmd_server(char *servname, int hop, char *descript)
{
- Server *newserv;
if (hop == 0)
{
send_cmd(CreateSum(), "H %s",servname);
@@ -758,7 +757,7 @@ void inspircd_cmd_part(char *nick, char *chan, char *buf)
return;
}
if (buf) {
- send_cmd(CreateSum(), "L %s :%s", nick, chan, buf);
+ send_cmd(CreateSum(), "L %s %s :%s", nick, chan, buf);
} else {
send_cmd(CreateSum(), "L %s %s :", nick, chan);
}
@@ -1037,17 +1036,9 @@ int anope_event_kick(char *source, int ac, char **av)
int anope_event_join(char *source, int ac, char **av)
{
- //if (ac != 2)
- // return MOD_CONT;
- //char *v[32];
- //v[0] = av[1];
- //do_join(av[0], 1, v);
- //return MOD_CONT;
-
User *u;
Channel *c;
int i;
- int32 modes = 0, thismode;
char* new_av[32];
char* cumodes[3];
char thismodes[256];
@@ -1295,7 +1286,7 @@ void inspircd_cmd_unszline(char *mask)
void inspircd_cmd_szline(char *mask, char *reason, char *whom)
{
// } <mask> <who-set-it> <time-set> <duration> :<reason>
- send_cmd(CreateSum(), "} %s %s %lu %lu :%s",mask,whom,(long int) time(NULL),86400 * 2, reason);
+ send_cmd(CreateSum(), "} %s %s %lu %lu :%s",mask,whom,(unsigned long)time(NULL),(unsigned long)86400 * 2, reason);
}
/* SGLINE */
diff --git a/src/protocol/plexus.c b/src/protocol/plexus.c
index 32f9feea3..c85b38eb3 100644
--- a/src/protocol/plexus.c
+++ b/src/protocol/plexus.c
@@ -1,6 +1,4 @@
/* PlexusIRCD IRCD functions
-/* PlexusIRCD IRCD functions
-/* PlexusIRCD IRCD functions
*
* (C) 2003-2005 Anope Team
* Contact us at info@anope.org
@@ -8,194 +6,199 @@
* Please read COPYING and README for furhter details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- *
- */
+ * Based on the original code of Services by Andy Church.
+ **/
#include "services.h"
#include "pseudo.h"
#include "plexus.h"
IRCDVar myIrcd[] = {
- {"PleXusIRCd 2.0+", /* ircd name */
- "+oiSR", /* nickserv mode */
- "+oiSR", /* chanserv mode */
- "+oiSR", /* memoserv mode */
- "+oiSR", /* hostserv mode */
- "+oaiSR", /* operserv mode */
- "+oiSR", /* botserv mode */
- "+oiSR", /* helpserv mode */
- "+oiSR", /* Dev/Null mode */
- "+oiSR", /* Global mode */
- "+oiSR", /* nickserv alias mode */
- "+oiSR", /* chanserv alias mode */
- "+oiSR", /* memoserv alias mode */
- "+oiSR", /* hostserv alias mode */
- "+oaiSR", /* operserv alias mode */
- "+oiSR", /* botserv alias mode */
- "+oiSR", /* helpserv alias mode */
- "+oiSR", /* Dev/Null alias mode */
- "+oiSR", /* Global alias mode */
- "+iSR", /* Used by BotServ Bots */
- 3, /* Chan Max Symbols */
- "-acilmnpstMNORZ", /* Modes to Remove */
- "+o", /* Channel Umode used by Botserv bots */
- 1, /* SVSNICK */
- 1, /* Vhost */
- 0, /* Has Owner */
- NULL, /* Mode to set for an owner */
- NULL, /* Mode to unset for an owner */
- NULL, /* Mode to set for chan admin */
- NULL, /* Mode to unset for chan admin */
- "+R", /* Mode On Reg */
- "-R", /* Mode on UnReg */
- "-R", /* Mode on Nick Change */
- 0, /* Supports SGlines */
- 1, /* Supports SQlines */
- 0, /* Supports SZlines */
- 1, /* Supports Halfop +h */
- 3, /* Number of server args */
- 0, /* Join 2 Set */
- 0, /* Join 2 Message */
- 1, /* Has exceptions +e */
- 0, /* TS Topic Forward */
- 0, /* TS Topci Backward */
- 0, /* Protected Umode */
- 0, /* Has Admin */
- 1, /* Chan SQlines */
- 0, /* Quit on Kill */
- 0, /* SVSMODE unban */
- 0, /* Has Protect */
- 0, /* Reverse */
- 0, /* Chan Reg */
- 0, /* Channel Mode */
- 0, /* vidents */
- 0, /* svshold */
- 1, /* time stamp on mode */
- 0, /* NICKIP */
- 0, /* UMODE */
- 0, /* O:LINE */
- 1, /* VHOST ON NICK */
- 0, /* Change RealName */
- CMODE_p, /* No Knock */
- 0, /* Admin Only */
- DEFAULT_MLOCK, /* Default MLOCK */
- UMODE_h, /* Vhost Mode */
- 0, /* +f */
- 0, /* +L */
- 0, /* +f Mode */
- 0, /* +L Mode */
- 0, /* On nick change check if they could be identified */
- 0, /* No Knock requires +i */
- NULL, /* CAPAB Chan Modes */
- 0, /* We support TOKENS */
- 1, /* TOKENS are CASE inSensitive */
- 0, /* TIME STAMPS are BASE64 */
- 1, /* +I support */
- 0, /* SJOIN ban char */
- 0, /* SJOIN except char */
- 0, /* SJOIN invite char */
- 0, /* Can remove User Channel Modes with SVSMODE */
- 0, /* Sglines are not enforced until user reconnects */
- "h", /* vhost char */
- 0, /* ts6 */
- 0, /* support helper umode */
- 0, /* p10 */
- NULL, /* character set */
- 1, /* reports sync state */
- }
- ,
- {NULL}
+ {"PleXusIRCd 2.0+", /* ircd name */
+ "+oiSR", /* nickserv mode */
+ "+oiSR", /* chanserv mode */
+ "+oiSR", /* memoserv mode */
+ "+oiSR", /* hostserv mode */
+ "+oaiSR", /* operserv mode */
+ "+oiSR", /* botserv mode */
+ "+oiSR", /* helpserv mode */
+ "+oiSR", /* Dev/Null mode */
+ "+oiSR", /* Global mode */
+ "+oiSR", /* nickserv alias mode */
+ "+oiSR", /* chanserv alias mode */
+ "+oiSR", /* memoserv alias mode */
+ "+oiSR", /* hostserv alias mode */
+ "+oaiSR", /* operserv alias mode */
+ "+oiSR", /* botserv alias mode */
+ "+oiSR", /* helpserv alias mode */
+ "+oiSR", /* Dev/Null alias mode */
+ "+oiSR", /* Global alias mode */
+ "+iSR", /* Used by BotServ Bots */
+ 3, /* Chan Max Symbols */
+ "-acilmnpstMNORZ", /* Modes to Remove */
+ "+o", /* Channel Umode used by Botserv bots */
+ 1, /* SVSNICK */
+ 1, /* Vhost */
+ 0, /* Has Owner */
+ NULL, /* Mode to set for an owner */
+ NULL, /* Mode to unset for an owner */
+ NULL, /* Mode to set for chan admin */
+ NULL, /* Mode to unset for chan admin */
+ "+R", /* Mode On Reg */
+ "-R", /* Mode on UnReg */
+ "-R", /* Mode on Nick Change */
+ 0, /* Supports SGlines */
+ 1, /* Supports SQlines */
+ 0, /* Supports SZlines */
+ 1, /* Supports Halfop +h */
+ 3, /* Number of server args */
+ 0, /* Join 2 Set */
+ 0, /* Join 2 Message */
+ 1, /* Has exceptions +e */
+ 0, /* TS Topic Forward */
+ 0, /* TS Topci Backward */
+ 0, /* Protected Umode */
+ 0, /* Has Admin */
+ 1, /* Chan SQlines */
+ 0, /* Quit on Kill */
+ 0, /* SVSMODE unban */
+ 0, /* Has Protect */
+ 0, /* Reverse */
+ 0, /* Chan Reg */
+ 0, /* Channel Mode */
+ 0, /* vidents */
+ 0, /* svshold */
+ 1, /* time stamp on mode */
+ 0, /* NICKIP */
+ 0, /* UMODE */
+ 0, /* O:LINE */
+ 1, /* VHOST ON NICK */
+ 0, /* Change RealName */
+ CMODE_p, /* No Knock */
+ 0, /* Admin Only */
+ DEFAULT_MLOCK, /* Default MLOCK */
+ UMODE_h, /* Vhost Mode */
+ 0, /* +f */
+ 0, /* +L */
+ 0, /* +f Mode */
+ 0, /* +L Mode */
+ 0, /* On nick change check if they could be identified */
+ 0, /* No Knock requires +i */
+ NULL, /* CAPAB Chan Modes */
+ 0, /* We support TOKENS */
+ 1, /* TOKENS are CASE inSensitive */
+ 0, /* TIME STAMPS are BASE64 */
+ 1, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
+ 0, /* SJOIN invite char */
+ 0, /* Can remove User Channel Modes with SVSMODE */
+ 0, /* Sglines are not enforced until user reconnects */
+ "h", /* vhost char */
+ 0, /* ts6 */
+ 0, /* support helper umode */
+ 0, /* p10 */
+ NULL, /* character set */
+ 1, /* reports sync state */
+ }
+ ,
+ {NULL}
};
IRCDCAPAB myIrcdcap[] = {
- {
- 0, /* NOQUIT */
- 0, /* TSMODE */
- 0, /* UNCONNECT */
- 0, /* NICKIP */
- 0, /* SJOIN */
- CAPAB_ZIP, /* ZIP */
- 0, /* BURST */
- CAPAB_TS5, /* TS5 */
- 0, /* TS3 */
- 0, /* DKEY */
- 0, /* PT4 */
- 0, /* SCS */
- CAPAB_QS, /* QS */
- CAPAB_UID, /* UID */
- CAPAB_KNOCK, /* KNOCK */
- 0, /* CLIENT */
- 0, /* IPV6 */
- 0, /* SSJ5 */
- 0, /* SN2 */
- 0, /* TOKEN */
- 0, /* VHOST */
- 0, /* SSJ3 */
- 0, /* NICK2 */
- 0, /* UMODE2 */
- 0, /* VL */
- 0, /* TLKEXT */
- 0, /* DODKEY */
- 0, /* DOZIP */
- 0, 0, 0}
+ {
+ 0, /* NOQUIT */
+ 0, /* TSMODE */
+ 0, /* UNCONNECT */
+ 0, /* NICKIP */
+ 0, /* SJOIN */
+ CAPAB_ZIP, /* ZIP */
+ 0, /* BURST */
+ CAPAB_TS5, /* TS5 */
+ 0, /* TS3 */
+ 0, /* DKEY */
+ 0, /* PT4 */
+ 0, /* SCS */
+ CAPAB_QS, /* QS */
+ CAPAB_UID, /* UID */
+ CAPAB_KNOCK, /* KNOCK */
+ 0, /* CLIENT */
+ 0, /* IPV6 */
+ 0, /* SSJ5 */
+ 0, /* SN2 */
+ 0, /* TOKEN */
+ 0, /* VHOST */
+ 0, /* SSJ3 */
+ 0, /* NICK2 */
+ 0, /* UMODE2 */
+ 0, /* VL */
+ 0, /* TLKEXT */
+ 0, /* DODKEY */
+ 0, /* DOZIP */
+ 0, 0, 0}
};
-void plexus_set_umode(User * user, int ac, char **av)
-{
- int add = 1; /* 1 if adding modes, 0 if deleting */
- char *modes = av[0];
-
- ac--;
-
- if (debug)
- alog("debug: Changing mode for %s to %s", user->nick, modes);
-
- while (*modes) {
-
- /* This looks better, much better than "add ? (do_add) : (do_remove)".
- * At least this is readable without paying much attention :) -GD
- */
- if (add)
- user->mode |= umodes[(int) *modes];
- else
- user->mode &= ~umodes[(int) *modes];
-
- switch (*modes++) {
- case '+':
- add = 1;
- break;
- case '-':
- add = 0;
- break;
- case 'h':
- update_host(user);
- break;
- case 'o':
- if (add) {
- opcnt++;
-
- if (WallOper)
- anope_cmd_global(s_OperServ,
- "\2%s\2 is now an IRC operator.",
- user->nick);
- display_news(user, NEWS_OPER);
-
- } else {
- opcnt--;
- }
- break;
- case 'R':
- if (add && !nick_identified(user)) {
- common_svsmode(user, "-R", NULL);
- user->mode &= ~UMODE_R;
- }
- break;
-
- }
+void
+plexus_set_umode (User * user, int ac, char **av)
+{
+ int add = 1; /* 1 if adding modes, 0 if deleting */
+ char *modes = av[0];
+
+ ac--;
+
+ if (debug)
+ alog ("debug: Changing mode for %s to %s", user->nick, modes);
+
+ while (*modes)
+ {
+
+ /* This looks better, much better than "add ? (do_add) : (do_remove)".
+ * At least this is readable without paying much attention :) -GD
+ */
+ if (add)
+ user->mode |= umodes[(int) *modes];
+ else
+ user->mode &= ~umodes[(int) *modes];
+
+ switch (*modes++)
+ {
+ case '+':
+ add = 1;
+ break;
+ case '-':
+ add = 0;
+ break;
+ case 'h':
+ update_host (user);
+ break;
+ case 'o':
+ if (add)
+ {
+ opcnt++;
+
+ if (WallOper)
+ anope_cmd_global (s_OperServ,
+ "\2%s\2 is now an IRC operator.",
+ user->nick);
+ display_news (user, NEWS_OPER);
+
+ }
+ else
+ {
+ opcnt--;
+ }
+ break;
+ case 'R':
+ if (add && !nick_identified (user))
+ {
+ common_svsmode (user, "-R", NULL);
+ user->mode &= ~UMODE_R;
+ }
+ break;
+
+ }
}
}
@@ -207,565 +210,647 @@ void plexus_set_umode(User * user, int ac, char **av)
* is_valid_op, as it always sends a -o. Breaking up the routines corrects this problem. - ThaPrince
*/
-int plexus_check_valid_halfop(User * user, Channel * chan, int servermode)
+int
+plexus_check_valid_halfop (User * user, Channel * chan, int servermode)
{
- if (!chan || !chan->ci)
- return 1;
+ if (!chan || !chan->ci)
+ return 1;
- /* They will be kicked; no need to deop, no need to update our internal struct too */
- if (chan->ci->flags & CI_VERBOTEN)
- return 0;
+ /* They will be kicked; no need to deop, no need to update our internal struct too */
+ if (chan->ci->flags & CI_VERBOTEN)
+ return 0;
- if (servermode && !check_access(user, chan->ci, CA_AUTOHALFOP)) {
- notice_lang(s_ChanServ, user, CHAN_IS_REGISTERED, s_ChanServ);
- anope_cmd_mode(whosends(chan->ci), chan->name, "-h %s",
- user->nick);
- return 0;
+ if (servermode && !check_access (user, chan->ci, CA_AUTOHALFOP))
+ {
+ notice_lang (s_ChanServ, user, CHAN_IS_REGISTERED, s_ChanServ);
+ anope_cmd_mode (whosends (chan->ci), chan->name, "-h %s", user->nick);
+ return 0;
}
- if (check_access(user, chan->ci, CA_AUTODEOP)) {
- anope_cmd_mode(whosends(chan->ci), chan->name, "-h %s",
- user->nick);
- return 0;
+ if (check_access (user, chan->ci, CA_AUTODEOP))
+ {
+ anope_cmd_mode (whosends (chan->ci), chan->name, "-h %s", user->nick);
+ return 0;
}
- return 1;
+ return 1;
}
-int plexus_check_valid_op(User * user, Channel * chan, int servermode)
+int
+plexus_check_valid_op (User * user, Channel * chan, int servermode)
{
- if (!chan || !chan->ci)
- return 1;
+ if (!chan || !chan->ci)
+ return 1;
- /* They will be kicked; no need to deop, no need to update our internal struct too */
- if (chan->ci->flags & CI_VERBOTEN)
- return 0;
+ /* They will be kicked; no need to deop, no need to update our internal struct too */
+ if (chan->ci->flags & CI_VERBOTEN)
+ return 0;
- if (servermode && !check_access(user, chan->ci, CA_AUTOOP)) {
- notice_lang(s_ChanServ, user, CHAN_IS_REGISTERED, s_ChanServ);
- if (check_access(user, chan->ci, CA_AUTOHALFOP)) {
- anope_cmd_mode(whosends(chan->ci), chan->name,
- "-o+h %s %s", user->nick, user->nick);
- } else {
- anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
- user->nick);
- }
- return 0;
+ if (servermode && !check_access (user, chan->ci, CA_AUTOOP))
+ {
+ notice_lang (s_ChanServ, user, CHAN_IS_REGISTERED, s_ChanServ);
+ if (check_access (user, chan->ci, CA_AUTOHALFOP))
+ {
+ anope_cmd_mode (whosends (chan->ci), chan->name,
+ "-o+h %s %s", user->nick, user->nick);
+ }
+ else
+ {
+ anope_cmd_mode (whosends (chan->ci), chan->name, "-o %s",
+ user->nick);
+ }
+ return 0;
}
- if (check_access(user, chan->ci, CA_AUTODEOP)) {
- anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
- user->nick);
- return 0;
+ if (check_access (user, chan->ci, CA_AUTODEOP))
+ {
+ anope_cmd_mode (whosends (chan->ci), chan->name, "-o %s", user->nick);
+ return 0;
}
- return 1;
+ return 1;
}
unsigned long umodes[128] = {
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused, Unused, Horzontal Tab */
- 0, 0, 0, /* Line Feed, Unused, Unused */
- 0, 0, 0, /* Carriage Return, Unused, Unused */
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused */
- 0, 0, 0, /* Unused, Unused, Space */
- 0, 0, 0, /* ! " # */
- 0, 0, 0, /* $ % & */
- 0, 0, 0, /* ! ( ) */
- 0, 0, 0, /* * + , */
- 0, 0, 0, /* - . / */
- 0, 0, /* 0 1 */
- 0, 0, /* 2 3 */
- 0, 0, /* 4 5 */
- 0, 0, /* 6 7 */
- 0, 0, /* 8 9 */
- 0, 0, /* : ; */
- 0, 0, 0, /* < = > */
- 0, 0, /* ? @ */
- 0, 0, 0, /* A B C */
- 0, 0, 0, /* D E F */
- 0, 0, 0, /* G H I */
- 0, 0, 0, /* J K L */
- 0, 0, 0, /* M N O */
- 0, 0, UMODE_R, /* P Q R */
- UMODE_S, 0, 0, /* S T U */
- 0, 0, 0, /* V W X */
- 0, /* Y */
- 0, /* Z */
- 0, 0, 0, /* [ \ ] */
- 0, 0, 0, /* ^ _ ` */
- UMODE_a, UMODE_b, 0, /* a b c */
- UMODE_d, 0, 0, /* d e f */
- 0, UMODE_h, UMODE_i, /* g h i */
- 0, 0, UMODE_l, /* j k l */
- UMODE_g, UMODE_n, UMODE_o, /* m n o */
- 0, 0, 0, /* p q r */
- 0, 0, UMODE_u, /* s t u */
- 0, UMODE_w, UMODE_x, /* v w x */
- 0, /* y */
- 0, /* z */
- 0, 0, 0, /* { | } */
- 0, 0 /* ~ ‚ */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused, Unused, Horzontal Tab */
+ 0, 0, 0, /* Line Feed, Unused, Unused */
+ 0, 0, 0, /* Carriage Return, Unused, Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused, Unused, Space */
+ 0, 0, 0, /* ! " # */
+ 0, 0, 0, /* $ % & */
+ 0, 0, 0, /* ! ( ) */
+ 0, 0, 0, /* * + , */
+ 0, 0, 0, /* - . / */
+ 0, 0, /* 0 1 */
+ 0, 0, /* 2 3 */
+ 0, 0, /* 4 5 */
+ 0, 0, /* 6 7 */
+ 0, 0, /* 8 9 */
+ 0, 0, /* : ; */
+ 0, 0, 0, /* < = > */
+ 0, 0, /* ? @ */
+ 0, 0, 0, /* A B C */
+ 0, 0, 0, /* D E F */
+ 0, 0, 0, /* G H I */
+ 0, 0, 0, /* J K L */
+ 0, 0, 0, /* M N O */
+ 0, 0, UMODE_R, /* P Q R */
+ UMODE_S, 0, 0, /* S T U */
+ 0, 0, 0, /* V W X */
+ 0, /* Y */
+ 0, /* Z */
+ 0, 0, 0, /* [ \ ] */
+ 0, 0, 0, /* ^ _ ` */
+ UMODE_a, UMODE_b, 0, /* a b c */
+ UMODE_d, 0, 0, /* d e f */
+ 0, UMODE_h, UMODE_i, /* g h i */
+ 0, 0, UMODE_l, /* j k l */
+ UMODE_g, UMODE_n, UMODE_o, /* m n o */
+ 0, 0, 0, /* p q r */
+ 0, 0, UMODE_u, /* s t u */
+ 0, UMODE_w, UMODE_x, /* v w x */
+ 0, /* y */
+ 0, /* z */
+ 0, 0, 0, /* { | } */
+ 0, 0 /* ~ ‚ */
};
char myCsmodes[128] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
- 0,
- 0, 0, 0,
- 'h',
- 0, 0, 0, 0,
- 0,
+ 0,
+ 0,
+ 0, 0, 0,
+ 'h',
+ 0, 0, 0, 0,
+ 0,
- 'v', 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 'v', 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 'o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 'o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
CMMode myCmmodes[128] = {
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL}, /* BCD */
- {NULL}, {NULL}, {NULL}, /* EFG */
- {NULL}, /* H */
- {add_invite, del_invite},
- {NULL}, /* J */
- {NULL}, {NULL}, {NULL}, /* KLM */
- {NULL}, {NULL}, {NULL}, /* NOP */
- {NULL}, {NULL}, {NULL}, /* QRS */
- {NULL}, {NULL}, {NULL}, /* TUV */
- {NULL}, {NULL}, {NULL}, /* WXY */
- {NULL}, /* Z */
- {NULL}, {NULL}, /* (char 91 - 92) */
- {NULL}, {NULL}, {NULL}, /* (char 93 - 95) */
- {NULL}, /* ` (char 96) */
- {NULL}, /* a (char 97) */
- {add_ban, del_ban},
- {NULL},
- {NULL},
- {add_exception, del_exception},
- {NULL},
- {NULL},
- {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
- {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL}, /* BCD */
+ {NULL}, {NULL}, {NULL}, /* EFG */
+ {NULL}, /* H */
+ {add_invite, del_invite},
+ {NULL}, /* J */
+ {NULL}, {NULL}, {NULL}, /* KLM */
+ {NULL}, {NULL}, {NULL}, /* NOP */
+ {NULL}, {NULL}, {NULL}, /* QRS */
+ {NULL}, {NULL}, {NULL}, /* TUV */
+ {NULL}, {NULL}, {NULL}, /* WXY */
+ {NULL}, /* Z */
+ {NULL}, {NULL}, /* (char 91 - 92) */
+ {NULL}, {NULL}, {NULL}, /* (char 93 - 95) */
+ {NULL}, /* ` (char 96) */
+ {NULL}, /* a (char 97) */
+ {add_ban, del_ban},
+ {NULL},
+ {NULL},
+ {add_exception, del_exception},
+ {NULL},
+ {NULL},
+ {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
+ {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}
};
CBMode myCbmodes[128] = {
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
- {0},
- {0}, /* A */
- {0}, /* B */
- {0}, /* C */
- {0}, /* D */
- {0}, /* E */
- {0}, /* F */
- {0}, /* G */
- {0}, /* H */
- {0}, /* I */
- {0}, /* J */
- {0}, /* K */
- {0}, /* L */
- {CMODE_M, 0, NULL, NULL}, /* M */
- {CMODE_N, 0, NULL, NULL}, /* N */
- {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, /* O */
- {0}, /* P */
- {0}, /* Q */
- {CMODE_R, 0, NULL, NULL}, /* R */
- {0}, /* S */
- {0}, /* T */
- {0}, /* U */
- {0}, /* V */
- {0}, /* W */
- {0}, /* X */
- {0}, /* Y */
- {CMODE_Z, 0, NULL, NULL}, /* Z */
- {0}, {0}, {0}, {0}, {0}, {0},
- {CMODE_a, 0, NULL, NULL},
- {0}, /* b */
- {CMODE_c, 0, NULL, NULL}, /* c */
- {0}, /* d */
- {0}, /* e */
- {0}, /* f */
- {0}, /* g */
- {0}, /* h */
- {CMODE_i, 0, NULL, NULL},
- {0}, /* j */
- {CMODE_k, 0, set_key, cs_set_key},
- {CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit},
- {CMODE_m, 0, NULL, NULL},
- {CMODE_n, 0, NULL, NULL},
- {0}, /* o */
- {CMODE_p, 0, NULL, NULL},
- {0}, /* q */
- {0},
- {CMODE_s, 0, NULL, NULL},
- {CMODE_t, 0, NULL, NULL},
- {0},
- {0}, /* v */
- {0}, /* w */
- {0}, /* x */
- {0}, /* y */
- {0}, /* z */
- {0}, {0}, {0}, {0}
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
+ {0},
+ {0}, /* A */
+ {0}, /* B */
+ {0}, /* C */
+ {0}, /* D */
+ {0}, /* E */
+ {0}, /* F */
+ {0}, /* G */
+ {0}, /* H */
+ {0}, /* I */
+ {0}, /* J */
+ {0}, /* K */
+ {0}, /* L */
+ {CMODE_M, 0, NULL, NULL}, /* M */
+ {CMODE_N, 0, NULL, NULL}, /* N */
+ {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, /* O */
+ {0}, /* P */
+ {0}, /* Q */
+ {CMODE_R, 0, NULL, NULL}, /* R */
+ {0}, /* S */
+ {0}, /* T */
+ {0}, /* U */
+ {0}, /* V */
+ {0}, /* W */
+ {0}, /* X */
+ {0}, /* Y */
+ {CMODE_Z, 0, NULL, NULL}, /* Z */
+ {0}, {0}, {0}, {0}, {0}, {0},
+ {CMODE_a, 0, NULL, NULL},
+ {0}, /* b */
+ {CMODE_c, 0, NULL, NULL}, /* c */
+ {0}, /* d */
+ {0}, /* e */
+ {0}, /* f */
+ {0}, /* g */
+ {0}, /* h */
+ {CMODE_i, 0, NULL, NULL},
+ {0}, /* j */
+ {CMODE_k, 0, set_key, cs_set_key},
+ {CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit},
+ {CMODE_m, 0, NULL, NULL},
+ {CMODE_n, 0, NULL, NULL},
+ {0}, /* o */
+ {CMODE_p, 0, NULL, NULL},
+ {0}, /* q */
+ {0},
+ {CMODE_s, 0, NULL, NULL},
+ {CMODE_t, 0, NULL, NULL},
+ {0},
+ {0}, /* v */
+ {0}, /* w */
+ {0}, /* x */
+ {0}, /* y */
+ {0}, /* z */
+ {0}, {0}, {0}, {0}
};
CBModeInfo myCbmodeinfos[] = {
- {'a', CMODE_a, 0, NULL, NULL},
- {'i', CMODE_i, 0, NULL, NULL},
- {'k', CMODE_k, 0, get_key, cs_get_key},
- {'l', CMODE_l, CBM_MINUS_NO_ARG, get_limit, cs_get_limit},
- {'m', CMODE_m, 0, NULL, NULL},
- {'n', CMODE_n, 0, NULL, NULL},
- {'p', CMODE_p, 0, NULL, NULL},
- {'s', CMODE_s, 0, NULL, NULL},
- {'t', CMODE_t, 0, NULL, NULL},
- {'M', CMODE_M, 0, NULL, NULL},
- {'N', CMODE_N, 0, NULL, NULL},
- {'O', CMODE_O, 0, NULL, NULL},
- {'R', CMODE_R, 0, NULL, NULL},
- {'Z', CMODE_Z, 0, NULL, NULL},
- {0}
+ {'a', CMODE_a, 0, NULL, NULL},
+ {'i', CMODE_