]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Don't lock staff accounts on newpass/email and don't permit staff accounts to be...
authorChris Porter <redacted>
Wed, 12 Mar 2008 18:30:27 +0000 (18:30 +0000)
committerChris Porter <redacted>
Wed, 12 Mar 2008 18:30:27 +0000 (18:30 +0000)
chanserv/authcmds/email.c
chanserv/authcmds/newpass.c
chanserv/authcmds/reset.c

index 935845e22ca534ed756a8580b6f6bda8015ad30e..bbf424cceba011f78b45532b9c328a42018f16bf 100644 (file)
@@ -52,7 +52,7 @@ int csa_doemail(void *source, int cargc, char **cargv) {
     return CMD_ERROR;
   }
 
-  if(rup->lockuntil && rup->lockuntil > t) {
+  if(!UHasHelperPriv(rup) && (rup->lockuntil && rup->lockuntil > t)) {
     char buf[100];
     strftime(buf, 15, "%d/%m/%y %H:%M", gmtime(&(rup->lockuntil)));
     chanservstdmessage(sender, QM_ACCOUNTLOCKED, buf);
@@ -124,7 +124,8 @@ int csa_doemail(void *source, int cargc, char **cargv) {
   rup->email=getsstring(cargv[1],EMAILLEN);
   rup->lastemailchange=t;
   rup->domain=findorcreatemaildomain(rup->email->content);
-  rup->lockuntil=t+7*24*3600;
+  if(!UHasHelperPriv(rup))
+    rup->lockuntil=t+7*24*3600;
   addregusertomaildomain(rup, rup->domain);
 
   if(local) {
index cfe24a8c4a53a7ab06bf8eedfe9338355fcf5ec4..8134dd438c6236edc6a86cbeac4cdd1728012aac 100644 (file)
@@ -72,14 +72,16 @@ int csa_donewpw(void *source, int cargc, char **cargv) {
     return CMD_ERROR;
   }
 
-  t=time(NULL);
-  if(rup->lockuntil && rup->lockuntil > t) {
-    char buf[100];
-    strftime(buf, 15, "%d/%m/%y %H:%M", gmtime(&(rup->lockuntil)));
-    chanservstdmessage(sender, QM_ACCOUNTLOCKED, buf);
-    return CMD_ERROR;
+  if(!UHasHelperPriv(rup)) {
+    t=time(NULL);
+    if(rup->lockuntil && rup->lockuntil > t) {
+      char buf[100];
+      strftime(buf, 15, "%d/%m/%y %H:%M", gmtime(&(rup->lockuntil)));
+      chanservstdmessage(sender, QM_ACCOUNTLOCKED, buf);
+      return CMD_ERROR;
+    }
+    rup->lockuntil=t+7*24*3600;
   }
-  rup->lockuntil=t+7*24*3600;
 
   if(rup->lastemail) {
     freesstring(rup->lastemail);
index dda566de3e9939174c67c2e5756d109750fa0877..4e63c7892f28d6775580a89b6275022d181ec639 100644 (file)
@@ -32,7 +32,7 @@ int csa_doreset(void *source, int cargc, char **cargv) {
   if (!(rup=findreguser(sender, cargv[0])))
     return CMD_ERROR;
 
-  if(!rup->lockuntil || rup->lockuntil <= time(NULL)) {
+  if(UHasHelperPriv(rup) || (!rup->lockuntil || rup->lockuntil <= time(NULL))) {
     chanservstdmessage(sender, QM_ACCOUNTNOTLOCKED);
     return CMD_ERROR;
   }