[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

request to unblock fdm 1.6-3



Hello Release Team!

  [Please Cc: me in replies, I'm not subscribed.]

Version 1.6-3 of the fdm package has been uploaded to unstable today.

There are two new changes in the package:
  - a fix for #595057.
  - and a one-line patch which implements upstreams recommended
    workaround for a problem which is related to the #595057.

Here's the debdiff output:
[snip]
% debdiff fdm_1.6-2.dsc fdm_1.6-3.dsc
diff -u fdm-1.6/debian/changelog fdm-1.6/debian/changelog
--- fdm-1.6/debian/changelog
+++ fdm-1.6/debian/changelog
@@ -1,3 +1,13 @@
+fdm (1.6-3) unstable; urgency=low
+
+  * New patch: 06sslretval.patch: Improve SSL error-handling which led to
+    excessive memory allocation with broken mails. (Closes: #595057)
+  * New patch: 07incrlinelim.patch: Increase the maximum line limit for a
+    mail. This is upstream's recommended workaround to let fdm download
+    broken mails which caused #595057.
+
+ -- Frank Terbeck <ft@bewatermyfriend.org>  Sun, 05 Sep 2010 12:21:09 +0200
+
 fdm (1.6-2) unstable; urgency=low
 
   * Adding -lcrypto do $(LIBS) to support GNU gold (Closes: #554287)
diff -u fdm-1.6/debian/patches/series fdm-1.6/debian/patches/series
--- fdm-1.6/debian/patches/series
+++ fdm-1.6/debian/patches/series
@@ -5,0 +6,2 @@
+06sslretval.patch
+07incrlinelim.patch
only in patch2:
unchanged:
--- fdm-1.6.orig/debian/patches/06sslretval.patch
+++ fdm-1.6/debian/patches/06sslretval.patch
@@ -0,0 +1,36 @@
+Include a patch from upstream, which fixes #595057.
+
+Index: debian_fdm/io.c
+===================================================================
+--- debian_fdm.orig/io.c	2010-09-02 13:34:10.000000000 +0200
++++ debian_fdm/io.c	2010-09-02 13:34:20.000000000 +0200
+@@ -191,6 +191,7 @@
+ 	if (cause != NULL)
+ 		*cause = xstrdup(io->error);
+ 	xfree(pfds);
++	errno = 0;
+ 	return (-1);
+ }
+ 
+@@ -344,6 +345,10 @@
+ 			case SSL_ERROR_WANT_WRITE:
+ 				io->flags |= IOF_NEEDFILL;
+ 				break;
++			case SSL_ERROR_SYSCALL:
++				if (errno == EAGAIN || errno == EINTR)
++					break;
++				/* FALLTHROUGH */
+ 			default:
+ 				if (io->error != NULL)
+ 					xfree(io->error);
+@@ -414,6 +419,10 @@
+ 				 * so this can be ignored
+ 				 */
+ 				break;
++			case SSL_ERROR_SYSCALL:
++				if (errno == EAGAIN || errno == EINTR)
++					break;
++				/* FALLTHROUGH */
+ 			default:
+ 				if (io->error != NULL)
+ 					xfree(io->error);
only in patch2:
unchanged:
--- fdm-1.6.orig/debian/patches/07incrlinelim.patch
+++ fdm-1.6/debian/patches/07incrlinelim.patch
@@ -0,0 +1,31 @@
+Increase the maximum line length limit used by fdm to work around problems
+with badly formed emails, which also led to #595057. Without this, fdm
+will refuse to download such badly formed mails bigger than 1MiB.
+
+This is upstream's recommended workaround for now:
+
+Nicholas Marriott wrote:
+[...]
+> i suggest you run CVS HEAD or at least fdm 1.6 and bump the line limit
+> for now until i have time to look into a more permanent solution (unless
+> you want to do it or persuade someone else to). if you make the line
+> limit longer than your maximum-size setting then fdm will hit the latter
+> first
+
+
+...and `IO_MAXLINELEN' is that limit.
+
+
+Index: debian_fdm/io.h
+===================================================================
+--- debian_fdm.orig/io.h	2010-09-02 16:24:20.000000000 +0200
++++ debian_fdm/io.h	2010-09-02 16:27:09.000000000 +0200
+@@ -35,7 +35,7 @@
+ };
+ 
+ /* Limits at which to fail. */
+-#define IO_MAXLINELEN (1024 * 1024) 		/* 1 MB */
++#define IO_MAXLINELEN (32 * 1024 * 1024) 		/* 32 MB */
+ 
+ /* IO line endings. */
+ #define IO_CRLF "\r\n"
[snap]


Regards, Frank

-- 
In protocol design, perfection has been reached not when there is
nothing left to add, but when there is nothing left to take away.
                                                  -- RFC 1925


Reply to: