~ubuntu-branches/ubuntu/trusty/dovecot/trusty-updates

« back to all changes in this revision

Viewing changes to debian/patches/chgrp-error.patch

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-01-08 09:35:49 UTC
  • mfrom: (1.15.3) (96.1.1 trusty-proposed)
  • Revision ID: package-import@ubuntu.com-20140108093549-814nkqdcxfbvgktg
Tags: 1:2.2.9-1ubuntu1
* Merge from Debian unstable, remaining changes:
  + Add mail-stack-delivery package:
    - Update d/rules
    - d/control: convert existing dovecot-postfix package to a dummy
      package and add new mail-stack-delivery package.
    - Update maintainer scripts.
    - Rename d/dovecot-postfix.* to debian/mail-stack-delivery.*
    - d/mail-stack-delivery.preinst: Move previously installed backups and
      config files to a new package namespace.
    - d/mail-stack-delivery.prerm: Added to handle downgrades.
  + Use Snakeoil SSL certificates by default:
    - d/control: Depend on ssl-cert.
    - d/dovecot-core.postinst: Relax grep for SSL_* a bit.
  + Add autopkgtest to debian/tests/*.
  + Add ufw integration:
    - d/dovecot-core.ufw.profile: new ufw profile.
    - d/rules: install profile in dovecot-core.
    - d/control: dovecot-core - suggest ufw.
  + d/dovecot-core.dirs: Added usr/share/doc/dovecot-core
  + Add apport hook:
    - d/rules, d/source_dovecot.py
  + Add upstart job:
    - d/rules, d/dovecot-core.dovecot.upstart, d/control,
      d/dovecot-core.dirs, dovecot-imapd.{postrm, postinst, prerm},
      d/dovecot-pop3d.{postinst, postrm, prerm}.
      d/mail-stack-deliver.postinst: Convert init script to upstart.
  + Use the autotools-dev dh addon to update config.guess/config.sub for
    arm64.
* Dropped changes, included in Debian:
  - Update Dovecot name to reflect distribution in login greeting.
  - Update Drac plugin for >= 2.0.0 support.
* d/control: Drop dovecot-postfix package as its no longer required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
From: Jaldhar H. Vyas <jaldhar@debian.org>
2
 
Date: Tue, 02 Oct 2012 22:49:18 -0400
3
 
Subject: Backport of fix for failure to autocreate mailboxes
4
 
Description: Allows creation of index directory even when it can't be chgrp'ed
5
 
 which in turn permits mailboxes to be autocreated.  See also:
6
 
 default-mail_location.patch which is also needed to fix bug #623440
7
 
 .
8
 
 This patch is an amalgamation of the following HG changesets:
9
 
 .
10
 
 HG changeset patch
11
 
 # User Timo Sirainen <tss@iki.fi>
12
 
 # Date 1349209450 -10800
13
 
 # Node ID 3ce50c0bb782e0989e807f32831d6823f6be64cf
14
 
 # Parent  e29b627219b3b5d51aecdfbbecd75bb6332bb105
15
 
 lib-storage: When index mkdir() fails with EPERM, create the dir anyway with 0700 mode.
16
 
 This avoids failing entirely when /var/mail/user has 0660 permissions and we
17
 
 don't have access to the group. The error message is still logged.
18
 
Bug: #623440
19
 
Origin: http://hg.dovecot.org/dovecot-2.1
20
 
---
21
 
 src/lib-storage/mailbox-list.c |    9 ++++++++-
22
 
 1 file changed, 8 insertions(+), 1 deletion(-)
23
 
 
24
 
diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c
25
 
index c65e70b..9bab19e 100644
26
 
--- a/src/lib-storage/mailbox-list.c
27
 
+++ b/src/lib-storage/mailbox-list.c
28
 
@@ -1406,7 +1406,14 @@ int mailbox_list_create_missing_index_dir(struct mailbox_list *list,
29
 
                if (errno != ENOENT || p == NULL || ++n == 2) {
30
 
                        mailbox_list_set_critical(list,
31
 
                                "mkdir(%s) failed: %m", index_dir);
32
 
-                       return -1;
33
 
+                       if (p == NULL || errno != EPERM ||
34
 
+                           perm.dir_create_mode == 0700)
35
 
+                               return -1;
36
 
+                       /* we can't use the GID. allow it anyway with more
37
 
+                          restricted permissions. */
38
 
+                       perm.file_create_gid = (gid_t)-1;
39
 
+                       perm.dir_create_mode = 0700;
40
 
+                       continue;
41
 
                }
42
 
                /* create the parent directory first */
43
 
                parent_dir = t_strdup_until(index_dir, p);