~ruther/guix-local

200762a44caaee85959b1463ee19d4138a523489 — Marius Bakke 8 years ago f43cc4a
gnu: miniupnpc: Update to 2.0.20170509.

* gnu/packages/upnp.scm (miniupnpc): Update to 2.0.20170509.
[source]: Remove obsolete patch.
* gnu/packages/patches/miniupnpc-CVE-2017-8798.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 2 insertions(+), 59 deletions(-)

M gnu/local.mk
D gnu/packages/patches/miniupnpc-CVE-2017-8798.patch
M gnu/packages/upnp.scm
M gnu/local.mk => gnu/local.mk +0 -1
@@ 830,7 830,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch	\
  %D%/packages/patches/metabat-remove-compilation-date.patch	\
  %D%/packages/patches/mhash-keygen-test-segfault.patch		\
  %D%/packages/patches/miniupnpc-CVE-2017-8798.patch		\
  %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch		\
  %D%/packages/patches/mpc123-initialize-ao.patch		\
  %D%/packages/patches/module-init-tools-moduledir.patch	\

D gnu/packages/patches/miniupnpc-CVE-2017-8798.patch => gnu/packages/patches/miniupnpc-CVE-2017-8798.patch +0 -55
@@ 1,55 0,0 @@
Fix CVE-2017-8798.

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8798
http://seclists.org/oss-sec/2017/q2/247

Patch copied from upstream source repository, with Changelog entry removed:

https://github.com/miniupnp/miniupnp/commit/f0f1f4b22d6a98536377a1bb07e7c20e4703d229

diff --git a/miniwget.c b/miniwget.c
index 37cb47b..1eda57c 100644
--- a/miniwget.c
+++ b/miniwget.c
@@ -284,11 +284,12 @@ getHTTPResponse(int s, int * size, int * status_code)
 							goto end_of_stream;
 						}
 					}
-					bytestocopy = ((int)chunksize < (n - i))?chunksize:(unsigned int)(n - i);
+					/* it is guaranteed that (n >= i) */
+					bytestocopy = (chunksize < (unsigned int)(n - i))?chunksize:(unsigned int)(n - i);
 					if((content_buf_used + bytestocopy) > content_buf_len)
 					{
 						char * tmp;
-						if(content_length >= (int)(content_buf_used + bytestocopy)) {
+						if((content_length >= 0) && ((unsigned int)content_length >= (content_buf_used + bytestocopy))) {
 							content_buf_len = content_length;
 						} else {
 							content_buf_len = content_buf_used + bytestocopy;
@@ -313,14 +314,15 @@ getHTTPResponse(int s, int * size, int * status_code)
 			{
 				/* not chunked */
 				if(content_length > 0
-				   && (int)(content_buf_used + n) > content_length) {
+				   && (content_buf_used + n) > (unsigned int)content_length) {
 					/* skipping additional bytes */
 					n = content_length - content_buf_used;
 				}
 				if(content_buf_used + n > content_buf_len)
 				{
 					char * tmp;
-					if(content_length >= (int)(content_buf_used + n)) {
+					if(content_length >= 0
+					   && (unsigned int)content_length >= (content_buf_used + n)) {
 						content_buf_len = content_length;
 					} else {
 						content_buf_len = content_buf_used + n;
@@ -340,7 +342,7 @@ getHTTPResponse(int s, int * size, int * status_code)
 			}
 		}
 		/* use the Content-Length header value if available */
-		if(content_length > 0 && (int)content_buf_used >= content_length)
+		if(content_length > 0 && content_buf_used >= (unsigned int)content_length)
 		{
 #ifdef DEBUG
 			printf("End of HTTP content\n");

M gnu/packages/upnp.scm => gnu/packages/upnp.scm +2 -3
@@ 28,15 28,14 @@
(define-public miniupnpc
  (package
    (name "miniupnpc")
    (version "2.0.20170421")
    (version "2.0.20170509")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://miniupnp.tuxfamily.org/files/"
                           name "-" version ".tar.gz"))
       (patches (search-patches "miniupnpc-CVE-2017-8798.patch"))
       (sha256
        (base32 "0n11m2wq812zms5b21h8ihw1kbyaihj9nqjiida0hskf4dmw4m13"))))
        (base32 "0spi75q6nafxp3ndnrhrlqagzmjlp8wwlr5x7rnvdpswgxi6ihyk"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("python" ,python-2)))