$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
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
+
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
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");
}
#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 */
/* 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 */
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);
}
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
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