From: Wilfried Göesgens Date: Sat, 24 Apr 2010 09:33:15 +0000 (+0000) Subject: * move policy.c into modules/expire/expire_policy.c, since it just controls this. X-Git-Tag: v7.86~255 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=0eea6dcc234e0f524bbf2a1d909455d41ed02314 * move policy.c into modules/expire/expire_policy.c, since it just controls this. * remove all unneded includes to policy.h * remove hardcoded reference to policy from mk_module_init.sh (hard to find...) --- diff --git a/citadel/Makefile.in b/citadel/Makefile.in index 69b598117..5c42a1032 100644 --- a/citadel/Makefile.in +++ b/citadel/Makefile.in @@ -84,7 +84,7 @@ SOURCES=utils/aidepost.c utils/stress.c utils/whobbs.c utils/citmail.c \ citserver.c clientsocket.c config.c control.c $(DATABASE) \ domain.c serv_extensions.c file_ops.c genstamp.c getutline.c \ housekeeping.c ical_dezonify.c internet_addressing.c ecrash.c \ - locate_host.c md5.c auth.c msgbase.c parsedate.c policy.c \ + locate_host.c md5.c auth.c msgbase.c parsedate.c \ room_ops.c euidindex.c server_main.c snprintf.c ldap.c \ support.c sysdep.c user_ops.c journaling.c threads.c \ context.c @@ -150,7 +150,7 @@ modules_upgrade.c: modules_init.c SERV_OBJS = server_main.o utillib/citadel_dirs.o\ user_ops.o citserver.o sysdep.o serv_extensions.o \ $(DATABASE:.c=.o) domain.o \ - control.o policy.o config.o support.o room_ops.o \ + control.o config.o support.o room_ops.o \ file_ops.o msgbase.o euidindex.o \ locate_host.o housekeeping.o \ internet_addressing.o journaling.o \ diff --git a/citadel/citserver.c b/citadel/citserver.c index 603d34982..cd13b3e3c 100644 --- a/citadel/citserver.c +++ b/citadel/citserver.c @@ -69,7 +69,6 @@ #include "locate_host.h" #include "room_ops.h" #include "file_ops.h" -#include "policy.h" #include "control.h" #include "euidindex.h" #include "context.h" diff --git a/citadel/debian/changelog b/citadel/debian/changelog index 6624f9437..16c8ad153 100644 --- a/citadel/debian/changelog +++ b/citadel/debian/changelog @@ -1,3 +1,9 @@ +citadel (7.79-87) stable; urgency=low + + * beta + + -- Wilfried Goesgens Mon, 22 Dec 2009 22:00:00 +0001 + citadel (7.70-87) stable; urgency=low * new upstream version diff --git a/citadel/modules/clamav/serv_virus.c b/citadel/modules/clamav/serv_virus.c index 155349892..38b47de84 100644 --- a/citadel/modules/clamav/serv_virus.c +++ b/citadel/modules/clamav/serv_virus.c @@ -58,7 +58,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/dspam/serv_dspam.c b/citadel/modules/dspam/serv_dspam.c index 8285b5368..7d5e4f0cb 100644 --- a/citadel/modules/dspam/serv_dspam.c +++ b/citadel/modules/dspam/serv_dspam.c @@ -51,7 +51,6 @@ #include "citserver.h" #include "support.h" #include "config.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/expire/expire_policy.c b/citadel/modules/expire/expire_policy.c new file mode 100644 index 000000000..260a49830 --- /dev/null +++ b/citadel/modules/expire/expire_policy.c @@ -0,0 +1,181 @@ +/* + * $Id$ + * + * Functions which manage policy for rooms (such as message expiry) + */ + +#include "sysdep.h" +#include +#include +#include +#include +#include + +#if TIME_WITH_SYS_TIME +# include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#include +#include +#include "citadel.h" +#include "server.h" +#include "database.h" +#include "config.h" +#include "room_ops.h" +#include "sysdep_decls.h" +#include "support.h" +#include "user_ops.h" +#include "msgbase.h" +#include "citserver.h" + +#include "ctdl_module.h" + +/* + * Retrieve the applicable expire policy for a specific room + */ +void GetExpirePolicy(struct ExpirePolicy *epbuf, struct ctdlroom *qrbuf) { + struct floor *fl; + + /* If the room has its own policy, return it */ + if (qrbuf->QRep.expire_mode != 0) { + memcpy(epbuf, &qrbuf->QRep, sizeof(struct ExpirePolicy)); + return; + } + + /* (non-mailbox rooms) + * If the floor has its own policy, return it + */ + if ( (qrbuf->QRflags & QR_MAILBOX) == 0) { + fl = CtdlGetCachedFloor(qrbuf->QRfloor); + if (fl->f_ep.expire_mode != 0) { + memcpy(epbuf, &fl->f_ep, sizeof(struct ExpirePolicy)); + return; + } + } + + /* (Mailbox rooms) + * If there is a default policy for mailbox rooms, return it + */ + if (qrbuf->QRflags & QR_MAILBOX) { + if (config.c_mbxep.expire_mode != 0) { + memcpy(epbuf, &config.c_mbxep, + sizeof(struct ExpirePolicy)); + return; + } + } + + /* Otherwise, fall back on the system default */ + memcpy(epbuf, &config.c_ep, sizeof(struct ExpirePolicy)); +} + + +/* + * Get Policy EXpire + */ +void cmd_gpex(char *argbuf) { + struct ExpirePolicy exp; + struct floor *fl; + char which[128]; + + extract_token(which, argbuf, 0, '|', sizeof which); + if (!strcasecmp(which, strof(room))) { + memcpy(&exp, &CC->room.QRep, sizeof(struct ExpirePolicy)); + } + else if (!strcasecmp(which, strof(floorpolicy))) { + fl = CtdlGetCachedFloor(CC->room.QRfloor); + memcpy(&exp, &fl->f_ep, sizeof(struct ExpirePolicy)); + } + else if (!strcasecmp(which, strof(mailboxespolicy))) { + memcpy(&exp, &config.c_mbxep, sizeof(struct ExpirePolicy)); + } + else if (!strcasecmp(which, strof(sitepolicy))) { + memcpy(&exp, &config.c_ep, sizeof(struct ExpirePolicy)); + } + else { + cprintf("%d Invalid keyword \"%s\"\n", ERROR + ILLEGAL_VALUE, which); + return; + } + + cprintf("%d %d|%d\n", CIT_OK, exp.expire_mode, exp.expire_value); +} + + +/* + * Set Policy EXpire + */ +void cmd_spex(char *argbuf) { + struct ExpirePolicy exp; + struct floor flbuf; + char which[128]; + + memset(&exp, 0, sizeof(struct ExpirePolicy)); + extract_token(which, argbuf, 0, '|', sizeof which); + exp.expire_mode = extract_int(argbuf, 1); + exp.expire_value = extract_int(argbuf, 2); + + if ((exp.expire_mode < 0) || (exp.expire_mode > 3)) { + cprintf("%d Invalid policy.\n", ERROR + ILLEGAL_VALUE); + return; + } + + if (!strcasecmp(which, "room")) { + if (!is_room_aide()) { + cprintf("%d Higher access required.\n", + ERROR + HIGHER_ACCESS_REQUIRED); + return; + } + CtdlGetRoomLock(&CC->room, CC->room.QRname); + memcpy(&CC->room.QRep, &exp, sizeof(struct ExpirePolicy)); + CtdlPutRoomLock(&CC->room); + cprintf("%d Room expire policy has been updated.\n", CIT_OK); + return; + } + + if (CC->user.axlevel < AxAideU) { + cprintf("%d Higher access required.\n", + ERROR + HIGHER_ACCESS_REQUIRED); + return; + } + + if (!strcasecmp(which, strof(floorpolicy))) { + lgetfloor(&flbuf, CC->room.QRfloor); + memcpy(&flbuf.f_ep, &exp, sizeof(struct ExpirePolicy)); + lputfloor(&flbuf, CC->room.QRfloor); + cprintf("%d Floor expire policy has been updated.\n", CIT_OK); + return; + } + + else if (!strcasecmp(which, strof(mailboxespolicy))) { + memcpy(&config.c_mbxep, &exp, sizeof(struct ExpirePolicy)); + put_config(); + cprintf("%d Default expire policy for mailboxes set.\n", + CIT_OK); + return; + } + + else if (!strcasecmp(which, strof(sitepolicy))) { + if (exp.expire_mode == EXPIRE_NEXTLEVEL) { + cprintf("%d Invalid policy (no higher level)\n", + ERROR + ILLEGAL_VALUE); + return; + } + memcpy(&config.c_ep, &exp, sizeof(struct ExpirePolicy)); + put_config(); + cprintf("%d Site expire policy has been updated.\n", CIT_OK); + return; + } + + else { + cprintf("%d Invalid keyword \"%s\"\n", ERROR + ILLEGAL_VALUE, which); + return; + } + +} + diff --git a/citadel/modules/expire/policy.h b/citadel/modules/expire/policy.h new file mode 100644 index 000000000..65c8bda2f --- /dev/null +++ b/citadel/modules/expire/policy.h @@ -0,0 +1,4 @@ +/* $Id$ */ +void GetExpirePolicy(struct ExpirePolicy *epbuf, struct ctdlroom *qrbuf); +void cmd_gpex(char *argbuf); +void cmd_spex(char *argbuf); diff --git a/citadel/modules/expire/serv_expire.c b/citadel/modules/expire/serv_expire.c index 8e0cd0077..6bdf67068 100644 --- a/citadel/modules/expire/serv_expire.c +++ b/citadel/modules/expire/serv_expire.c @@ -1052,6 +1052,9 @@ CTDL_MODULE_INIT(expire) { /* CtdlRegisterProtoHook(cmd_fsck, "FSCK", "Check message ref counts"); */ CtdlRegisterProtoHook(cmd_tdap, "TDAP", "Manually initiate auto-purger"); + + CtdlRegisterProtoHook(cmd_gpex, "GPEX", "Autoconverted. TODO: document me."); + CtdlRegisterProtoHook(cmd_spex, "SPEX", "Autoconverted. TODO: document me."); } else CtdlThreadCreate("Auto Purger", CTDLTHREAD_BIGSTACK, purge_databases, NULL); diff --git a/citadel/modules/extnotify/extnotify_main.c b/citadel/modules/extnotify/extnotify_main.c index 2b2cdc648..1734d088d 100644 --- a/citadel/modules/extnotify/extnotify_main.c +++ b/citadel/modules/extnotify/extnotify_main.c @@ -58,7 +58,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_acl.c b/citadel/modules/imap/imap_acl.c index f8e706988..39d8d70e4 100644 --- a/citadel/modules/imap/imap_acl.c +++ b/citadel/modules/imap/imap_acl.c @@ -54,7 +54,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_fetch.c b/citadel/modules/imap/imap_fetch.c index ad175f204..0ee327cb8 100644 --- a/citadel/modules/imap/imap_fetch.c +++ b/citadel/modules/imap/imap_fetch.c @@ -55,7 +55,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_list.c b/citadel/modules/imap/imap_list.c index 75df6a696..2c342e94c 100644 --- a/citadel/modules/imap/imap_list.c +++ b/citadel/modules/imap/imap_list.c @@ -53,7 +53,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_metadata.c b/citadel/modules/imap/imap_metadata.c index b8a897967..09f8022af 100644 --- a/citadel/modules/imap/imap_metadata.c +++ b/citadel/modules/imap/imap_metadata.c @@ -56,7 +56,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_misc.c b/citadel/modules/imap/imap_misc.c index 47454b746..04300d8d8 100644 --- a/citadel/modules/imap/imap_misc.c +++ b/citadel/modules/imap/imap_misc.c @@ -52,7 +52,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_search.c b/citadel/modules/imap/imap_search.c index 4972e98e7..e14678e45 100644 --- a/citadel/modules/imap/imap_search.c +++ b/citadel/modules/imap/imap_search.c @@ -57,7 +57,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/imap_store.c b/citadel/modules/imap/imap_store.c index c12b6a942..845690df7 100644 --- a/citadel/modules/imap/imap_store.c +++ b/citadel/modules/imap/imap_store.c @@ -54,7 +54,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/imap/serv_imap.c b/citadel/modules/imap/serv_imap.c index 461cb1737..fd1050538 100644 --- a/citadel/modules/imap/serv_imap.c +++ b/citadel/modules/imap/serv_imap.c @@ -56,7 +56,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/inetcfg/serv_inetcfg.c b/citadel/modules/inetcfg/serv_inetcfg.c index cfd72d64f..051aae3bc 100644 --- a/citadel/modules/inetcfg/serv_inetcfg.c +++ b/citadel/modules/inetcfg/serv_inetcfg.c @@ -54,7 +54,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/listsub/serv_listsub.c b/citadel/modules/listsub/serv_listsub.c index 6823260cd..2e1355f55 100644 --- a/citadel/modules/listsub/serv_listsub.c +++ b/citadel/modules/listsub/serv_listsub.c @@ -53,7 +53,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/managesieve/serv_managesieve.c b/citadel/modules/managesieve/serv_managesieve.c index da56429ce..5c0e02030 100644 --- a/citadel/modules/managesieve/serv_managesieve.c +++ b/citadel/modules/managesieve/serv_managesieve.c @@ -62,7 +62,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/mrtg/serv_mrtg.c b/citadel/modules/mrtg/serv_mrtg.c index 2ee6f4b23..06c1f92cb 100644 --- a/citadel/modules/mrtg/serv_mrtg.c +++ b/citadel/modules/mrtg/serv_mrtg.c @@ -56,7 +56,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" diff --git a/citadel/modules/netfilter/serv_netfilter.c b/citadel/modules/netfilter/serv_netfilter.c index 19e8f845f..a32a0e06c 100644 --- a/citadel/modules/netfilter/serv_netfilter.c +++ b/citadel/modules/netfilter/serv_netfilter.c @@ -52,7 +52,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "serv_network.h" /* Needed for defenition of FilterList */ diff --git a/citadel/modules/network/serv_network.c b/citadel/modules/network/serv_network.c index 71f895c48..84b4a5134 100644 --- a/citadel/modules/network/serv_network.c +++ b/citadel/modules/network/serv_network.c @@ -68,7 +68,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/newuser/serv_newuser.c b/citadel/modules/newuser/serv_newuser.c index 431d433df..71f89ad63 100644 --- a/citadel/modules/newuser/serv_newuser.c +++ b/citadel/modules/newuser/serv_newuser.c @@ -60,7 +60,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" diff --git a/citadel/modules/notes/serv_notes.c b/citadel/modules/notes/serv_notes.c index 9da02a0db..436559a58 100644 --- a/citadel/modules/notes/serv_notes.c +++ b/citadel/modules/notes/serv_notes.c @@ -51,7 +51,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" diff --git a/citadel/modules/pop3/serv_pop3.c b/citadel/modules/pop3/serv_pop3.c index 5d8ef5ad7..107e0366d 100644 --- a/citadel/modules/pop3/serv_pop3.c +++ b/citadel/modules/pop3/serv_pop3.c @@ -62,7 +62,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/rwho/serv_rwho.c b/citadel/modules/rwho/serv_rwho.c index 6c2c9dc73..225f00376 100644 --- a/citadel/modules/rwho/serv_rwho.c +++ b/citadel/modules/rwho/serv_rwho.c @@ -53,7 +53,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" diff --git a/citadel/modules/sieve/serv_sieve.c b/citadel/modules/sieve/serv_sieve.c index 8e4d75b7d..f8c6e8c35 100644 --- a/citadel/modules/sieve/serv_sieve.c +++ b/citadel/modules/sieve/serv_sieve.c @@ -51,7 +51,6 @@ #include "citserver.h" #include "support.h" #include "config.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/smtp/serv_smtp.c b/citadel/modules/smtp/serv_smtp.c index 5e5707d2f..cfb9b28d7 100644 --- a/citadel/modules/smtp/serv_smtp.c +++ b/citadel/modules/smtp/serv_smtp.c @@ -76,7 +76,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/spam/serv_spam.c b/citadel/modules/spam/serv_spam.c index 5359a1a4b..235b0caa3 100644 --- a/citadel/modules/spam/serv_spam.c +++ b/citadel/modules/spam/serv_spam.c @@ -58,7 +58,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/vcard/serv_vcard.c b/citadel/modules/vcard/serv_vcard.c index 5133fce54..fdd41ef64 100644 --- a/citadel/modules/vcard/serv_vcard.c +++ b/citadel/modules/vcard/serv_vcard.c @@ -69,7 +69,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/modules/wiki/serv_wiki.c b/citadel/modules/wiki/serv_wiki.c index ac65bb1db..1011546cf 100644 --- a/citadel/modules/wiki/serv_wiki.c +++ b/citadel/modules/wiki/serv_wiki.c @@ -53,7 +53,6 @@ #include "config.h" #include "control.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "euidindex.h" diff --git a/citadel/modules/xmpp/serv_xmpp.c b/citadel/modules/xmpp/serv_xmpp.c index 0daf9ac02..977b6dea4 100644 --- a/citadel/modules/xmpp/serv_xmpp.c +++ b/citadel/modules/xmpp/serv_xmpp.c @@ -52,7 +52,6 @@ #include "support.h" #include "config.h" #include "user_ops.h" -#include "policy.h" #include "database.h" #include "msgbase.h" #include "internet_addressing.h" diff --git a/citadel/policy.c b/citadel/policy.c deleted file mode 100644 index c85383cb8..000000000 --- a/citadel/policy.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * $Id$ - * - * Functions which manage policy for rooms (such as message expiry) - */ - -#include "sysdep.h" -#include -#include -#include -#include -#include - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#include -#include -#include "citadel.h" -#include "server.h" -#include "database.h" -#include "config.h" -#include "room_ops.h" -#include "sysdep_decls.h" -#include "support.h" -#include "user_ops.h" -#include "msgbase.h" -#include "citserver.h" - -#include "ctdl_module.h" - -/* - * Retrieve the applicable expire policy for a specific room - */ -void GetExpirePolicy(struct ExpirePolicy *epbuf, struct ctdlroom *qrbuf) { - struct floor *fl; - - /* If the room has its own policy, return it */ - if (qrbuf->QRep.expire_mode != 0) { - memcpy(epbuf, &qrbuf->QRep, sizeof(struct ExpirePolicy)); - return; - } - - /* (non-mailbox rooms) - * If the floor has its own policy, return it - */ - if ( (qrbuf->QRflags & QR_MAILBOX) == 0) { - fl = CtdlGetCachedFloor(qrbuf->QRfloor); - if (fl->f_ep.expire_mode != 0) { - memcpy(epbuf, &fl->f_ep, sizeof(struct ExpirePolicy)); - return; - } - } - - /* (Mailbox rooms) - * If there is a default policy for mailbox rooms, return it - */ - if (qrbuf->QRflags & QR_MAILBOX) { - if (config.c_mbxep.expire_mode != 0) { - memcpy(epbuf, &config.c_mbxep, - sizeof(struct ExpirePolicy)); - return; - } - } - - /* Otherwise, fall back on the system default */ - memcpy(epbuf, &config.c_ep, sizeof(struct ExpirePolicy)); -} - - -/* - * Get Policy EXpire - */ -void cmd_gpex(char *argbuf) { - struct ExpirePolicy exp; - struct floor *fl; - char which[128]; - - extract_token(which, argbuf, 0, '|', sizeof which); - if (!strcasecmp(which, strof(room))) { - memcpy(&exp, &CC->room.QRep, sizeof(struct ExpirePolicy)); - } - else if (!strcasecmp(which, strof(floorpolicy))) { - fl = CtdlGetCachedFloor(CC->room.QRfloor); - memcpy(&exp, &fl->f_ep, sizeof(struct ExpirePolicy)); - } - else if (!strcasecmp(which, strof(mailboxespolicy))) { - memcpy(&exp, &config.c_mbxep, sizeof(struct ExpirePolicy)); - } - else if (!strcasecmp(which, strof(sitepolicy))) { - memcpy(&exp, &config.c_ep, sizeof(struct ExpirePolicy)); - } - else { - cprintf("%d Invalid keyword \"%s\"\n", ERROR + ILLEGAL_VALUE, which); - return; - } - - cprintf("%d %d|%d\n", CIT_OK, exp.expire_mode, exp.expire_value); -} - - -/* - * Set Policy EXpire - */ -void cmd_spex(char *argbuf) { - struct ExpirePolicy exp; - struct floor flbuf; - char which[128]; - - memset(&exp, 0, sizeof(struct ExpirePolicy)); - extract_token(which, argbuf, 0, '|', sizeof which); - exp.expire_mode = extract_int(argbuf, 1); - exp.expire_value = extract_int(argbuf, 2); - - if ((exp.expire_mode < 0) || (exp.expire_mode > 3)) { - cprintf("%d Invalid policy.\n", ERROR + ILLEGAL_VALUE); - return; - } - - if (!strcasecmp(which, "room")) { - if (!is_room_aide()) { - cprintf("%d Higher access required.\n", - ERROR + HIGHER_ACCESS_REQUIRED); - return; - } - CtdlGetRoomLock(&CC->room, CC->room.QRname); - memcpy(&CC->room.QRep, &exp, sizeof(struct ExpirePolicy)); - CtdlPutRoomLock(&CC->room); - cprintf("%d Room expire policy has been updated.\n", CIT_OK); - return; - } - - if (CC->user.axlevel < AxAideU) { - cprintf("%d Higher access required.\n", - ERROR + HIGHER_ACCESS_REQUIRED); - return; - } - - if (!strcasecmp(which, strof(floorpolicy))) { - lgetfloor(&flbuf, CC->room.QRfloor); - memcpy(&flbuf.f_ep, &exp, sizeof(struct ExpirePolicy)); - lputfloor(&flbuf, CC->room.QRfloor); - cprintf("%d Floor expire policy has been updated.\n", CIT_OK); - return; - } - - else if (!strcasecmp(which, strof(mailboxespolicy))) { - memcpy(&config.c_mbxep, &exp, sizeof(struct ExpirePolicy)); - put_config(); - cprintf("%d Default expire policy for mailboxes set.\n", - CIT_OK); - return; - } - - else if (!strcasecmp(which, strof(sitepolicy))) { - if (exp.expire_mode == EXPIRE_NEXTLEVEL) { - cprintf("%d Invalid policy (no higher level)\n", - ERROR + ILLEGAL_VALUE); - return; - } - memcpy(&config.c_ep, &exp, sizeof(struct ExpirePolicy)); - put_config(); - cprintf("%d Site expire policy has been updated.\n", CIT_OK); - return; - } - - else { - cprintf("%d Invalid keyword \"%s\"\n", ERROR + ILLEGAL_VALUE, which); - return; - } - -} - -/*****************************************************************************/ -/* MODULE INITIALIZATION STUFF */ -/*****************************************************************************/ - -CTDL_MODULE_INIT(policy) -{ - if (!threading) { - CtdlRegisterProtoHook(cmd_gpex, "GPEX", "Autoconverted. TODO: document me."); - CtdlRegisterProtoHook(cmd_spex, "SPEX", "Autoconverted. TODO: document me."); - } - /* return our Subversion id for the Log */ - return "$Id$"; -} diff --git a/citadel/policy.h b/citadel/policy.h deleted file mode 100644 index 65c8bda2f..000000000 --- a/citadel/policy.h +++ /dev/null @@ -1,4 +0,0 @@ -/* $Id$ */ -void GetExpirePolicy(struct ExpirePolicy *epbuf, struct ctdlroom *qrbuf); -void cmd_gpex(char *argbuf); -void cmd_spex(char *argbuf); diff --git a/citadel/scripts/mk_module_init.sh b/citadel/scripts/mk_module_init.sh index 9ea76c8fd..2d0dc3c03 100755 --- a/citadel/scripts/mk_module_init.sh +++ b/citadel/scripts/mk_module_init.sh @@ -127,7 +127,6 @@ void initialise_modules (int threading) CtdlLogPrintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL(euidindex)); CtdlLogPrintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL(file_ops)); CtdlLogPrintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL(msgbase)); - CtdlLogPrintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL(policy)); CtdlLogPrintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL(room_ops)); CtdlLogPrintf (CTDL_INFO, "%s\n", CTDL_INIT_CALL(user_ops)); /* dynamic modules: */ @@ -155,7 +154,6 @@ void upgrade_modules(void); CTDL_MODULE_INIT(euidindex); CTDL_MODULE_INIT(file_ops); CTDL_MODULE_INIT(msgbase); - CTDL_MODULE_INIT(policy); CTDL_MODULE_INIT(room_ops); CTDL_MODULE_INIT(user_ops); EOF