Date: Friday, June 29, 2018 @ 17:41:37
  Author: foxxx0
Revision: 347766

upgpkg: dovecot 2.3.2-1

update to 2.3.2

Deleted:
  dovecot/trunk/dovecot-0004-fix-replication-hang-ioloop.patch
  dovecot/trunk/dovecot-0005-fix-mail_user_home_mkdir.patch
  dovecot/trunk/dovecot-0006-fix-segfault-when-overquota.patch
  dovecot/trunk/dovecot-0007-lda-allow-empty-envelope-sender.patch

----------------------------------------------------+
 dovecot-0004-fix-replication-hang-ioloop.patch     |   26 ---
 dovecot-0005-fix-mail_user_home_mkdir.patch        |  132 -------------------
 dovecot-0006-fix-segfault-when-overquota.patch     |   25 ---
 dovecot-0007-lda-allow-empty-envelope-sender.patch |   15 --
 4 files changed, 198 deletions(-)

Deleted: dovecot-0004-fix-replication-hang-ioloop.patch
===================================================================
--- dovecot-0004-fix-replication-hang-ioloop.patch      2018-06-29 17:41:07 UTC 
(rev 347765)
+++ dovecot-0004-fix-replication-hang-ioloop.patch      2018-06-29 17:41:37 UTC 
(rev 347766)
@@ -1,26 +0,0 @@
-From a952e178943a5944255cb7c053d970f8e6d49336 Mon Sep 17 00:00:00 2001
-From: Timo Sirainen <timo.sirai...@dovecot.fi>
-Date: Tue, 5 Jun 2018 20:23:52 +0300
-Subject: [PATCH] doveadm-server: Fix hang when sending a lot of output to
- clients
-
-Nowadays ostream adds its io to the stream's specified ioloop, not to
-current ioloop.
----
- src/doveadm/client-connection-tcp.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/doveadm/client-connection-tcp.c 
b/src/doveadm/client-connection-tcp.c
-index a2e1358d7f..672017495d 100644
---- a/src/doveadm/client-connection-tcp.c
-+++ b/src/doveadm/client-connection-tcp.c
-@@ -336,6 +336,9 @@ static int doveadm_cmd_handle(struct client_connection_tcp 
*conn,
-          running one and we can't call the original one recursively, so
-          create a new ioloop. */
-       conn->ioloop = io_loop_create();
-+      o_stream_switch_ioloop(conn->output);
-+      if (conn->log_out != NULL)
-+              o_stream_switch_ioloop(conn->log_out);
- 
-       if (cmd_ver2 != NULL)
-               doveadm_cmd_server_run_ver2(conn, argc, argv, cctx);

Deleted: dovecot-0005-fix-mail_user_home_mkdir.patch
===================================================================
--- dovecot-0005-fix-mail_user_home_mkdir.patch 2018-06-29 17:41:07 UTC (rev 
347765)
+++ dovecot-0005-fix-mail_user_home_mkdir.patch 2018-06-29 17:41:37 UTC (rev 
347766)
@@ -1,132 +0,0 @@
-From 59cd19919bf444e5c3fa429314408aacc8dd4eb8 Mon Sep 17 00:00:00 2001
-From: Timo Sirainen <timo.sirai...@dovecot.fi>
-Date: Tue, 24 Apr 2018 18:47:28 +0300
-Subject: [PATCH 1/2] lib-storage: Add mail_user_home_mkdir()
-
----
- src/lib-storage/mail-user.c | 61 +++++++++++++++++++++++++++++++++++++++++++++
- src/lib-storage/mail-user.h |  5 ++++
- 2 files changed, 66 insertions(+)
-
-diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c
-index 947e26cee4..a15ed353ff 100644
---- a/src/lib-storage/mail-user.c
-+++ b/src/lib-storage/mail-user.c
-@@ -8,6 +8,7 @@
- #include "module-dir.h"
- #include "home-expand.h"
- #include "file-create-locked.h"
-+#include "mkdir-parents.h"
- #include "safe-mkstemp.h"
- #include "str.h"
- #include "strescape.h"
-@@ -716,6 +717,66 @@ void mail_user_stats_fill(struct mail_user *user, struct 
stats *stats)
-       user->v.stats_fill(user, stats);
- }
- 
-+static int
-+mail_user_home_mkdir_try_ns(struct mail_namespace *ns, const char *home)
-+{
-+      const enum mailbox_list_path_type types[] = {
-+              MAILBOX_LIST_PATH_TYPE_DIR,
-+              MAILBOX_LIST_PATH_TYPE_ALT_DIR,
-+              MAILBOX_LIST_PATH_TYPE_CONTROL,
-+              MAILBOX_LIST_PATH_TYPE_INDEX,
-+              MAILBOX_LIST_PATH_TYPE_INDEX_PRIVATE,
-+              MAILBOX_LIST_PATH_TYPE_INDEX_CACHE,
-+              MAILBOX_LIST_PATH_TYPE_LIST_INDEX,
-+      };
-+      size_t home_len = strlen(home);
-+      const char *path;
-+
-+      for (unsigned int i = 0; i < N_ELEMENTS(types); i++) {
-+              if (!mailbox_list_get_root_path(ns->list, types[i], &path))
-+                      continue;
-+              if (strncmp(path, home, home_len) == 0 &&
-+                  (path[home_len] == '\0' || path[home_len] == '/')) {
-+                      return mailbox_list_mkdir_root(ns->list, path,
-+                                                     types[i]) < 0 ? -1 : 1;
-+              }
-+      }
-+      return 0;
-+}
-+
-+int mail_user_home_mkdir(struct mail_user *user)
-+{
-+      struct mail_namespace *ns;
-+      const char *home;
-+      int ret;
-+
-+      if (mail_user_get_home(user, &home) < 0)
-+              return -1;
-+
-+      /* Try to create the home directory by creating the root directory for
-+         a namespace that exists under the home. This way we end up in the
-+         special mkdir() code in mailbox_list_try_mkdir_root_parent().
-+         Start from INBOX, since that's usually the correct place. */
-+      ns = mail_namespace_find_inbox(user->namespaces);
-+      if ((ret = mail_user_home_mkdir_try_ns(ns, home)) != 0)
-+              return ret < 0 ? -1 : 0;
-+      /* try other namespaces */
-+      for (ns = user->namespaces; ns != NULL; ns = ns->next) {
-+              if ((ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0) {
-+                      /* already tried the INBOX namespace */
-+                      continue;
-+              }
-+              if ((ret = mail_user_home_mkdir_try_ns(ns, home)) != 0)
-+                      return ret < 0 ? -1 : 0;
-+      }
-+      /* fallback to a safe mkdir() with 0700 mode */
-+      if (mkdir_parents(home, 0700) < 0 && errno != EEXIST) {
-+              i_error("mkdir_parents(%s) failed: %m", home);
-+              return -1;
-+      }
-+      return 0;
-+}
-+
- static const struct var_expand_func_table 
mail_user_var_expand_func_table_arr[] = {
-       { "userdb", mail_user_var_expand_func_userdb },
-       { NULL, NULL }
-diff --git a/src/lib-storage/mail-user.h b/src/lib-storage/mail-user.h
-index b97514df75..1627e34fe1 100644
---- a/src/lib-storage/mail-user.h
-+++ b/src/lib-storage/mail-user.h
-@@ -210,4 +210,9 @@ void mail_user_init_fs_settings(struct mail_user *user,
-    plugin must be loaded to have anything filled. */
- void mail_user_stats_fill(struct mail_user *user, struct stats *stats);
- 
-+/* Try to mkdir() user's home directory. Ideally this should be called only
-+   after the caller tries to create a file to the home directory, but it fails
-+   with ENOENT. This way it avoids unnecessary disk IO to the home. */
-+int mail_user_home_mkdir(struct mail_user *user);
-+
- #endif
-
-From 8077d714e11388a294f1583e706152396972acce Mon Sep 17 00:00:00 2001
-From: Timo Sirainen <timo.sirai...@dovecot.fi>
-Date: Tue, 24 Apr 2018 18:50:38 +0300
-Subject: [PATCH 2/2] dsync: If lock file can't be created because home is
- missing, mkdir the home
-
----
- src/doveadm/dsync/dsync-brain.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/doveadm/dsync/dsync-brain.c b/src/doveadm/dsync/dsync-brain.c
-index c2b8169f1a..6bc013ff53 100644
---- a/src/doveadm/dsync/dsync-brain.c
-+++ b/src/doveadm/dsync/dsync-brain.c
-@@ -441,6 +441,13 @@ dsync_brain_lock(struct dsync_brain *brain, const char 
*remote_hostname)
-                                      "/"DSYNC_LOCK_FILENAME, NULL);
-       brain->lock_fd = file_create_locked(brain->lock_path, &lock_set,
-                                           &brain->lock, &created, &error);
-+      if (brain->lock_fd == -1 && errno == ENOENT) {
-+              /* home directory not created */
-+              if (mail_user_home_mkdir(brain->user) < 0)
-+                      return -1;
-+              brain->lock_fd = file_create_locked(brain->lock_path, &lock_set,
-+                      &brain->lock, &created, &error);
-+      }
-       if (brain->lock_fd == -1)
-               i_error("Couldn't lock %s: %s", brain->lock_path, error);
-       else if (brain->debug) {

Deleted: dovecot-0006-fix-segfault-when-overquota.patch
===================================================================
--- dovecot-0006-fix-segfault-when-overquota.patch      2018-06-29 17:41:07 UTC 
(rev 347765)
+++ dovecot-0006-fix-segfault-when-overquota.patch      2018-06-29 17:41:37 UTC 
(rev 347766)
@@ -1,25 +0,0 @@
-From 847790d5aab84df38256a6f9b4849af0eb408419 Mon Sep 17 00:00:00 2001
-From: Stephan Bosch <stephan.bo...@dovecot.fi>
-Date: Mon, 14 May 2018 23:56:21 +0200
-Subject: [PATCH] lmtp: Fix segfault occurring when a user turns out to be over
- quota at DATA transfer.
-
-The LMTP recipient context was not updated with the final recipient address 
when
-the RCPT command was accepted. This left a dangling struct smtp_address pointer
-which triggered the segfault when used.
----
- src/lmtp/lmtp-common.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/lmtp/lmtp-common.c b/src/lmtp/lmtp-common.c
-index b3f13dec41..39ed6c1b4f 100644
---- a/src/lmtp/lmtp-common.c
-+++ b/src/lmtp/lmtp-common.c
-@@ -22,6 +22,7 @@ void lmtp_recipient_finish(struct lmtp_recipient *rcpt,
- {
-       trcpt->context = rcpt;
- 
-+      rcpt->path = trcpt->path;
-       rcpt->rcpt = trcpt;
-       rcpt->index = index;
-       rcpt->rcpt_cmd = NULL;

Deleted: dovecot-0007-lda-allow-empty-envelope-sender.patch
===================================================================
--- dovecot-0007-lda-allow-empty-envelope-sender.patch  2018-06-29 17:41:07 UTC 
(rev 347765)
+++ dovecot-0007-lda-allow-empty-envelope-sender.patch  2018-06-29 17:41:37 UTC 
(rev 347766)
@@ -1,15 +0,0 @@
-diff --git a/src/lda/main.c b/src/lda/main.c
-index bab20e88ad..1d7c8473d2 100644
---- a/src/lda/main.c
-+++ b/src/lda/main.c
-@@ -332,7 +332,9 @@ int main(int argc, char *argv[])
-               case 'f':
-                       /* envelope sender address */
-                       if (smtp_address_parse_path(ctx.pool, optarg,
--                          SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL,
-+                          SMTP_ADDRESS_PARSE_FLAG_BRACKETS_OPTIONAL |
-+                          SMTP_ADDRESS_PARSE_FLAG_ALLOW_LOCALPART |
-+                              SMTP_ADDRESS_PARSE_FLAG_ALLOW_EMPTY,
-                           &mail_from, &errstr) < 0) {
-                               i_fatal_status(EX_USAGE,
-                                       "Invalid -f parameter: %s", errstr);

Reply via email to