summaryrefslogtreecommitdiff
path: root/src/protocol/inspircd12.cpp
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-02-08 03:09:19 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-02-08 03:09:19 +0000
commit512b5bdaf3b9de1c1cb1d78b921269f78b82e97b (patch)
tree2435caac310109ddcc04bcef4595b60245f5fb8a /src/protocol/inspircd12.cpp
parentf4db8c5360a71bf2c815602ade39800033f7ae16 (diff)
Rewrote & fixed CAPAB support
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2786 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol/inspircd12.cpp')
-rw-r--r--src/protocol/inspircd12.cpp44
1 files changed, 7 insertions, 37 deletions
diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp
index 27acf77a2..698cc86ea 100644
--- a/src/protocol/inspircd12.cpp
+++ b/src/protocol/inspircd12.cpp
@@ -62,14 +62,12 @@ IRCDVar myIrcd[] = {
0, /* Change RealName */
0,
1, /* No Knock requires +i */
- NULL, /* CAPAB Chan Modes */
0, /* We support inspircd TOKENS */
0, /* TIME STAMPS are BASE64 */
0, /* Can remove User Channel Modes with SVSMODE */
0, /* Sglines are not enforced until user reconnects */
1, /* ts6 */
0, /* p10 */
- NULL, /* character set */
1, /* CIDR channelbans */
"$", /* TLD Prefix for Global */
true, /* Auth for users is sent after the initial NICK/UID command */
@@ -79,40 +77,6 @@ IRCDVar myIrcd[] = {
{NULL}
};
-
-IRCDCAPAB myIrcdcap[] = {
- {
- CAPAB_NOQUIT, /* NOQUIT */
- 0, /* TSMODE */
- 1, /* UNCONNECT */
- 0, /* NICKIP */
- 0, /* SJOIN */
- 0, /* ZIP */
- 0, /* BURST */
- 0, /* TS5 */
- 0, /* TS3 */
- 0, /* DKEY */
- 0, /* PT4 */
- 0, /* SCS */
- 0, /* QS */
- 0, /* UID */
- 0, /* KNOCK */
- 0, /* CLIENT */
- 0, /* IPV6 */
- 0, /* SSJ5 */
- 0, /* SN2 */
- 0, /* TOKEN */
- 0, /* VHOST */
- CAPAB_SSJ3, /* SSJ3 */
- CAPAB_NICK2, /* NICK2 */
- CAPAB_VL, /* VL */
- CAPAB_TLKEXT, /* TLKEXT */
- 0, /* DODKEY */
- 0, /* DOZIP */
- 0,
- 0, 0}
-};
-
static int has_servicesmod = 0;
static int has_globopsmod = 0;
static int has_svsholdmod = 0;
@@ -1303,6 +1267,9 @@ int anope_event_capab(const char *source, int ac, const char **av)
}
ircd->svshold = has_svsholdmod;
}
+
+ CapabParse(ac, av);
+
return MOD_CONT;
}
@@ -1392,10 +1359,13 @@ class ProtoInspIRCd : public Module
TS6SID = sstrdup(Config.Numeric);
pmodule_ircd_version("InspIRCd 1.2");
- pmodule_ircd_cap(myIrcdcap);
pmodule_ircd_var(myIrcd);
pmodule_ircd_useTSMode(0);
+ CapabType c[] = { CAPAB_NOQUIT, CAPAB_SSJ3, CAPAB_NICK2, CAPAB_VL, CAPAB_TLKEXT };
+ for (unsigned i = 0; i < 5; ++i)
+ Capab.SetFlag(c[i]);
+
pmodule_ircd_proto(&ircd_proto);
moduleAddIRCDMsgs();
}