Page MenuHomeFreeBSD

D9818.diff
No OneTemporary

D9818.diff

Index: Makefile
===================================================================
--- Makefile
+++ Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= dovecot-pigeonhole
-PORTVERSION= 0.4.16
-PORTREVISION= 6
+PORTVERSION= 0.4.17
CATEGORIES= mail
MASTER_SITES= http://pigeonhole.dovecot.org/releases/${DOVECOTVERSION}/
DISTNAME= ${PORTNAME:C/-/-${DOVECOTVERSION}-/}-${PORTVERSION}
Index: distinfo
===================================================================
--- distinfo
+++ distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1477868590
-SHA256 (dovecot-2.2-pigeonhole-0.4.16.tar.gz) = 8f0b98f18062d6e241eef74ebe16cc167cd246361cbe6657d94f0ecc5d7d3234
-SIZE (dovecot-2.2-pigeonhole-0.4.16.tar.gz) = 1713634
+TIMESTAMP = 1488163544
+SHA256 (dovecot-2.2-pigeonhole-0.4.17.tar.gz) = 74d869c7532cbf4fe41e3cc95a1aa6ce32e98f4d423f0d099da1e0fba022dae3
+SIZE (dovecot-2.2-pigeonhole-0.4.17.tar.gz) = 1787177
Index: files/patch-src_lib-sieve_sieve-result.c
===================================================================
--- files/patch-src_lib-sieve_sieve-result.c
+++ files/patch-src_lib-sieve_sieve-result.c
@@ -1,87 +0,0 @@
---- src/lib-sieve/sieve-result.c.orig 2016-10-20 22:48:08 UTC
-+++ src/lib-sieve/sieve-result.c
-@@ -928,7 +928,7 @@ static int _sieve_result_implicit_keep
- (struct sieve_result *result, bool rollback)
- {
- const struct sieve_action_exec_env *aenv = &result->action_env;
-- struct sieve_result_action *rac;
-+ struct sieve_result_action *rac, *kac;
- int status = SIEVE_EXEC_OK;
- struct sieve_result_side_effect *rsef, *rsef_first = NULL;
- void *tr_context = NULL;
-@@ -937,38 +937,54 @@ static int _sieve_result_implicit_keep
- if ( (aenv->flags & SIEVE_EXECUTE_FLAG_DEFER_KEEP) != 0 )
- return SIEVE_EXEC_OK;
-
-- if ( rollback ) {
-+ if ( rollback )
- act_keep = result->failure_action;
-- act_keep.mail = NULL;
-- } else {
-+ else
- act_keep = result->keep_action;
-- act_keep.mail = sieve_message_get_mail(aenv->msgctx);
-- }
-+ act_keep.mail = NULL;
-
- /* If keep is a non-action, return right away */
- if ( act_keep.def == NULL )
- return SIEVE_EXEC_OK;
-
-- /* Scan for execution of keep-equal actions */
-- rac = result->first_action;
-- while ( rac != NULL ) {
-- if ( rac->action.def == act_keep.def && act_keep.def->equals != NULL &&
-- act_keep.def->equals(aenv->scriptenv, NULL, &rac->action) &&
-- rac->action.executed )
-- return SIEVE_EXEC_OK;
--
-- rac = rac->next;
-+ /* Scan for deferred keep */
-+ kac = result->last_action;
-+ while ( kac != NULL && kac->action.executed ) {
-+ if ( kac->keep && kac->action.def == NULL )
-+ break;
-+ kac = kac->prev;
- }
-
-- /* Apply any implicit side effects if applicable */
-- if ( !rollback && hash_table_is_created(result->action_contexts) ) {
-- struct sieve_result_action_context *actctx;
-+ if (kac == NULL) {
-+ if ( !rollback )
-+ act_keep.mail = sieve_message_get_mail(aenv->msgctx);
-
-- /* Check for implicit side effects to keep action */
-- actctx = hash_table_lookup(result->action_contexts, act_keep.def);
-+ /* Scan for execution of keep-equal actions */
-+ rac = result->first_action;
-+ while ( rac != NULL ) {
-+ if ( rac->action.def == act_keep.def && act_keep.def->equals != NULL &&
-+ act_keep.def->equals(aenv->scriptenv, NULL, &rac->action) &&
-+ rac->action.executed )
-+ return SIEVE_EXEC_OK;
-
-- if ( actctx != NULL && actctx->seffects != NULL )
-- rsef_first = actctx->seffects->first_effect;
-+ rac = rac->next;
-+ }
-+
-+ /* Apply any implicit side effects if applicable */
-+ if ( !rollback && hash_table_is_created(result->action_contexts) ) {
-+ struct sieve_result_action_context *actctx;
-+
-+ /* Check for implicit side effects to keep action */
-+ actctx = hash_table_lookup(result->action_contexts, act_keep.def);
-+
-+ if ( actctx != NULL && actctx->seffects != NULL )
-+ rsef_first = actctx->seffects->first_effect;
-+ }
-+ } else if ( !rollback ) {
-+ act_keep.location = kac->action.location;
-+ act_keep.mail = kac->action.mail;
-+ if ( kac->seffects != NULL )
-+ rsef_first = kac->seffects->first_effect;
- }
-
- /* Start keep action */
Index: files/patch-src_plugins_imapsieve_imap-sieve-storage.c
===================================================================
--- files/patch-src_plugins_imapsieve_imap-sieve-storage.c
+++ files/patch-src_plugins_imapsieve_imap-sieve-storage.c
@@ -1,12 +0,0 @@
---- src/plugins/imapsieve/imap-sieve-storage.c.orig 2016-11-08 02:19:04 UTC
-+++ src/plugins/imapsieve/imap-sieve-storage.c
-@@ -531,7 +531,8 @@ imap_sieve_mailbox_transaction_begin(str
- /* commence parent transaction */
- t = lbox->super.transaction_begin(box, flags);
-
-- if (isuser == NULL || isuser->sieve_active)
-+ if (isuser == NULL || isuser->sieve_active ||
-+ isuser->cur_cmd == IMAP_SIEVE_CMD_NONE)
- return t;
-
- i_assert(isuser->client != NULL);
Index: pkg-plist
===================================================================
--- pkg-plist
+++ pkg-plist
@@ -1,6 +1,7 @@
%%DOCSDIR%%/example-config/conf.d/20-managesieve.conf
%%DOCSDIR%%/example-config/conf.d/90-sieve-extprograms.conf
%%DOCSDIR%%/example-config/conf.d/90-sieve.conf
+%%DOCSDIR%%/example-config/sieve-ldap.conf
bin/sieve-dump
bin/sieve-filter
bin/sieve-test

File Metadata

Mime Type
text/plain
Expires
Mon, Jun 22, 10:06 PM (20 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34215488
Default Alt Text
D9818.diff (5 KB)

Event Timeline