diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-11 18:44:17 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-11 18:44:17 +0000 |
commit | 52b48030d6bfe6e52951e88ad8eb05048048c984 (patch) | |
tree | 97dd01e1dde5a81fd8c2cddc626352ad4023b469 /src/modules | |
parent | f9d56d5d0b05399161324edd1e616a84e605d304 (diff) |
Fixed permenant xline propogation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2314 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index b26bf536c..8b8b28092 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -125,7 +125,11 @@ extern std::vector<GLine> glines; extern std::vector<ZLine> zlines; extern std::vector<QLine> qlines; extern std::vector<ELine> elines; - +extern std::vector<KLine> pklines; +extern std::vector<GLine> pglines; +extern std::vector<ZLine> pzlines; +extern std::vector<QLine> pqlines; +extern std::vector<ELine> pelines; /* Each server in the tree is represented by one class of * type TreeServer. A locally connected TreeServer can @@ -1001,6 +1005,26 @@ class TreeSocket : public InspSocket snprintf(data,MAXBUF,":%s ADDLINE E %s %s %lu %lu :%s",Srv->GetServerName().c_str(),i->hostmask,i->source,(unsigned long)i->set_time,(unsigned long)i->duration,i->reason); this->WriteLine(data); } + for (std::vector<ZLine>::iterator i = pzlines.begin(); i != pzlines.end(); i++) + { + snprintf(data,MAXBUF,":%s ADDLINE Z %s %s %lu %lu :%s",Srv->GetServerName().c_str(),i->ipaddr,i->source,(unsigned long)i->set_time,(unsigned long)i->duration,i->reason); + this->WriteLine(data); + } + for (std::vector<QLine>::iterator i = pqlines.begin(); i != pqlines.end(); i++) + { + snprintf(data,MAXBUF,":%s ADDLINE Q %s %s %lu %lu :%s",Srv->GetServerName().c_str(),i->nick,i->source,(unsigned long)i->set_time,(unsigned long)i->duration,i->reason); + this->WriteLine(data); + } + for (std::vector<GLine>::iterator i = pglines.begin(); i != pglines.end(); i++) + { + snprintf(data,MAXBUF,":%s ADDLINE G %s %s %lu %lu :%s",Srv->GetServerName().c_str(),i->hostmask,i->source,(unsigned long)i->set_time,(unsigned long)i->duration,i->reason); + this->WriteLine(data); + } + for (std::vector<ELine>::iterator i = pelines.begin(); i != pelines.end(); i++) + { + snprintf(data,MAXBUF,":%s ADDLINE E %s %s %lu %lu :%s",Srv->GetServerName().c_str(),i->hostmask,i->source,(unsigned long)i->set_time,(unsigned long)i->duration,i->reason); + this->WriteLine(data); + } } /* Send channel modes and topics */ |