X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fexpire%2Fserv_expire.c;h=eaffd921f5aa84f80b9c72d6293efb3c79165cf3;hb=6f7bef8170f504b9e793ffda404d7f94f7cda79c;hp=4d384a56cefc2356b46b4adecafeb1d95d4851a9;hpb=43331d45d4673079bacca038cdab1522178bd21a;p=citadel.git diff --git a/citadel/modules/expire/serv_expire.c b/citadel/modules/expire/serv_expire.c index 4d384a56c..eaffd921f 100644 --- a/citadel/modules/expire/serv_expire.c +++ b/citadel/modules/expire/serv_expire.c @@ -415,6 +415,10 @@ void do_user_purge(struct ctdluser *us, void *data) { /* The default rule is to not purge. */ purge = 0; + + /* don't attempt to purge system users. */ + if (!strncmp(us->fullname, "SYS_", 4)) + goto skip_all_this; /* If the user hasn't called in two months and expiring of accounts is turned on, his/her account * has expired, so purge the record. @@ -494,7 +498,8 @@ void do_user_purge(struct ctdluser *us, void *data) { } } - +skip_all_this: + if (purge == 1) { pptr = (struct PurgeList *) malloc(sizeof(struct PurgeList)); pptr->next = UserPurgeList;