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/inspircd11.c | |
| 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/inspircd11.c')
| -rw-r--r-- | src/protocol/inspircd11.c | 42 |
1 files changed, 6 insertions, 36 deletions
diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c index 35f3b6edb..95f93e652 100644 --- a/src/protocol/inspircd11.c +++ b/src/protocol/inspircd11.c @@ -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 */ 0, /* ts6 */ 0, /* p10 */ - NULL, /* character set */ 1, /* CIDR channelbans */ "$", /* TLD Prefix for Global */ false, /* Auth for users is sent after the initial NICK/UID command */ @@ -80,39 +78,6 @@ IRCDVar myIrcd[] = { }; -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; @@ -1116,6 +1081,8 @@ int anope_event_capab(const char *source, int ac, const char **av) } ircd->svshold = has_svsholdmod; } + + CapabParse(ac, av); return MOD_CONT; } @@ -1193,10 +1160,13 @@ class ProtoInspIRCd : public Module this->SetType(PROTOCOL); pmodule_ircd_version("inspircdIRCd 1.1"); - 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]); + AddModes(); pmodule_ircd_proto(&ircd_proto); |
