Merge branch 'debian' into hcoop_489
authorClinton Ebadi <clinton@unknownlamer.org>
Fri, 23 Mar 2018 03:25:15 +0000 (23:25 -0400)
committerClinton Ebadi <clinton@unknownlamer.org>
Fri, 23 Mar 2018 03:25:15 +0000 (23:25 -0400)
debian/changelog
debian/patches/50-relax-appendfile-chown-openafs.patch [new file with mode: 0644]
debian/patches/series

index 5b9849b..25a7022 100644 (file)
@@ -720,6 +720,30 @@ exim4 (4.85~RC1+dfsg-1) experimental; urgency=medium
 
  -- Andreas Metzler <ametzler@debian.org>  Tue, 18 Nov 2014 19:28:20 +0100
 
+exim4 (4.84-8+hcoop4) unstable; urgency=medium
+
+  * Missed another chown that needs skipping
+
+ -- Clinton Ebadi <clinton@unknownlamer.org>  Thu, 14 May 2015 01:35:09 -0400
+
+exim4 (4.84-8+hcoop3) unstable; urgency=medium
+
+  * Patch the right thing.
+
+ -- Clinton Ebadi <clinton@unknownlamer.org>  Thu, 14 May 2015 00:34:14 -0400
+
+exim4 (4.84-8+hcoop2) unstable; urgency=medium
+
+  * Change message in chown failure for sanity check
+
+ -- Clinton Ebadi <clinton@unknownlamer.org>  Wed, 13 May 2015 23:47:18 -0400
+
+exim4 (4.84-8+hcoop1) unstable; urgency=medium
+
+  * Relax chown requirement for delivery into afs
+
+ -- Clinton Ebadi <clinton@unknownlamer.org>  Wed, 13 May 2015 23:26:54 -0400
+
 exim4 (4.84-8) unstable; urgency=medium
 
   * Pull 83_Remove-limit-on-remove_headers-item-size.-Bug-1533.patch and
diff --git a/debian/patches/50-relax-appendfile-chown-openafs.patch b/debian/patches/50-relax-appendfile-chown-openafs.patch
new file mode 100644 (file)
index 0000000..951a93d
--- /dev/null
@@ -0,0 +1,61 @@
+--- a/src/transports/appendfile.c
++++ b/src/transports/appendfile.c
+@@ -2580,13 +2580,24 @@
+     /* Why are these here? Put in because they are present in the non-maildir
+     directory case above. */
+-    if(Uchown(filename, uid, gid) || Uchmod(filename, mode))
+-      {
+-      addr->basic_errno = errno;
+-      addr->message = string_sprintf("while setting perms on maildir %s",
+-        filename);
+-      return FALSE;
+-      }
++    /* Ignore failed chown if check_owner is disabled. */
++      if(Uchown(filename, uid, gid) && ob->check_owner)
++        {
++        addr->basic_errno = errno;
++        addr->message = string_sprintf("while setting owner on maildir %s",
++          filename);
++        addr->transport_return = FAIL;
++        goto RETURN;
++        }
++
++      if(Uchmod(filename, mode))
++      {
++        addr->basic_errno = errno;
++        addr->message = string_sprintf("while setting chmod on maildir %s",
++          filename);
++        addr->transport_return = FAIL;
++        goto RETURN;
++      }
+     }
+   #endif  /* SUPPORT_MAILDIR */
+@@ -2739,12 +2750,21 @@
+   /* In all cases of writing to a new file, ensure that the file which is
+   going to be renamed has the correct ownership and mode. */
+-  if(Uchown(filename, uid, gid) || Uchmod(filename, mode))
++  /* Ignore failed chown if check_owner is disabled. */
++  if(Uchown(filename, uid, gid) && ob->check_owner)
+     {
+-    addr->basic_errno = errno;
+-    addr->message = string_sprintf("while setting perms on file %s",
+-      filename);
+-    return FALSE;
++      addr->basic_errno = errno;
++      addr->message = string_sprintf("while setting owner on file before write %s",
++                                   filename);
++      return FALSE;
++    }
++  
++  if(Uchmod(filename, mode))
++    {
++      addr->basic_errno = errno;
++      addr->message = string_sprintf("while setting chmod on file before write %s",
++                                   filename);
++      return FALSE;
+     }
+   }
index 05646f2..3e0491e 100644 (file)
@@ -5,6 +5,7 @@
 35_install.dpatch
 40_reproducible_build.diff
 50_localscan_dlopen.dpatch
+50-relax-appendfile-chown-openafs.patch
 60_convert4r4.dpatch
 67_unnecessaryCopt.diff
 70_remove_exim-users_references.dpatch