Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
[citadel.git] / citadel / serv_sieve.h
index 944370bdfa202212ace522eca4e4e11db068f84e..2a203cda70975be8ddad3b5ba59e8251698fcc6d 100644 (file)
@@ -1,9 +1,4 @@
-/*
- * $Id: $
- */
-
 
-#ifdef HAVE_LIBSIEVE
 
 #include <sieve2.h>
 #include <sieve2_error.h>
@@ -17,9 +12,9 @@ struct sdm_script {
 
 struct sdm_vacation {
        struct sdm_vacation *next;
-       char hash[256];
+       char fromaddr[256];
        time_t timestamp;
-}
+};
 
 struct sdm_userdata {
        sieve2_context_t *sieve2_context;       /**< for libsieve's use */
@@ -42,17 +37,19 @@ struct ctdl_sieve {
        char recp_name[256];
        char sender[256];               /* To whom shall we send reject bounces or vacation messages? */
        char subject[1024];             /* Retain msg subject so we can use it in vacation messages */
+       char envelope_from[1024];
+       char envelope_to[1024];
 };
 
 
 /* If you change this string you will break all of your Sieve configs. */
 #define CTDLSIEVECONFIGSEPARATOR       "\n-=<CtdlSieveConfigSeparator>=-\n"
 
-/* Maximum time we keep vacation hash records online.  This implies that a vacation
- * rule cannot exceed this amount of time.  5184000 seconds == 60 days, which is
- * way too long for anyone to be on vacation.
+/* Maximum time we keep vacation fromaddr records online.  This implies that a vacation
+ * rule cannot exceed this amount of time.   (Any more than 30 days is a ridiculously
+ * long vacation which the person probably doesn't deserve.)
  */
-#define MAX_VACATION                   5184000
+#define MAX_VACATION   30
 
 extern struct RoomProcList *sieve_list;
 
@@ -60,11 +57,9 @@ void sieve_queue_room(struct ctdlroom *);
 void perform_sieve_processing(void);
 
 void msiv_load(struct sdm_userdata *u);
-void msiv_store(struct sdm_userdata *u);
+void msiv_store(struct sdm_userdata *u, int changes_made);
 int msiv_setactive(struct sdm_userdata *u, char *script_name);
 char *msiv_getscript(struct sdm_userdata *u, char *script_name);
 int msiv_deletescript(struct sdm_userdata *u, char *script_name);
 void msiv_putscript(struct sdm_userdata *u, char *script_name, char *script_content);
 extern char *msiv_extensions;
-
-#endif /* HAVE_LIBSIEVE */