NMU sendmail upload for t-p-u
Dear release team, dear sponsors
I have made a patch which would solve bug for Debian Squeeze as the Sid version
did not made it into testing in time. As I'm not familiar with doing such a
thing I am asking for some help in order to make a NMU to Debian t-p-u. Please
find attached a debdiff sendmail_8.14.3-9.4.dsc sendmail_8.14.3-9.5.dsc which
shows the changes done by me based on the patches in the according bug report
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=527862 and the new upstream
version 8.14.4. If this change is acceptable to the release team I would ask
for some help with getting it into t-p-u.
Thanks for everybodies help!
Kind regards
Harald Jenny
diff -u sendmail-8.14.3/debian/changelog sendmail-8.14.3/debian/changelog
--- sendmail-8.14.3/debian/changelog
+++ sendmail-8.14.3/debian/changelog
@@ -1,3 +1,11 @@
+sendmail (8.14.3-9.5) testing-proposed-updates; urgency=medium
+
+ * Non-maintainer upload.
+ * Apply patch from sendmail 8.14.4 to fix libmilter bug in upcoming Squeeze
+ release (Closes: #527862).
+
+ -- Harald Jenny <harald@a-little-linux-box.at> Sun, 2 Jan 2011 22:36:17 +0100
+
sendmail (8.14.3-9.4) unstable; urgency=low
* Non-maintainer upload.
diff -u sendmail-8.14.3/debian/patches/8.14/8.14.3/series sendmail-8.14.3/debian/patches/8.14/8.14.3/series
--- sendmail-8.14.3/debian/patches/8.14/8.14.3/series
+++ sendmail-8.14.3/debian/patches/8.14/8.14.3/series
@@ -12,0 +13 @@
+worker_c
only in patch2:
unchanged:
--- sendmail-8.14.3.orig/debian/patches/8.14/8.14.3/worker_c
+++ sendmail-8.14.3/debian/patches/8.14/8.14.3/worker_c
@@ -0,0 +1,73 @@
+--- sendmail-8.14.3/libmilter/worker.c 2007-12-03 23:06:05.000000000 +0100
++++ sendmail-8.14.4/libmilter/worker.c 2009-06-15 17:34:54.000000000 +0200
+@@ -328,6 +312,7 @@
+ int dim_pfd = 0;
+ bool rebuild_set = true;
+ int pcnt = 0; /* error count for poll() failures */
++ time_t lastcheck;
+
+ Tskmgr.tm_tid = sthread_get_id();
+ if (pthread_detach(Tskmgr.tm_tid) != 0)
+@@ -345,12 +330,12 @@
+ }
+ dim_pfd = PFD_STEP;
+
++ lastcheck = time(NULL);
+ for (;;)
+ {
+ SMFICTX_PTR ctx;
+ int nfd, rfd, i;
+ time_t now;
+- time_t lastcheck;
+
+ POOL_LEV_DPRINTF(4, ("Let's %s again...", WAITFN));
+
+@@ -364,20 +349,20 @@
+ /* check for timed out sessions? */
+ if (lastcheck + DT_CHECK_OLD_SESSIONS < now)
+ {
+- SM_TAILQ_FOREACH(ctx, &WRK_CTX_HEAD, ctx_link)
++ ctx = SM_TAILQ_FIRST(&WRK_CTX_HEAD);
++ while (ctx != SM_TAILQ_END(&WRK_CTX_HEAD))
+ {
++ SMFICTX_PTR ctx_nxt;
++
++ ctx_nxt = SM_TAILQ_NEXT(ctx, ctx_link);
+ if (ctx->ctx_wstate == WKST_WAITING)
+ {
+ if (ctx->ctx_wait == 0)
+- {
+ ctx->ctx_wait = now;
+- continue;
+- }
+-
+- /* if session timed out, close it */
+- if (ctx->ctx_wait + OLD_SESSION_TIMEOUT
+- < now)
++ else if (ctx->ctx_wait + OLD_SESSION_TIMEOUT
++ < now)
+ {
++ /* if session timed out, close it */
+ sfsistat (*fi_close) __P((SMFICTX *));
+
+ POOL_LEV_DPRINTF(4,
+@@ -389,10 +374,9 @@
+ (void) (*fi_close)(ctx);
+
+ mi_close_session(ctx);
+- ctx = SM_TAILQ_FIRST(&WRK_CTX_HEAD);
+- continue;
+ }
+ }
++ ctx = ctx_nxt;
+ }
+ lastcheck = now;
+ }
+@@ -465,6 +449,7 @@
+ }
+ }
+ }
++ rebuild_set = false;
+ }
+
+ TASKMGR_UNLOCK();
Reply to: