]> code.citadel.org Git - citadel.git/commitdiff
Fixed a page log room security problem
authorArt Cancro <ajc@citadel.org>
Sun, 10 Jan 1999 18:37:51 +0000 (18:37 +0000)
committerArt Cancro <ajc@citadel.org>
Sun, 10 Jan 1999 18:37:51 +0000 (18:37 +0000)
citadel/ChangeLog
citadel/commands.c
citadel/room_ops.c

index a4e4cf7be68ffbda95428bf6078b8d805c4d02db..6e91402785bb8e79e76f7663ea8ee8165e4cc566 100644 (file)
@@ -1,3 +1,6 @@
+Sun Jan 10 13:34:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+       * Fixed access to page log room
+
 Fri Jan  8 12:35:09 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * control.c: include <limits.h> to fix PATH_MAX undefined
        * serv_chat.c: made the following changes to cmd_sexp() --
index 24537952cbcb94ae28b2083bc795825d88e09239..ec51dbaafd04613424aea239b94ff2cb0b379289 100644 (file)
@@ -77,7 +77,6 @@ void print_express(void) {
        FILE *outpipe;
 
        if (express_msgs == 0) return;
-       printf("printing express messages\n");
        express_msgs = 0;
        serv_puts("PEXP");
        serv_gets(buf);
index 242c8bccd607df939bdab00f918a904426fa918d..32a5069d73868fd9e0e04fd5870d96653beb462e 100644 (file)
@@ -676,11 +676,15 @@ void usergoto(char *where, int display_result)
 
        strcpy(CC->quickroom.QRname, where);
        getroom(&CC->quickroom, where);
+
        lgetuser(&CC->usersupp,CC->curr_user);
        CtdlGetRelationship(&vbuf, &CC->usersupp, &CC->quickroom);
 
-       vbuf.v_flags = vbuf.v_flags & ~V_FORGET & ~V_LOCKOUT;
-       vbuf.v_flags = vbuf.v_flags | V_ACCESS;
+       /* Know the room ... but not if it's the page log room */
+       if (strcasecmp(where, config.c_logpages)) {
+               vbuf.v_flags = vbuf.v_flags & ~V_FORGET & ~V_LOCKOUT;
+               vbuf.v_flags = vbuf.v_flags | V_ACCESS;
+               }
 
        CtdlSetRelationship(&vbuf, &CC->usersupp, &CC->quickroom);
        lputuser(&CC->usersupp,CC->curr_user);