r341435: deletion of graphics/fotoxx

Dag-Erling Smørgrav des at des.no
Tue Jan 28 10:04:54 UTC 2014


Michael Gmelin <freebsd at grem.de> writes:
> His web server reports a content length of 2696186, but only provides
> 2696168 bytes of data. Tools like wget and curl just stop downloading
> data, while fetch hangs waiting for those 18 extra bytes.

Actually, the file *is* 2696168 bytes long.  With the following patch,
fetch(1) will still hang getting the last 1018 bytes, but the file will
be complete and the download will be successful.

Index: lib/libfetch/common.c
===================================================================
--- lib/libfetch/common.c	(revision 260631)
+++ lib/libfetch/common.c	(working copy)
@@ -1036,6 +1036,13 @@
 			if (fetchTimeout > 0) {
 				gettimeofday(&now, NULL);
 				if (!timercmp(&timeout, &now, >)) {
+					/*
+					 * Return a short read instead of
+					 * a timeout if we have anything
+					 * at all.
+					 */
+					if (total > 0)
+						return (total);
 					errno = ETIMEDOUT;
 					fetch_syserr();
 					return (-1);


DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-ports mailing list