]> code.citadel.org Git - citadel.git/commitdiff
* Access control change: do not treat mailboxes as guessname rooms for Aides.
authorArt Cancro <ajc@citadel.org>
Tue, 12 Mar 2002 19:59:41 +0000 (19:59 +0000)
committerArt Cancro <ajc@citadel.org>
Tue, 12 Mar 2002 19:59:41 +0000 (19:59 +0000)
  Open up INVT/KICK commands to non-Aides for their mailboxes.

citadel/ChangeLog
citadel/citadel.rc
citadel/room_ops.c
citadel/user_ops.c

index baa76db741d435d9d1bbb63fbdb46f556e410a6a..37f89395453ec11de19b1142ecac3a3bfed1f054 100644 (file)
@@ -1,4 +1,8 @@
  $Log$
+ Revision 590.145  2002/03/12 19:59:40  ajc
+ * Access control change: do not treat mailboxes as guessname rooms for Aides.
+   Open up INVT/KICK commands to non-Aides for their mailboxes.
+
  Revision 590.144  2002/03/12 04:30:52  nbryant
  if a filesystem node exists at /var/run/egd-pool, try to connect to it as
  the EGD (Entropy Gathering Daemon) or PRNGD (pseudorandom number
@@ -3457,4 +3461,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import 
-
index b64952f256ae501bdc8e80090b3f6de273052132..0f92c69de18cd5b59b15c6a223fe15d296c0210c 100644 (file)
@@ -213,8 +213,8 @@ cmd=24,1,&.,&Aide,&Who knows room
 cmd=25,2,&.,&Aide,edit &User
 cmd=26,2,&.,&Aide,&Validate new users
 cmd=48,1,&.,&Aide,enter &Info file
-cmd=27,1,&.,&Aide,&Room,&Invite user
-cmd=28,1,&.,&Aide,&Room,&Kick out user
+cmd=27,0,&.,&Aide,&Room,&Invite user
+cmd=28,0,&.,&Aide,&Room,&Kick out user
 cmd=51,1,&.,&Aide,&File,&Delete
 cmd=53,1,&.,&Aide,&File,&Send over net
 cmd=54,1,&.,&Aide,&File,&Move
index ba41b87bd2c02652bc0f9a4a1fe4947b4f9d1217..59eb43f179c335f7ef3b510ef9c5aa74765b8bd0 100644 (file)
@@ -129,16 +129,11 @@ int CtdlRoomAccess(struct quickroom *roombuf, struct usersupp *userbuf)
        }
 
        /* Aides get access to everything */
-       if (userbuf->axlevel >= 6) {
+       if ( (userbuf->axlevel >= 6)
+          && ((roombuf->QRflags & QR_MAILBOX) == 0) ) {
                if (vbuf.v_flags & V_FORGET) {
                        retval = retval | UA_GOTOALLOWED;
                }
-               else {
-                       retval = retval | UA_GOTOALLOWED;
-                       if ((roombuf->QRflags & QR_MAILBOX) == 0) {
-                               retval = retval | UA_KNOWN;
-                       }
-               }
        }
 
 NEWMSG:        /* By the way, we also check for the presence of new messages */
index b5f6e8f20f32a83fb1bde925cbe6fd7d95059e18..cf7c9982b49d8ba70b495b4e570ed0821448a6c4 100644 (file)
@@ -1006,8 +1006,20 @@ void cmd_invt_kick(char *iuser, int op)
        char bbb[SIZ];
        struct visit vbuf;
 
-       if (CtdlAccessCheck(ac_room_aide))
-               return;
+       /*
+        * These commands are only allowed by aides, room aides,
+        * and room namespace owners
+        */
+       if (is_room_aide()
+          || (atol(CC->quickroom.QRname) == CC->usersupp.usernum) ) {
+               /* access granted */
+       }
+       else {
+               /* access denied */
+                cprintf("%d Higher access or room ownership required.\n",
+                        ERROR + HIGHER_ACCESS_REQUIRED);
+                return;
+        }
 
        if (lgetuser(&USscratch, iuser) != 0) {
                cprintf("%d No such user.\n", ERROR);