summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-10 17:47:39 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-10 17:47:39 +0000
commit2ba3cb83d6964649c2d6be4f3203db03f02b94ff (patch)
tree34cc12c0480379be144cba9838102a05b82c785b /src/modules/m_spanningtree.cpp
parent1e3c3d20088c148f20f2237cea54310ca4a8b98c (diff)
Also, if the line already existed, dont OR the value in, so that if all the say, glines we receive already exist, dont bother to apply glines :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6290 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
-rw-r--r--src/modules/m_spanningtree.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 0687db515..1a9affaf1 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -2648,12 +2648,14 @@ class TreeSocket : public InspSocket
case 'Z':
propogate = Instance->XLines->add_zline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
Instance->XLines->zline_set_creation_time(params[1].c_str(), atoi(params[3].c_str()));
- Utils->lines_to_apply |= APPLY_ZLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_ZLINES;
break;
case 'Q':
propogate = Instance->XLines->add_qline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
Instance->XLines->qline_set_creation_time(params[1].c_str(), atoi(params[3].c_str()));
- Utils->lines_to_apply |= APPLY_QLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_QLINES;
break;
case 'E':
propogate = Instance->XLines->add_eline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
@@ -2662,11 +2664,13 @@ class TreeSocket : public InspSocket
case 'G':
propogate = Instance->XLines->add_gline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
Instance->XLines->gline_set_creation_time(params[1].c_str(), atoi(params[3].c_str()));
- Utils->lines_to_apply |= APPLY_GLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_GLINES;
break;
case 'K':
propogate = Instance->XLines->add_kline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
- Utils->lines_to_apply |= APPLY_KLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_KLINES;
break;
default:
/* Just in case... */