/*
- * $Id$
- *
* This module glues libSieve to the Citadel server in order to implement
* the Sieve mailbox filtering language (RFC 3028).
*
#include "citserver.h"
#include "support.h"
#include "config.h"
-#include "policy.h"
#include "database.h"
#include "msgbase.h"
#include "internet_addressing.h"
}
sprintf(vacamsg_text,
- "Content-type: text/plain\n"
+ "Content-type: text/plain charset=utf-8\n"
"\n"
"%s\n"
"\n"
}
+void cleanup_sieve(void)
+{
+ struct RoomProcList *ptr, *ptr2;
+
+ if (msiv_extensions != NULL)
+ free(msiv_extensions);
+ msiv_extensions = NULL;
+
+ begin_critical_section(S_SIEVELIST);
+ ptr=sieve_list;
+ while (ptr != NULL) {
+ ptr2 = ptr->next;
+ free(ptr);
+ ptr = ptr2;
+ }
+ sieve_list = NULL;
+ end_critical_section(S_SIEVELIST);
+}
+
int serv_sieve_room(struct ctdlroom *room)
{
if (!strcasecmp(&room->QRname[11], MAILROOM)) {
CtdlRegisterProtoHook(cmd_msiv, "MSIV", "Manage Sieve scripts");
CtdlRegisterRoomHook(serv_sieve_room);
CtdlRegisterSessionHook(perform_sieve_processing, EVT_HOUSE);
+ CtdlRegisterCleanupHook(cleanup_sieve);
}
/* return our Subversion id for the Log */
- return "$Id$";
+ return "sieve";
}