diff options
Diffstat (limited to 'src')
-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); |