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 /include | |
| 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 'include')
| -rw-r--r-- | include/extern.h | 7 | ||||
| -rw-r--r-- | include/services.h | 40 |
2 files changed, 5 insertions, 42 deletions
diff --git a/include/extern.h b/include/extern.h index a3d7a1734..e9609dcfb 100644 --- a/include/extern.h +++ b/include/extern.h @@ -29,7 +29,6 @@ E char *uplink; /* IRC Variables */ E IRCDVar *ircd; -E IRCDCAPAB *ircdcap; E int UseTSMODE; /* hack to get around bahamut clones that don't send TSMODE */ E IRCDProto *ircdproto; @@ -187,7 +186,6 @@ E Uplink *uplink_server; /**** ircd.c ****/ E void pmodule_ircd_proto(IRCDProto *); E void pmodule_ircd_var(IRCDVar * ircdvar); -E void pmodule_ircd_cap(IRCDCAPAB * cap); E void pmodule_ircd_version(const char *version); E void pmodule_ircd_useTSMode(int use); @@ -473,12 +471,13 @@ E void notice_help(const char *source, User *dest, int message, ...); // MARK_DE E Server *servlist; E Server *me_server; E Server *serv_uplink; -E uint32 uplink_capab; -E CapabInfo capab_info[]; +E Flags<CapabType> Capab; +E CapabInfo Capab_Info[]; E Server *first_server(ServerFlag flag); E Server *next_server(ServerFlag flag); +E void CapabParse(int ac, const char **av); E int is_ulined(const char *server); E int is_sync(Server *server); diff --git a/include/services.h b/include/services.h index 964542ab7..7bfb0134c 100644 --- a/include/services.h +++ b/include/services.h @@ -376,7 +376,6 @@ typedef struct session_ Session; /* Protocol tweaks */ typedef struct ircdvars_ IRCDVar; -typedef struct ircdcapab_ IRCDCAPAB; struct ircdvars_ { const char *name; /* Name of the IRCd command */ @@ -407,14 +406,12 @@ struct ircdvars_ { int chgreal; /* Change RealName */ int check_nick_id; /* On nick change check if they could be identified */ int knock_needs_i; /* Check if we needed +i when setting NOKNOCK */ - char *chanmodes; /* If the ircd sends CHANMODE in CAPAB this is where we store it */ int token; /* Does Anope support the tokens for the ircd */ int sjb64; int svsmode_ucmode; /* Can remove User Channel Modes with SVSMODE */ int sglineenforce; int ts6; /* ircd is TS6 */ int p10; /* ircd is P10 */ - char *nickchars; /* character set */ int cidrchanbei; /* channel bans/excepts/invites support CIDR (syntax: +b *!*@192.168.0.0/15) * 0 for no support, 1 for strict cidr support, anything else * for ircd specific support (nefarious only cares about first /mask) */ @@ -423,39 +420,6 @@ struct ircdvars_ { int maxmodes; /* Max modes to send per line */ }; -struct ircdcapab_ { - uint32 noquit; - uint32 tsmode; - uint32 unconnect; - uint32 nickip; - uint32 nsjoin; - uint32 zip; - uint32 burst; - uint32 ts5; - uint32 ts3; - uint32 dkey; - uint32 pt4; - uint32 scs; - uint32 qs; - uint32 uid; - uint32 knock; - uint32 client; - uint32 ipv6; - uint32 ssj5; - uint32 sn2; - uint32 token; - uint32 vhost; - uint32 ssj3; - uint32 nick2; - uint32 vl; - uint32 tlkext; - uint32 dodkey; - uint32 dozip; - uint32 chanmodes; - uint32 sjb64; - uint32 nickchars; -}; - /*************************************************************************/ /* File version for each database. Was one version for all before but was @@ -1018,8 +982,8 @@ enum CapabType /* CAPAB stuffs */ struct CapabInfo { - const char *token; - CapabType flag; + std::string Token; + CapabType Flag; }; /*************************************************************************/ |
