Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/plugins/expire/expire-env.c @ 9490:fd84592e817b HEAD
dovecot-example.conf: Updated dict comments.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 23 Nov 2009 13:08:47 -0500 |
parents | bdd8cb7f341a |
children | 91c6b067f464 |
rev | line source |
---|---|
8590
b9faf4db2a9f
Updated copyright notices to include year 2009.
Timo Sirainen <tss@iki.fi>
parents:
7460
diff
changeset
|
1 /* Copyright (c) 2006-2009 Dovecot authors, see the included COPYING file */ |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
2 |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
3 #include "lib.h" |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
4 #include "array.h" |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
5 #include "imap-match.h" |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
6 #include "expire-env.h" |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
7 |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
8 #include <stdlib.h> |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
9 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
10 enum expire_type { |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
11 EXPIRE_TYPE_EXPUNGE, |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
12 EXPIRE_TYPE_ALTMOVE |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
13 }; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
14 |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
15 struct expire_box { |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
16 const char *pattern; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
17 struct imap_match_glob *glob; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
18 |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
19 enum expire_type type; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
20 unsigned int expire_secs; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
21 }; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
22 |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
23 struct expire_env { |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
24 pool_t pool; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
25 ARRAY_DEFINE(expire_boxes, struct expire_box); |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
26 }; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
27 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
28 static void expire_env_parse(struct expire_env *env, const char *str, |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
29 enum expire_type type) |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
30 { |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
31 struct expire_box box; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
32 char *const *names; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
33 unsigned int len; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
34 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
35 if (str == NULL) |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
36 return; |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
37 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
38 names = p_strsplit(env->pool, str, " "); |
6424
687efa138e77
Renamed strarray_length/remote() to str_array_length/remove()
Timo Sirainen <tss@iki.fi>
parents:
4596
diff
changeset
|
39 len = str_array_length((const char *const *)names); |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
40 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
41 p_array_init(&env->expire_boxes, env->pool, len / 2); |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
42 for (; *names != NULL; names += 2) { |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
43 if (names[1] == NULL) { |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
44 i_fatal("expire: Missing expire days for mailbox '%s'", |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
45 *names); |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
46 } |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
47 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
48 box.pattern = *names; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
49 /* FIXME: hardcoded separator isn't very good */ |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
50 box.glob = imap_match_init(env->pool, box.pattern, TRUE, '/'); |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
51 box.type = type; |
7336
c150eceb1f6e
Forgot to change expire time to be calculated as hours after debugging.
Timo Sirainen <tss@iki.fi>
parents:
7335
diff
changeset
|
52 box.expire_secs = strtoul(names[1], NULL, 10) * 3600 * 24; |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
53 |
9224
bdd8cb7f341a
expire: Log initial configuration if mail_debug=yes.
Timo Sirainen <tss@iki.fi>
parents:
8590
diff
changeset
|
54 if (getenv("DEBUG") != NULL) { |
bdd8cb7f341a
expire: Log initial configuration if mail_debug=yes.
Timo Sirainen <tss@iki.fi>
parents:
8590
diff
changeset
|
55 i_info("expire: pattern=%s type=%s secs=%u", |
bdd8cb7f341a
expire: Log initial configuration if mail_debug=yes.
Timo Sirainen <tss@iki.fi>
parents:
8590
diff
changeset
|
56 box.pattern, type == EXPIRE_TYPE_EXPUNGE ? |
bdd8cb7f341a
expire: Log initial configuration if mail_debug=yes.
Timo Sirainen <tss@iki.fi>
parents:
8590
diff
changeset
|
57 "expunge" : "altmove", box.expire_secs); |
bdd8cb7f341a
expire: Log initial configuration if mail_debug=yes.
Timo Sirainen <tss@iki.fi>
parents:
8590
diff
changeset
|
58 } |
bdd8cb7f341a
expire: Log initial configuration if mail_debug=yes.
Timo Sirainen <tss@iki.fi>
parents:
8590
diff
changeset
|
59 |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
60 array_append(&env->expire_boxes, &box, 1); |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
61 } |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
62 } |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
63 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
64 struct expire_env *expire_env_init(const char *expunges, const char *altmoves) |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
65 { |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
66 struct expire_env *env; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
67 pool_t pool; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
68 |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
69 pool = pool_alloconly_create("Expire pool", 512); |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
70 env = p_new(pool, struct expire_env, 1); |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
71 env->pool = pool; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
72 |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
73 expire_env_parse(env, expunges, EXPIRE_TYPE_EXPUNGE); |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
74 expire_env_parse(env, altmoves, EXPIRE_TYPE_ALTMOVE); |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
75 return env; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
76 } |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
77 |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
78 void expire_env_deinit(struct expire_env *env) |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
79 { |
6428
7cad076906eb
pool_unref() now takes ** pointer.
Timo Sirainen <tss@iki.fi>
parents:
6424
diff
changeset
|
80 pool_unref(&env->pool); |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
81 } |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
82 |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
83 bool expire_box_find(struct expire_env *env, const char *name, |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
84 unsigned int *expunge_secs_r, |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
85 unsigned int *altmove_secs_r) |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
86 { |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
87 const struct expire_box *expire_boxes; |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
88 unsigned int i, count; |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
89 unsigned int secs, expunge_min = 0, altmove_min = 0; |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
90 |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
91 expire_boxes = array_get(&env->expire_boxes, &count); |
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
92 for (i = 0; i < count; i++) { |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
93 if (imap_match(expire_boxes[i].glob, name) == IMAP_MATCH_YES) { |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
94 secs = expire_boxes[i].expire_secs; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
95 i_assert(secs > 0); |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
96 |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
97 switch (expire_boxes[i].type) { |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
98 case EXPIRE_TYPE_EXPUNGE: |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
99 if (expunge_min == 0 || expunge_min > secs) |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
100 expunge_min = secs; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
101 break; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
102 case EXPIRE_TYPE_ALTMOVE: |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
103 if (altmove_min == 0 || altmove_min > secs) |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
104 altmove_min = secs; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
105 break; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
106 } |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
107 } |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
108 } |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
109 *expunge_secs_r = expunge_min; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
110 *altmove_secs_r = altmove_min; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
111 return expunge_min > 0 || altmove_min > 0; |
4523
99699cf9df43
Initial import of expire plugin code. Seems to work with at least one user. :)
Timo Sirainen <timo.sirainen@movial.fi>
parents:
diff
changeset
|
112 } |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
113 |
7423
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
114 unsigned int expire_box_find_min_secs(struct expire_env *env, const char *name, |
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
115 bool *altmove_r) |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
116 { |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
117 unsigned int secs1, secs2; |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
118 |
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
119 (void)expire_box_find(env, name, &secs1, &secs2); |
7460
e1fe3d080314
Expire plugin wasn't working unless expire_altmove was also defined.
Timo Sirainen <tss@iki.fi>
parents:
7423
diff
changeset
|
120 if (secs1 != 0 && (secs1 < secs2 || secs2 == 0)) { |
7423
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
121 *altmove_r = FALSE; |
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
122 return secs1; |
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
123 } else { |
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
124 *altmove_r = TRUE; |
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
125 return secs2; |
bd54359bfb3a
If first message is expunged from expire_altmove mailbox, don't update dict.
Timo Sirainen <tss@iki.fi>
parents:
7336
diff
changeset
|
126 } |
7335
969656b58e7f
Added wildcard support to expire plugin. Added a new expire_altmove setting
Timo Sirainen <tss@iki.fi>
parents:
7086
diff
changeset
|
127 } |