summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-02 23:17:24 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-02 23:17:24 +0000
commit8d02d5497662e141d22574420d403a8533b118d0 (patch)
tree4aa8b95ea31b34f82ce5bdd6b90cc6c27539f2fc
parent6273e8990116fcd4cbb4d2b79a776c330aae39c7 (diff)
Comments here too
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10618 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree/uid.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/uid.cpp b/src/modules/m_spanningtree/uid.cpp
index 682b4d29a..0aaabfd81 100644
--- a/src/modules/m_spanningtree/uid.cpp
+++ b/src/modules/m_spanningtree/uid.cpp
@@ -117,6 +117,15 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa
{
if (mh->GetNumParams(true))
{
+ /* IMPORTANT NOTE:
+ * All modes are assumed to succeed here as they are being set by a remote server.
+ * Modes CANNOT FAIL here. If they DO fail, then the failure is ignored. This is important
+ * to note as all but one modules currently cannot ever fail in this situation, except for
+ * m_servprotect which specifically works this way to prevent the mode being set ANYWHERE
+ * but here, at client introduction. You may safely assume this behaviour is standard and
+ * will not change in future versions if you want to make use of this protective behaviour
+ * yourself.
+ */
if (paramptr < params.size() - 1)
mh->OnModeChange(_new, _new, NULL, params[paramptr++], true);
else