From 06bad31b18d0e339b722dd3ce687005dd23cdb19 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 28 May 2013 22:17:22 -0400 Subject: [PATCH] Fix Channel::SetCorrectModes to never remove modes <= voice (currently secureops enforces everything, inclurding voice) --- src/channels.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/channels.cpp b/src/channels.cpp index 8e391699e..0a2f73ce1 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -856,7 +856,13 @@ void Channel::SetCorrectModes(User *user, bool give_modes) given = true; } else if (take_modes && !has_priv) - this->RemoveMode(NULL, cm, user->GetUID()); + { + /* Only remove modes if they are > voice */ + if (cm->name == "VOICE") + take_modes = false; + else + this->RemoveMode(NULL, cm, user->GetUID()); + } } // Check mlock