From 7592eea02f195c2cdb2cc3a9c18d43a4b9f552e8 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Mon, 25 Aug 2008 14:06:43 +0000 Subject: [PATCH] Messages in the Local System Configuration room are now immune to the auto-purger. --- citadel/modules/expire/serv_expire.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/citadel/modules/expire/serv_expire.c b/citadel/modules/expire/serv_expire.c index 6bdbbb3a4..ab82d2828 100644 --- a/citadel/modules/expire/serv_expire.c +++ b/citadel/modules/expire/serv_expire.c @@ -152,6 +152,10 @@ void GatherPurgeMessages(struct ctdlroom *qrbuf, void *data) { if (epbuf.expire_mode == EXPIRE_NEXTLEVEL) return; if (epbuf.expire_mode == EXPIRE_MANUAL) return; + /* Don't purge messages containing system configuration, dumbass. */ + if (!strcasecmp(qrbuf->QRname, SYSCONFIGROOM)) return; + + /* Ok, we got this far ... now let's see what's in the room */ cdbfr = cdb_fetch(CDB_MSGLISTS, &qrbuf->QRnumber, sizeof(long)); if (cdbfr != NULL) { @@ -290,6 +294,7 @@ void DoPurgeRooms(struct ctdlroom *qrbuf, void *data) { if (qrbuf->QRflags & QR_PERMANENT) return; if (qrbuf->QRflags & QR_DIRECTORY) return; if (qrbuf->QRflags & QR_NETWORK) return; + if (qrbuf->QRflags2 & QR2_SYSTEM) return; if (!strcasecmp(qrbuf->QRname, SYSCONFIGROOM)) return; if (is_noneditable(qrbuf)) return; -- 2.30.2