summaryrefslogtreecommitdiff
path: root/src/protocol
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-08 16:38:39 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-08 16:38:39 +0000
commit51d869db5768386c8c638415426fa97985ad5693 (patch)
treeaa066ec422df06e4f22d1e57d6240dc1b7f99b47 /src/protocol
parent64132f67c02b4d4a8cdfe5aceb2426304e4fdeea (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.c7
-rw-r--r--src/protocol/inspircd12.cpp15
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);