]> jfr.im git - irc/quakenet/newserv.git/commitdiff
CHANSERV: Added explicit message when allowing opers to issue commands on
authorsplidge <redacted>
Thu, 7 May 2009 14:15:41 +0000 (15:15 +0100)
committersplidge <redacted>
Thu, 7 May 2009 14:15:41 +0000 (15:15 +0100)
suspended channels.

chanserv/chanserv_messages.h
chanserv/chanservprivs.c

index b708475f10a8bdcd4a198e8651d4b9597f4cb4ef..d2784ab31c56760b75a14d56c59600c7bb9447d6 100644 (file)
@@ -226,6 +226,7 @@ BeginMessages() {
   msg(QM_INVALIDHMAC, "The supplied login credentials are not valid (bad HMAC).", ""),
   msg(QM_PASSEMAILCHANGED, "Auth failed: account password has been changed since you logged in.", ""),
   msg(QM_REASONREQUIRED, "Supply a decent reason.", ""),
+  msg(QM_BYPASSINGSUSPEND,"NOTE: $0 is suspended, bypassing suspension.", "s"),
 } 
 EndMessages()
 #endif
index 63c5e21d40a261a926fb1041cc97c9c214b896d0..cd0976e715a4fc0804c5dec6da9bd02ac0297e87 100644 (file)
@@ -60,11 +60,20 @@ chanindex *cs_checkaccess(nick *np, const char *chan, unsigned int flags,
     return NULL;
   }
   
-  if (!(rcp=cip->exts[chanservext]) || 
-      (CIsSuspended(rcp) && !cs_privcheck(QPRIV_SUSPENDBYPASS, np))) {
+  if (!(rcp=cip->exts[chanservext])) {
     if (!quiet) chanservstdmessage(np, QM_UNKNOWNCHAN, cip->name->content);
     return NULL;
   }
+  
+  
+  if (CIsSuspended(rcp)) {
+    if (cs_privcheck(QPRIV_SUSPENDBYPASS, np)) {
+      if (!quiet) chanservstdmessage(np, QM_BYPASSINGSUSPEND, cip->name->content);
+    } else {
+      if (!quiet) chanservstdmessage(np, QM_UNKNOWNCHAN, cip->name->content);
+      return NULL;
+    }
+  }
 
   if (rcp && rup)
     rcup=findreguseronchannel(rcp, rup);