diff options
author | dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-06-18 16:38:43 +0000 |
---|---|---|
committer | dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-06-18 16:38:43 +0000 |
commit | 1d1c478e4ff9c484be01ad0d55d5f3c0a91b2561 (patch) | |
tree | e2d601a6ee6a167671da595b22be602aaaa6c4a1 /messages.c | |
parent | bb020753879abb7ede7c0343f528027a2b99ebb2 (diff) |
BUILD : 1.7.4 (206) BUGS : 55 NOTES : Added proper Bahamut1.8 support. Merged r132:195 from branch branches/proto/anope-bahamut18 which should now be obsolete.
git-svn-id: svn://svn.anope.org/anope/trunk@206 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@148 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'messages.c')
-rw-r--r-- | messages.c | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/messages.c b/messages.c index 571bf6286..12804e036 100644 --- a/messages.c +++ b/messages.c @@ -58,6 +58,28 @@ static int m_away(char *source, int ac, char **av) #ifdef IRC_BAHAMUT +static int m_capab(char *source, int ac, char **av) +{ + int i; + + for (i = 0; i < ac; i++) { + if (!stricmp(av[i], "NOQUIT")) + uplink_capab |= CAPAB_NOQUIT; + else if (!stricmp(av[i], "TSMODE")) + uplink_capab |= CAPAB_TSMODE; + else if (!stricmp(av[i], "UNCONNECT")) + uplink_capab |= CAPAB_UNCONNECT; + } + + return MOD_CONT; +} + +#endif + +/*************************************************************************/ + +#ifdef IRC_BAHAMUT + static int m_cs(char *source, int ac, char **av) { User *u; @@ -675,10 +697,23 @@ static int m_quit(char *source, int ac, char **av) /*************************************************************************/ +static int m_squit(char *source, int ac, char **av) +{ + if (ac != 2) + return MOD_CONT; + do_squit(source, ac, av); + return MOD_CONT; +} + +/*************************************************************************/ + static int m_server(char *source, int ac, char **av) { if (!stricmp(av[1], "1")) uplink = sstrdup(av[0]); + if (ac != 3) + return MOD_CONT; + do_server(source, ac, av); return MOD_CONT; } @@ -1126,7 +1161,7 @@ void moduleAddMsgs(void) { m = createMessage("PRIVMSG", m_privmsg); addCoreMessage(IRCD,m); m = createMessage("QUIT", m_quit); addCoreMessage(IRCD,m); m = createMessage("SERVER", m_server); addCoreMessage(IRCD,m); - m = createMessage("SQUIT", NULL); addCoreMessage(IRCD,m); + m = createMessage("SQUIT", m_squit); addCoreMessage(IRCD,m); m = createMessage("STATS", m_stats); addCoreMessage(IRCD,m); m = createMessage("TIME", m_time); addCoreMessage(IRCD,m); m = createMessage("TOPIC", m_topic); addCoreMessage(IRCD,m); @@ -1156,7 +1191,7 @@ void moduleAddMsgs(void) { /* Bahamut specific messages */ #ifdef IRC_BAHAMUT - m = createMessage("CAPAB", NULL); addCoreMessage(IRCD,m); + m = createMessage("CAPAB", m_capab); addCoreMessage(IRCD,m); m = createMessage("CS", m_cs); addCoreMessage(IRCD,m); m = createMessage("HS", m_hs); addCoreMessage(IRCD,m); m = createMessage("MS", m_ms); addCoreMessage(IRCD,m); |