summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-10-04 03:32:40 +0000
committertrystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-10-04 03:32:40 +0000
commit59e7ad6024936944cd2a864ea344eb3f0ccf90f2 (patch)
treee06d8823d873022759e9a276f55a085a18ce26f7
parent8d89775ceb31c41ec40512891ab209b217eb65d0 (diff)
BUILD : 1.7.5 (368) BUGS : N/A NOTES : IRCD protocol clean up, and support for Numerics on Unreal32/RageIRCD
git-svn-id: svn://svn.anope.org/anope/trunk@368 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@239 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes.conf5
-rw-r--r--data/example.conf5
-rw-r--r--include/extern.h1
-rw-r--r--include/services.h2
-rw-r--r--include/unreal32.h3
-rw-r--r--src/bahamut.c47
-rw-r--r--src/botserv.c4
-rw-r--r--src/channels.c34
-rw-r--r--src/config.c3
-rw-r--r--src/dreamforge.c45
-rw-r--r--src/hybrid.c33
-rw-r--r--src/ptlink.c47
-rw-r--r--src/rageircd.c44
-rw-r--r--src/ultimate2.c60
-rw-r--r--src/ultimate3.c51
-rw-r--r--src/unreal31.c59
-rw-r--r--src/unreal32.c29
-rw-r--r--src/viagra.c41
-rw-r--r--version.log6
19 files changed, 283 insertions, 236 deletions
diff --git a/Changes.conf b/Changes.conf
index 8eec98d20..6c84aefda 100644
--- a/Changes.conf
+++ b/Changes.conf
@@ -36,6 +36,11 @@ Anope Version S V N
# on. The default value is 3
#NewsCount
+# Numeric [OPTIONAL]
+# Many ircd identify themselves with a Numeric when using this option
+# consult your ircds documentation before using this
+#Numeric 0
+
** MODIFIED CONFIGURATION DIRECTIVES **
** DELETED CONFIGURATION DIRECTIVES **
diff --git a/data/example.conf b/data/example.conf
index ac13a8697..2d12f12b3 100644
--- a/data/example.conf
+++ b/data/example.conf
@@ -253,6 +253,11 @@ NetworkDomain "localnet.com"
NetworkName "LocalNet"
+# Numeric [OPTIONAL]
+# Many ircd identify themselves with a Numeric ID when using this option
+# consult your ircds documentation before using this
+#Numeric 0
+
###########################################################################
#
# Basic functionality
diff --git a/include/extern.h b/include/extern.h
index 2fd0f5692..ce496b325 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -296,6 +296,7 @@ E int UseSVS2MODE;
E int RestrictOperNicks;
E int UseTokens;
E int NewsCount;
+E int Numeric;
E char **HostSetters;
E int HostNumber;
diff --git a/include/services.h b/include/services.h
index 81c1b2017..9002789ae 100644
--- a/include/services.h
+++ b/include/services.h
@@ -250,6 +250,8 @@ struct ircdvars_ {
int tokencaseless; /* TOKEN are not case senstive - most its Unreal that is case senstive */
int sjb64; /* Base 64 encode TIMESTAMP */
int invitemode; /* +I */
+ int sjoinbanchar; /* use single quotes to define it */
+ int sjoinexchar; /* use single quotes to define it */
};
struct ircdcapab_ {
diff --git a/include/unreal32.h b/include/unreal32.h
index 4970b6772..ddbc206a7 100644
--- a/include/unreal32.h
+++ b/include/unreal32.h
@@ -97,7 +97,4 @@
#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
-#define SJOINBANNCHAR '&'
-#define SJOINEXCEPTIONCHAR '\"'
-
#endif
diff --git a/src/bahamut.c b/src/bahamut.c
index 03b8f47e1..c8adb33f1 100644
--- a/src/bahamut.c
+++ b/src/bahamut.c
@@ -93,7 +93,10 @@ IRCDVar ircd[] = {
NULL, /* CAPAB Chan Modes */
0, /* We support TOKENS */
1, /* TOKENS are CASE inSensitive */
- 1, /* validate - to the #:# standard */
+ 0, /* TIME STAMPS are BASE64 */
+ 0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
}
,
{NULL}
@@ -587,10 +590,10 @@ int anope_event_436(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
- m = createMessage("INVITE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
@@ -606,39 +609,39 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("GNOTICE", anope_event_gnotice); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m);
m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m);
m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m);
- m = createMessage("RS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SGLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("RS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SGLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
- m = createMessage("SS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
- m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SZLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
m = createMessage("LUSERSLOCK",anope_event_luserslock); addCoreMessage(IRCD,m);
m = createMessage("BURST", anope_event_burst); addCoreMessage(IRCD,m);
- m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
+ m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
}
diff --git a/src/botserv.c b/src/botserv.c
index 7665c6c6e..e9264dde7 100644
--- a/src/botserv.c
+++ b/src/botserv.c
@@ -456,7 +456,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
if (cmd) {
if (!stricmp(cmd, "!deowner") && ircd->owner) {
if (is_founder(u, ci))
- bot_raw_mode(u, ci, "-q", u->nick);
+ bot_raw_mode(u, ci, ircd->ownerunset, u->nick);
} else if (!stricmp(cmd, "!kb")) {
char *target = strtok(NULL, " ");
char *reason = strtok(NULL, "");
@@ -489,7 +489,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
}
} else if (!stricmp(cmd, "!owner") && ircd->owner) {
if (is_founder(u, ci))
- bot_raw_mode(u, ci, "+q", u->nick);
+ bot_raw_mode(u, ci, ircd->ownerset, u->nick);
} else if (!stricmp(cmd, "!seen")) {
char *target = strtok(NULL, " ");
char buf[BUFSIZE];
diff --git a/src/channels.c b/src/channels.c
index 8225e5f2a..a2f9b83ac 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -694,24 +694,26 @@ void do_sjoin(const char *source, int ac, char **av)
end2 = cubuf + 1;
-#ifdef SJOINBANNCHAR
- if (*s == SJOINBANNCHAR) {
- add_ban(c, myStrGetToken(s, SJOINBANNCHAR, 1));
- if (!end)
- break;
- s = end + 1;
- continue;
+
+ if (ircd->sjoinbanchar) {
+ if (*s == ircd->sjoinbanchar) {
+ add_ban(c, myStrGetToken(s, ircd->sjoinbanchar, 1));
+ if (!end)
+ break;
+ s = end + 1;
+ continue;
+ }
}
-#endif
-#ifdef SJOINEXCEPTIONCHAR
- if (*s == SJOINEXCEPTIONCHAR) {
- add_exception(c, myStrGetToken(s, SJOINEXCEPTIONCHAR, 1));
- if (!end)
- break;
- s = end + 1;
- continue;
+ if (ircd->sjoinexchar) {
+ if (*s == ircd->sjoinexchar) {
+ add_exception(c,
+ myStrGetToken(s, ircd->sjoinexchar, 1));
+ if (!end)
+ break;
+ s = end + 1;
+ continue;
+ }
}
-#endif
while (csmodes[(int) *s] != 0)
*end2++ = csmodes[(int) *s++];
diff --git a/src/config.c b/src/config.c
index ba5eeeb78..161197966 100644
--- a/src/config.c
+++ b/src/config.c
@@ -324,6 +324,8 @@ long unsigned int UserKey1;
long unsigned int UserKey2;
long unsigned int UserKey3;
+int Numeric;
+
/*************************************************************************/
/* Deprecated directive (dep_) and value checking (chk_) functions: */
@@ -514,6 +516,7 @@ Directive directives[] = {
{"NewsCount", {{PARAM_POSINT, PARAM_RELOAD, &NewsCount}}},
{"NewsDB", {{PARAM_STRING, PARAM_RELOAD, &NewsDBName}}},
{"NickservDB", {{PARAM_STRING, PARAM_RELOAD, &NickDBName}}},
+ {"Numeric", {{PARAM_POSINT, PARAM_RELOAD, &Numeric}}},
{"PreNickServDB", {{PARAM_STRING, PARAM_RELOAD, &PreNickDBName}}},
{"NSEmailReg", {{PARAM_SET, PARAM_RELOAD, &NSEmailReg}}},
{"NickRegDelay", {{PARAM_INT, PARAM_RELOAD, &NickRegDelay}}},
diff --git a/src/dreamforge.c b/src/dreamforge.c
index fd12fdefe..6cd83bd3f 100644
--- a/src/dreamforge.c
+++ b/src/dreamforge.c
@@ -93,6 +93,8 @@ IRCDVar ircd[] = {
1, /* TOKENS are CASE inSensitive */
0, /* TIME STAMPS are BASE64 */
0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
}
,
{NULL}
@@ -444,45 +446,44 @@ int anope_event_436(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
- m = createMessage("INVITE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
- m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("NOTICE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
- m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("PASS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
-
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SQLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("PROTOCTL", anope_event_capab); addCoreMessage(IRCD,m);
- m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
- m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
- m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
+ m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
+ m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
+ m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
}
diff --git a/src/hybrid.c b/src/hybrid.c
index 953aac10a..7947173e2 100644
--- a/src/hybrid.c
+++ b/src/hybrid.c
@@ -93,6 +93,8 @@ IRCDVar ircd[] = {
1, /* TOKENS are CASE inSensitive */
0, /* TIME STAMPS are BASE64 */
0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
}
,
{NULL}
@@ -590,7 +592,7 @@ int anope_event_436(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
m = createMessage("INVITE", anope_event_invite); addCoreMessage(IRCD,m);
@@ -609,22 +611,21 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
-
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SQLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
diff --git a/src/ptlink.c b/src/ptlink.c
index fe625054f..7094cd43a 100644
--- a/src/ptlink.c
+++ b/src/ptlink.c
@@ -93,6 +93,8 @@ IRCDVar ircd[] = {
1, /* TOKENS are CASE inSensitive */
0, /* TIME STAMPS are BASE64 */
0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
}
,
{NULL}
@@ -501,7 +503,7 @@ int anope_event_436(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
m = createMessage("INVITE", anope_event_invite); addCoreMessage(IRCD,m);
@@ -520,30 +522,29 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
-
- m = createMessage("NEWMASK", anope_event_newmask); addCoreMessage(IRCD,m);
- m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
- m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
- m = createMessage("SVSINFO", anope_event_svsinfo); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SQLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("NEWMASK", anope_event_newmask); addCoreMessage(IRCD,m);
+ m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
+ m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
+ m = createMessage("SVSINFO", anope_event_svsinfo); addCoreMessage(IRCD,m);
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
- m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
- m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
- m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
+ m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
+ m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
+ m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
}
diff --git a/src/rageircd.c b/src/rageircd.c
index 49472fe5d..2e529a3c2 100644
--- a/src/rageircd.c
+++ b/src/rageircd.c
@@ -93,6 +93,8 @@ IRCDVar ircd[] = {
1, /* TOKENS are CASE inSensitive */
0, /* TIME STAMPS are BASE64 */
1, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
},
{NULL}
};
@@ -459,11 +461,11 @@ int anope_event_436(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("482", anope_event_482); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
- m = createMessage("INVITE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
@@ -479,34 +481,34 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("GLOBOPS", anope_event_globops); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m);
m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m);
m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m);
- m = createMessage("RS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SGLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("RS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SGLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
- m = createMessage("SS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
- m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SZLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SNICK", anope_event_snick); addCoreMessage(IRCD,m);
m = createMessage("VHOST", anope_event_vhost); addCoreMessage(IRCD,m);
m = createMessage("MYID", anope_event_myid); addCoreMessage(IRCD,m);
@@ -516,7 +518,6 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
-
}
/* *INDENT-ON* */
@@ -697,6 +698,9 @@ void anope_cmd_connect(int servernum)
else if (servernum == 3)
anope_cmd_pass(RemotePassword3);
anope_cmd_capab();
+ if (Numeric) {
+ send_cmd(NULL, "MYID !%d", Numeric);
+ }
anope_cmd_server(ServerName, 1, ServerDesc);
anope_cmd_svinfo();
anope_cmd_burst();
diff --git a/src/ultimate2.c b/src/ultimate2.c
index e47cf6f24..470c72b2f 100644
--- a/src/ultimate2.c
+++ b/src/ultimate2.c
@@ -93,6 +93,8 @@ IRCDVar ircd[] = {
0, /* TOKENS are CASE inSensitive */
0, /* TIME STAMPS are BASE64 */
0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
}
,
{NULL}
@@ -566,15 +568,15 @@ int anope_event_436(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
if (UseTokens) {
m = createMessage("6", anope_event_away); addCoreMessage(IRCD,m);
}
- m = createMessage("INVITE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("*", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("*", anope_event_null); addCoreMessage(IRCD,m);
}
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
if (UseTokens) {
@@ -636,65 +638,65 @@ void moduleAddIRCDMsgs(void) {
if (UseTokens) {
m = createMessage(")", anope_event_topic); addCoreMessage(IRCD,m);
}
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("%", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("%", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("=", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("=", anope_event_null); addCoreMessage(IRCD,m);
}
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
if (UseTokens) {
m = createMessage("#", anope_event_whois); addCoreMessage(IRCD,m);
}
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("V", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("V", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("]", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("]", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("Z", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("Z", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("[", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("[", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("Y", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("Y", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("U", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("U", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("h", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("h", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("n", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("n", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("e", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("e", anope_event_null); addCoreMessage(IRCD,m);
}
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("f", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("f", anope_event_null); addCoreMessage(IRCD,m);
}
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
if (UseTokens) {
m = createMessage("c", anope_event_sqline); addCoreMessage(IRCD,m);
}
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
if (UseTokens) {
- m = createMessage("d", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("d", anope_event_null); addCoreMessage(IRCD,m);
}
m = createMessage("PROTOCTL", anope_event_capab); addCoreMessage(IRCD,m);
if (UseTokens) {
diff --git a/src/ultimate3.c b/src/ultimate3.c
index 93a6a283f..f77d0d5d6 100644
--- a/src/ultimate3.c
+++ b/src/ultimate3.c
@@ -91,7 +91,10 @@ IRCDVar ircd[] = {
NULL, /* CAPAB Chan Modes */
0, /* We support TOKENS */
1, /* TOKENS are CASE inSensitive */
- 1, /* validate - to the #:# standard */
+ 0, /* TIME STAMPS are BASE64 */
+ 0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
},
{NULL}
};
@@ -562,7 +565,7 @@ int anope_event_client(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
m = createMessage("INVITE", anope_event_invite); addCoreMessage(IRCD,m);
@@ -581,43 +584,43 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("GNOTICE", anope_event_gnotice); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m);
m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m);
m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m);
- m = createMessage("RS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SGLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("RS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SGLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
- m = createMessage("SS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
- m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SZLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SETHOST", anope_event_sethost); addCoreMessage(IRCD,m);
- m = createMessage("NETINFO", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GCONNECT", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("NETINFO", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GCONNECT", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("NETGLOBAL", anope_event_netglobal); addCoreMessage(IRCD,m);
- m = createMessage("CHATOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("CHATOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("NETCTRL", anope_event_netctrl); addCoreMessage(IRCD,m);
m = createMessage("CLIENT", anope_event_client); addCoreMessage(IRCD,m);
- m = createMessage("SMODE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SMODE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
m = createMessage("BURST", anope_event_burst); addCoreMessage(IRCD,m);
m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
diff --git a/src/unreal31.c b/src/unreal31.c
index 9e0ae024a..f5af99d98 100644
--- a/src/unreal31.c
+++ b/src/unreal31.c
@@ -93,7 +93,10 @@ IRCDVar ircd[] = {
NULL, /* CAPAB Chan Modes */
0, /* We support Unreal TOKENS */
1, /* TOKENS are CASE inSensitive */
- 1, /* validate - to the #:# standard */
+ 0, /* TIME STAMPS are BASE64 */
+ 0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
},
{NULL}
};
@@ -413,61 +416,51 @@ void anope_set_umode(User * user, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
- m = createMessage("INVITE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
- m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("NOTICE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
- m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("PASS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
- m = createMessage("STATS", m_stats); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SQLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("PROTOCTL", anope_event_capab); addCoreMessage(IRCD,m);
m = createMessage("CHGHOST", anope_event_chghost); addCoreMessage(IRCD,m);
m = createMessage("CHGIDENT", anope_event_chgident); addCoreMessage(IRCD,m);
m = createMessage("CHGNAME", anope_event_chgname); addCoreMessage(IRCD,m);
- m = createMessage("NETINFO", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("NETINFO", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SETHOST", anope_event_sethost); addCoreMessage(IRCD,m);
m = createMessage("SETIDENT", anope_event_setident); addCoreMessage(IRCD,m);
m = createMessage("SETNAME", anope_event_setname); addCoreMessage(IRCD,m);
- m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
- if (UseTokens) {
- m = createMessage("O", anope_event_rehash); addCoreMessage(IRCD,m);
- }
- m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
- if (UseTokens) {
- m = createMessage("@", anope_event_admin); addCoreMessage(IRCD,m);
- }
- m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
- if (UseTokens) {
- m = createMessage("AJ", anope_event_credits); addCoreMessage(IRCD,m);
- }
+ m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
+ m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
+ m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
}
/* *INDENT-ON* */
diff --git a/src/unreal32.c b/src/unreal32.c
index 5755d58b5..2bfbb5f57 100644
--- a/src/unreal32.c
+++ b/src/unreal32.c
@@ -42,7 +42,7 @@ IRCDVar ircd[] = {
"+ioS", /* Global alias mode */
"+qS", /* Used by BotServ Bots */
5, /* Chan Max Symbols */
- "-ckiflmnpstuzACGHKLNOQRSV", /* Modes to Remove */
+ "-ckiflmnpstuzACGHKLMNOQRSTV", /* Modes to Remove */
"+ao", /* Channel Umode used by Botserv bots */
1, /* SVSNICK */
1, /* Vhost */
@@ -95,6 +95,8 @@ IRCDVar ircd[] = {
0, /* TOKENS are CASE Sensitive */
1, /* TIME STAMPS are BASE64 */
0, /* +I support */
+ '&', /* SJOIN ban char */
+ '\"', /* SJOIN except char */
},
{NULL}
};
@@ -1016,11 +1018,21 @@ void anope_cmd_quit(char *source, const char *fmt, ...)
void anope_cmd_capab()
{
if (UseTokens) {
- send_cmd(NULL,
- "PROTOCTL NICKv2 VHP UMODE2 NICKIP TOKEN SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64");
+ if (Numeric) {
+ send_cmd(NULL,
+ "PROTOCTL NICKv2 VHP UMODE2 NICKIP TOKEN SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64 VL");
+ } else {
+ send_cmd(NULL,
+ "PROTOCTL NICKv2 VHP UMODE2 NICKIP TOKEN SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64");
+ }
} else {
- send_cmd(NULL,
- "PROTOCTL NICKv2 VHP UMODE2 NICKIP SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64");
+ if (Numeric) {
+ send_cmd(NULL,
+ "PROTOCTL NICKv2 VHP UMODE2 NICKIP SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64 VL");
+ } else {
+ send_cmd(NULL,
+ "PROTOCTL NICKv2 VHP UMODE2 NICKIP SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64");
+ }
}
}
@@ -1034,7 +1046,12 @@ void anope_cmd_pass(char *pass)
/* Unreal 3.2 actually sends some info about itself in the descript area */
void anope_cmd_server(char *servname, int hop, char *descript)
{
- send_cmd(NULL, "SERVER %s %d :%s", servname, hop, descript);
+ if (Numeric) {
+ send_cmd(NULL, "SERVER %s %d :U0-*-%d %s", servname, hop, Numeric,
+ descript);
+ } else {
+ send_cmd(NULL, "SERVER %s %d :%s", servname, hop, descript);
+ }
}
/* PONG */
diff --git a/src/viagra.c b/src/viagra.c
index 2c3d21dbd..07e271784 100644
--- a/src/viagra.c
+++ b/src/viagra.c
@@ -91,7 +91,10 @@ IRCDVar ircd[] = {
NULL, /* CAPAB Chan Modes */
0, /* We support TOKENS */
1, /* TOKENS are CASE inSensitive */
- 1, /* validate - to the #:# standard */
+ 0, /* TIME STAMPS are BASE64 */
+ 0, /* +I support */
+ 0, /* SJOIN ban char */
+ 0, /* SJOIN except char */
}
,
{NULL}
@@ -630,7 +633,7 @@ int anope_event_error(char *source, int ac, char **av)
void moduleAddIRCDMsgs(void) {
Message *m;
- m = createMessage("401", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
m = createMessage("INVITE", anope_event_invite); addCoreMessage(IRCD,m);
@@ -649,34 +652,34 @@ void moduleAddIRCDMsgs(void) {
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
- m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
- m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("GNOTICE", anope_event_gnotice); addCoreMessage(IRCD,m);
- m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
- m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSKILL", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
- m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m);
m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m);
m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m);
- m = createMessage("RS", NULL); addCoreMessage(IRCD,m);
- m = createMessage("SGLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("RS", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("SGLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
- m = createMessage("SS", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SS", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
- m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
- m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
+ m = createMessage("SZLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m);
+ m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m);
m = createMessage("CHGHOST", anope_event_chghost); addCoreMessage(IRCD,m);
m = createMessage("CHGIDENT", anope_event_chgident); addCoreMessage(IRCD,m);
m = createMessage("CHGNAME", anope_event_chgname); addCoreMessage(IRCD,m);
diff --git a/version.log b/version.log
index 87691db3c..023f487ad 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="5"
-VERSION_BUILD="367"
+VERSION_BUILD="368"
# $Log$
#
+# BUILD : 1.7.5 (368)
+# BUGS : N/A
+# NOTES : IRCD protocol clean up, and support for Numerics on Unreal32/RageIRCD
+#
# BUILD : 1.7.5 (367)
# BUGS :
# NOTES : Changed UserKeys from uint to long uint.