diff options
| author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2010-02-08 03:09:19 +0000 |
|---|---|---|
| committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2010-02-08 03:09:19 +0000 |
| commit | 512b5bdaf3b9de1c1cb1d78b921269f78b82e97b (patch) | |
| tree | 2435caac310109ddcc04bcef4595b60245f5fb8a /src/protocol/inspircd12.cpp | |
| parent | f4db8c5360a71bf2c815602ade39800033f7ae16 (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.cpp | 44 |
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(); } |
