Followup-For: Bug #699344
Control: retitle -1 unblock: sendmail/8.14.4-4

Hi,

sendmail gained a new maintainer and a patch for the remaining RC bug
(which got now uploaded to sid). Therefore I'm "upgrading" this to a
full unblock request. I'm attaching only the incremental debdiff from
8.14.4-3 to 8.14.4-4 as there is no overlap with the (bigger) diff of
the packaging cleanup from 8.14.4-2.1 to 8.14.4-3 which still applies.

Andreas
diffstat for sendmail_8.14.4-3 sendmail_8.14.4-4

 debian/patches/8.14/8.14.4/lock-mail-local.diff   |   88 ++++++++++++++++++++++
 sendmail-8.14.4/debian/build/debian/control.m4.in |    2 
 sendmail-8.14.4/debian/changelog                  |    8 ++
 sendmail-8.14.4/debian/control                    |    2 
 sendmail-8.14.4/debian/patches/8.14/8.14.4/series |    1 
 5 files changed, 99 insertions(+), 2 deletions(-)

diff -u sendmail-8.14.4/debian/control sendmail-8.14.4/debian/control
--- sendmail-8.14.4/debian/control
+++ sendmail-8.14.4/debian/control
@@ -1,7 +1,7 @@
 Source: sendmail
 Priority: extra
 Section:  mail
-Maintainer: Debian QA Group <packa...@qa.debian.org>
+Maintainer: Jakub Safarik <jsafa...@ymail.com>
 Standards-Version: 3.8.3
 Build-Depends-Indep: groff, bsdmainutils
 Build-Depends: make (>> 3.79.1-14), m4, cdbs, quilt, patchutils, dh-buildinfo, debhelper (>= 5), linux-libc-dev (>= 2.6.21-3) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], groff, bsdmainutils, libdb-dev , libldap2-dev, libwrap0-dev, liblockfile-dev, libsasl2-dev, libssl-dev
diff -u sendmail-8.14.4/debian/changelog sendmail-8.14.4/debian/changelog
--- sendmail-8.14.4/debian/changelog
+++ sendmail-8.14.4/debian/changelog
@@ -1,3 +1,11 @@
+sendmail (8.14.4-4) unstable; urgency=low
+
+  * New maintainer. (Closes: #699117)
+  * New patch: lock-mail-local (thanks to Tim Marston)
+    - fix order of fcntl and dotlock in mail.local. (Closes: #684645)
+
+ -- Jakub Safarik <jsafa...@ymail.com>  Wed, 06 Feb 2013 17:33:44 +0100
+
 sendmail (8.14.4-3) unstable; urgency=low
 
   * QA upload.
diff -u sendmail-8.14.4/debian/patches/8.14/8.14.4/series sendmail-8.14.4/debian/patches/8.14/8.14.4/series
--- sendmail-8.14.4/debian/patches/8.14/8.14.4/series
+++ sendmail-8.14.4/debian/patches/8.14/8.14.4/series
@@ -11,0 +12 @@
+lock-mail-local.diff
diff -u sendmail-8.14.4/debian/build/debian/control.m4.in sendmail-8.14.4/debian/build/debian/control.m4.in
--- sendmail-8.14.4/debian/build/debian/control.m4.in
+++ sendmail-8.14.4/debian/build/debian/control.m4.in
@@ -21,7 +21,7 @@
 [[Source: sendmail
 Priority: extra
 Section:  mail
-Maintainer: Debian QA Group <packa...@qa.debian.org>
+Maintainer: Jakub Safarik <jsafa...@ymail.com>
 Standards-Version: 3.8.3
 ]]dnl # Sigh... build daemons ignore B-D-I, so replicate in B-D :(
 [[Build-Depends-Indep: groff, bsdmainutils
only in patch2:
unchanged:
--- sendmail-8.14.4.orig/debian/patches/8.14/8.14.4/lock-mail-local.diff
+++ sendmail-8.14.4/debian/patches/8.14/8.14.4/lock-mail-local.diff
@@ -0,0 +1,88 @@
+Description: Fix order of fcntl and dotlock in mail.local
+Author: Tim Marston <t...@ed.am>
+Bug-Debian: http://bugs.debian.org/684645
+--- sendmail-8.14.4.orig/mail.local/mail.local.c
++++ sendmail-8.14.4/mail.local/mail.local.c
+@@ -1082,26 +1082,6 @@
+ 	*/
+ 
+ tryagain:
+-#ifdef MAILLOCK
+-	p = name;
+-#else /* MAILLOCK */
+-	p = path;
+-#endif /* MAILLOCK */
+-	if ((off = lockmbox(p)) != 0)
+-	{
+-		if (off == EX_TEMPFAIL || e_to_sys(off) == EX_TEMPFAIL)
+-		{
+-			ExitVal = EX_TEMPFAIL;
+-			errcode = "451 4.3.0";
+-		}
+-		else
+-			errcode = "551 5.3.0";
+-
+-		mailerr(errcode, "lockmailbox %s failed; error code %d %s",
+-			p, off, errno > 0 ? sm_errstring(errno) : "");
+-		return;
+-	}
+-
+ 	if (lstat(path, &sb) < 0)
+ 	{
+ 		int save_errno;
+@@ -1252,6 +1232,26 @@
+ 		goto err1;
+ 	}
+ 
++#ifdef MAILLOCK
++	p = name;
++#else /* MAILLOCK */
++	p = path;
++#endif /* MAILLOCK */
++	if ((off = lockmbox(p)) != 0)
++	{
++		if (off == EX_TEMPFAIL || e_to_sys(off) == EX_TEMPFAIL)
++		{
++			ExitVal = EX_TEMPFAIL;
++			errcode = "451 4.3.0";
++		}
++		else
++			errcode = "551 5.3.0";
++
++		mailerr(errcode, "lockmailbox %s failed; error code %d %s",
++			p, off, errno > 0 ? sm_errstring(errno) : "");
++		goto err1;
++	}
++
+ 	/* Get the starting offset of the new message */
+ 	curoff = lseek(mbfd, (off_t) 0, SEEK_END);
+ 	(void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n",
+@@ -1325,10 +1325,10 @@
+ #endif /* DEBUG */
+ 		if (mbfd >= 0)
+ 			(void) ftruncate(mbfd, curoff);
+-err1:		if (mbfd >= 0)
++err1:		unlockmbox();
++		if (mbfd >= 0)
+ 			(void) close(mbfd);
+ err0:		(void) setreuid(0, 0);
+-		unlockmbox();
+ 		return;
+ 	}
+ 
+@@ -1346,6 +1346,7 @@
+ 	else
+ 		cursize = sb.st_size;
+ 
++	unlockmbox();
+ 
+ 	/* Close and check -- NFS doesn't write until the close. */
+ 	if (close(mbfd))
+@@ -1395,7 +1396,6 @@
+ #ifdef DEBUG
+ 	fprintf(stderr, "reset euid = %d\n", (int) geteuid());
+ #endif /* DEBUG */
+-	unlockmbox();
+ 	if (LMTPMode)
+ 		printf("250 2.1.5 %s Ok\r\n", name);
+ }

Reply via email to