diff options
| author | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-08-08 16:38:39 +0000 |
|---|---|---|
| committer | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-08-08 16:38:39 +0000 |
| commit | 51d869db5768386c8c638415426fa97985ad5693 (patch) | |
| tree | aa066ec422df06e4f22d1e57d6240dc1b7f99b47 /src/protocol | |
| parent | 64132f67c02b4d4a8cdfe5aceb2426304e4fdeea (diff) | |
ENDBURST support for inspircd(11|12).
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2440 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol')
| -rw-r--r-- | src/protocol/inspircd11.c | 7 | ||||
| -rw-r--r-- | src/protocol/inspircd12.cpp | 15 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c index b4f811e36..c81d9b416 100644 --- a/src/protocol/inspircd11.c +++ b/src/protocol/inspircd11.c @@ -1299,6 +1299,12 @@ int anope_event_capab(const char *source, int ac, const char **av) return MOD_CONT; } +int anope_event_endburst(const char *source, int ac, const char **av) +{ + finish_sync(serv_uplink, 1); + return MOD_CONT; +} + void moduleAddIRCDMsgs() { Message *m; @@ -1306,6 +1312,7 @@ void moduleAddIRCDMsgs() { updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+a","-a"); updateOwnerDetails("OWNER", "DEOWNER", ircd->ownerset, ircd->ownerunset); + m = createMessage("ENDBURST", anope_event_endburst); addCoreMessage(IRCD, m); m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m); m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m); m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m); diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp index 320141fa1..d364d5100 100644 --- a/src/protocol/inspircd12.cpp +++ b/src/protocol/inspircd12.cpp @@ -1379,12 +1379,27 @@ int anope_event_capab(const char *source, int ac, const char **av) return MOD_CONT; } +int anope_event_endburst(const char *source, int ac, const char **av) +{ + Server *s = findserver_uid(servlist, source); + if (!s) + { + throw new CoreException("Got ENDBURST without a source"); + } + + alog("Processed ENDBURST for %s", s->name); + + finish_sync(s, 1); + return MOD_CONT; +} + void moduleAddIRCDMsgs() { Message *m; updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+a","-a"); updateOwnerDetails("OWNER", "DEOWNER", ircd->ownerset, ircd->ownerunset); + m = createMessage("ENDBURST", anope_event_endburst); addCoreMessage(IRCD, m); m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m); m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m); m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m); |
