]> code.citadel.org Git - citadel.git/commitdiff
* Implemented new room flag QR2_SYSTEM which supresses the room from all
authorArt Cancro <ajc@citadel.org>
Sun, 2 Dec 2001 02:42:55 +0000 (02:42 +0000)
committerArt Cancro <ajc@citadel.org>
Sun, 2 Dec 2001 02:42:55 +0000 (02:42 +0000)
  room listings, even for Aides (but it's still gotoable).  This will be used
  for rooms which hold system configuration and message queues.

citadel/ChangeLog
citadel/citadel.h
citadel/control.c
citadel/ipcdef.h
citadel/room_ops.c
citadel/serv_vandelay.c

index f5512c297dc56ec6b83b8808d2bd44a5d522a304..4602dd83a0d46837bf9f6e164f5439b377f17efd 100644 (file)
@@ -1,4 +1,9 @@
  $Log$
+ Revision 580.84  2001/12/02 02:42:55  ajc
+ * Implemented new room flag QR2_SYSTEM which supresses the room from all
+   room listings, even for Aides (but it's still gotoable).  This will be used
+   for rooms which hold system configuration and message queues.
+
  Revision 580.83  2001/12/01 19:23:26  ajc
  * clientsocket.c: implement socket timeouts for read operations
 
@@ -2892,3 +2897,4 @@ 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 6ab28d50abffe5fa5a9eb6a68a975b1b0c0bd29b..350b0d4959549252014d766223a51723b5a92088 100644 (file)
@@ -173,6 +173,7 @@ struct quickroom {
        struct ExpirePolicy QRep;       /* Message expiration policy        */
        long QRnumber;                  /* Globally unique room number      */
        char QRorder;                   /* Sort key for room listing order  */
+       unsigned QRflags2;              /* Additional flags                 */
 };
 
 /* Private rooms are always flagged with QR_PRIVATE.  If neither QR_PASSWORDED
index 2b887b60a74f5e70b6041fc135bdffac02adc90e..db5868d5e0a69fc5bccf01355f87526e22766090 100644 (file)
@@ -186,7 +186,7 @@ void cmd_conf(char *argbuf) {
                cprintf("%d\n", config.c_default_filter);
                cprintf("%d\n", config.c_aide_zap);
                cprintf("%d\n", config.c_imap_port);
-               cprintf("%d\n", config.c_net_freq);
+               cprintf("%ld\n", config.c_net_freq);
                cprintf("000\n");
                }
 
index 487808d5c3c276a702e73fe31dfc1f1ad3707033..203f4454d2901c254a3f55c3bfddbb662725c18c 100644 (file)
@@ -61,6 +61,8 @@ struct CtdlServInfo {
 #define QR_READONLY    8192            /* Aide status required to post     */
 #define QR_MAILBOX     16384           /* Set if this is a private mailbox */
 
+#define QR2_SYSTEM     1               /* System room; hide by default     */
+
 #define US_NEEDVALID   1               /* User needs to be validated       */
 #define US_PERM                4               /* Permanent user                   */
 #define US_LASTOLD     16              /* Print last old message with new  */
index d94fad48d77a8c10e61c6406327de3dee3d7cd4a..a5a0b34f65d931f6901450b9ee4f0bf8a7d8bd47 100644 (file)
@@ -60,7 +60,7 @@ int CtdlRoomAccess(struct quickroom *roombuf, struct usersupp *userbuf)
        /* For mailbox rooms, only allow access to the owner */
        if (roombuf->QRflags & QR_MAILBOX) {
                if (userbuf->usernum != atol(roombuf->QRname)) {
-                       return (retval);
+                       return(0);
                }
        }
        /* Locate any applicable user/room relationships */
@@ -133,6 +133,11 @@ NEWMSG:    /* By the way, we also check for the presence of new messages */
        if (is_msg_in_mset(vbuf.v_seen, roombuf->QRhighest) == 0) {
                retval = retval | UA_HASNEWMSGS;
        }
+
+       /* System rooms never show up in the list. */
+       if (roombuf->QRflags & QR2_SYSTEM) {
+               retval = retval & ~UA_KNOWN;
+       }
        return (retval);
 }
 
index 5c62567fad1d475fbea0a3f43e9b42fe17fa5c2e..fee34851ad877de7f3afab1fef617dfc88bada7a 100644 (file)
@@ -96,6 +96,7 @@ void artv_export_rooms_backend(struct quickroom *qrbuf, void *data) {
        cprintf("%d\n", qrbuf->QRep.expire_value);
        cprintf("%ld\n", qrbuf->QRnumber);
        cprintf("%d\n", qrbuf->QRorder);
+       cprintf("%u\n", qrbuf->QRflags2);
 
        getroom(&CC->quickroom, qrbuf->QRname);
        /* format of message list export is all message numbers output
@@ -408,6 +409,7 @@ void artv_import_room(void) {
        client_gets(buf);       qrbuf.QRep.expire_value = atoi(buf);
        client_gets(buf);       qrbuf.QRnumber = atol(buf);
        client_gets(buf);       qrbuf.QRorder = atoi(buf);
+       client_gets(buf);       qrbuf.QRflags2 = atoi(buf);
        putroom(&qrbuf);
        lprintf(7, "Imported room <%s>\n", qrbuf.QRname);
        /* format of message list export is all message numbers output