Blame SOURCES/0022-curl-7.29.0-24c3cdce.patch

9d7d3f
From ca7b1cd659eb0eb0ef355e3e122742abcea73287 Mon Sep 17 00:00:00 2001
9d7d3f
From: Kamil Dudka <kdudka@redhat.com>
9d7d3f
Date: Wed, 2 Jul 2014 16:34:48 +0200
9d7d3f
Subject: [PATCH 1/3] tool: call PR_Cleanup() on exit if NSPR is used
9d7d3f
9d7d3f
This prevents valgrind from reporting possibly lost memory that NSPR
9d7d3f
uses for file descriptor cache and other globally allocated internal
9d7d3f
data structures.
9d7d3f
9d7d3f
Upstream-commit: 24c3cdce88f39731506c287cb276e8bf4a1ce393
9d7d3f
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
9d7d3f
---
9d7d3f
 src/tool_main.c | 10 ++++++++++
9d7d3f
 1 file changed, 10 insertions(+)
9d7d3f
9d7d3f
diff --git a/src/tool_main.c b/src/tool_main.c
9d7d3f
index 95e9cc7..6a1ed6c 100644
9d7d3f
--- a/src/tool_main.c
9d7d3f
+++ b/src/tool_main.c
9d7d3f
@@ -27,6 +27,10 @@
9d7d3f
 #include <signal.h>
9d7d3f
 #endif
9d7d3f
 
9d7d3f
+#ifdef USE_NSS
9d7d3f
+#include <nspr.h>
9d7d3f
+#endif
9d7d3f
+
9d7d3f
 #define ENABLE_CURLX_PRINTF
9d7d3f
 /* use our own printf() functions */
9d7d3f
 #include "curlx.h"
9d7d3f
@@ -104,6 +108,12 @@ int main(int argc, char *argv[])
9d7d3f
     tool_pressanykey();
9d7d3f
 #endif
9d7d3f
 
9d7d3f
+#ifdef USE_NSS
9d7d3f
+  if(PR_Initialized())
9d7d3f
+    /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */
9d7d3f
+    PR_Cleanup();
9d7d3f
+#endif
9d7d3f
+
9d7d3f
   free_config_fields(&config);
9d7d3f
 
9d7d3f
 #ifdef __NOVELL_LIBC__
9d7d3f
-- 
9d7d3f
2.1.0
9d7d3f
9d7d3f
9d7d3f
From 295471f8122cf6522c36f8e3588e5b4d15a691ea Mon Sep 17 00:00:00 2001
9d7d3f
From: Alessandro Ghedini <alessandro@ghedini.me>
9d7d3f
Date: Thu, 17 Jul 2014 14:37:28 +0200
9d7d3f
Subject: [PATCH 2/3] build: link curl to NSS libraries when NSS support is
9d7d3f
 enabled
9d7d3f
9d7d3f
This fixes a build failure on Debian caused by commit
9d7d3f
24c3cdce88f39731506c287cb276e8bf4a1ce393.
9d7d3f
9d7d3f
Bug: http://curl.haxx.se/mail/lib-2014-07/0209.html
9d7d3f
9d7d3f
Upstream-commit: c6e7cbb94e669b85d3eb8e015ec51d0072112133
9d7d3f
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
9d7d3f
---
9d7d3f
 configure       | 5 ++++-
9d7d3f
 configure.ac    | 4 ++++
9d7d3f
 src/Makefile.am | 2 +-
9d7d3f
 src/Makefile.in | 3 ++-
9d7d3f
 4 files changed, 11 insertions(+), 3 deletions(-)
9d7d3f
9d7d3f
diff --git a/configure b/configure
9d7d3f
index 8741e21..c5d1817 100755
9d7d3f
--- a/configure
9d7d3f
+++ b/configure
9d7d3f
@@ -913,7 +913,7 @@ LIBMETALINK_LIBS
9d7d3f
 CURL_CA_BUNDLE
9d7d3f
 SSL_ENABLED
9d7d3f
 USE_AXTLS
9d7d3f
-HAVE_NSS_INITCONTEXT
9d7d3f
+NSS_LIBS
9d7d3f
 USE_NSS
9d7d3f
 USE_CYASSL
9d7d3f
 USE_POLARSSL
9d7d3f
@@ -23697,6 +23697,9 @@ fi
9d7d3f
         { $as_echo "$as_me:${as_lineno-$LINENO}: detected NSS version $version" >&5
9d7d3f
 $as_echo "$as_me: detected NSS version $version" >&6;}
9d7d3f
 
9d7d3f
+                NSS_LIBS=$addlib
9d7d3f
+
9d7d3f
+
9d7d3f
                                         if test "x$cross_compiling" != "xyes"; then
9d7d3f
           LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
9d7d3f
           export LD_LIBRARY_PATH
9d7d3f
diff --git a/configure.ac b/configure.ac
9d7d3f
index 70ef0b7..60a6b58 100644
9d7d3f
--- a/configure.ac
9d7d3f
+++ b/configure.ac
9d7d3f
@@ -2211,6 +2211,10 @@ if test "$curl_ssl_msg" = "$init_ssl_msg"; then
9d7d3f
       if test "x$USE_NSS" = "xyes"; then
9d7d3f
         AC_MSG_NOTICE([detected NSS version $version])
9d7d3f
 
9d7d3f
+        dnl needed when linking the curl tool without USE_EXPLICIT_LIB_DEPS
9d7d3f
+        NSS_LIBS=$addlib
9d7d3f
+        AC_SUBST([NSS_LIBS])
9d7d3f
+
9d7d3f
         dnl when shared libs were found in a path that the run-time
9d7d3f
         dnl linker doesn't search through, we need to add it to
9d7d3f
         dnl LD_LIBRARY_PATH to prevent further configure tests to fail
9d7d3f
diff --git a/src/Makefile.am b/src/Makefile.am
9d7d3f
index af5a488..6863078 100644
9d7d3f
--- a/src/Makefile.am
9d7d3f
+++ b/src/Makefile.am
9d7d3f
@@ -60,7 +60,7 @@ LIBS = $(BLANK_AT_MAKETIME)
9d7d3f
 if USE_EXPLICIT_LIB_DEPS
9d7d3f
 curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@
9d7d3f
 else
9d7d3f
-curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
9d7d3f
+curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
9d7d3f
 endif
9d7d3f
 
9d7d3f
 curl_LDFLAGS = @LIBMETALINK_LDFLAGS@
9d7d3f
diff --git a/src/Makefile.in b/src/Makefile.in
9d7d3f
index 41fb549..1b578c2 100644
9d7d3f
--- a/src/Makefile.in
9d7d3f
+++ b/src/Makefile.in
9d7d3f
@@ -231,6 +231,7 @@ NMEDIT = @NMEDIT@
9d7d3f
 # Use the C locale to ensure that only ASCII characters appear in the
9d7d3f
 # embedded text.
9d7d3f
 NROFF = env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
9d7d3f
+NSS_LIBS = @NSS_LIBS@
9d7d3f
 OBJDUMP = @OBJDUMP@
9d7d3f
 OBJEXT = @OBJEXT@
9d7d3f
 OTOOL = @OTOOL@
9d7d3f
@@ -463,7 +464,7 @@ CURL_HFILES = \
9d7d3f
 	tool_xattr.h
9d7d3f
 
9d7d3f
 curl_SOURCES = $(CURL_CFILES) $(CURLX_ONES) $(CURL_HFILES)
9d7d3f
-@USE_EXPLICIT_LIB_DEPS_FALSE@curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
9d7d3f
+@USE_EXPLICIT_LIB_DEPS_FALSE@curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @NSS_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
9d7d3f
 @USE_EXPLICIT_LIB_DEPS_TRUE@curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBMETALINK_LIBS@ @LIBCURL_LIBS@
9d7d3f
 curl_LDFLAGS = @LIBMETALINK_LDFLAGS@
9d7d3f
 curl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS)
9d7d3f
-- 
9d7d3f
2.1.0
9d7d3f
9d7d3f
9d7d3f
From 0631da3859c9868ff317521544a246b5be83e600 Mon Sep 17 00:00:00 2001
9d7d3f
From: Kamil Dudka <kdudka@redhat.com>
9d7d3f
Date: Tue, 14 Jul 2015 17:08:44 +0200
9d7d3f
Subject: [PATCH 3/3] libtest: call PR_Cleanup() on exit if NSPR is used
9d7d3f
MIME-Version: 1.0
9d7d3f
Content-Type: text/plain; charset=UTF-8
9d7d3f
Content-Transfer-Encoding: 8bit
9d7d3f
9d7d3f
This prevents valgrind from reporting possibly lost memory that NSPR
9d7d3f
uses for file descriptor cache and other globally allocated internal
9d7d3f
data structures.
9d7d3f
9d7d3f
Reported-by: Štefan Kremeň
9d7d3f
9d7d3f
Upstream-commit: cd20e81e89ecebc5064e1d3e22e62e2802b2711e
9d7d3f
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
9d7d3f
---
9d7d3f
 tests/libtest/Makefile.am |  4 ++--
9d7d3f
 tests/libtest/Makefile.in |  4 ++--
9d7d3f
 tests/libtest/first.c     | 15 ++++++++++++++-
9d7d3f
 3 files changed, 18 insertions(+), 5 deletions(-)
9d7d3f
9d7d3f
diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
9d7d3f
index ba4097f..a844ab2 100644
9d7d3f
--- a/tests/libtest/Makefile.am
9d7d3f
+++ b/tests/libtest/Makefile.am
9d7d3f
@@ -62,8 +62,8 @@ if USE_EXPLICIT_LIB_DEPS
9d7d3f
 SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
9d7d3f
 TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
9d7d3f
 else
9d7d3f
-SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@
9d7d3f
-TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@
9d7d3f
+SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@ @NSS_LIBS@
9d7d3f
+TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@
9d7d3f
 endif
9d7d3f
 
9d7d3f
 # Dependencies (may need to be overriden)
9d7d3f
diff --git a/tests/libtest/Makefile.in b/tests/libtest/Makefile.in
9d7d3f
index e6826c0..9086af3 100644
9d7d3f
--- a/tests/libtest/Makefile.in
9d7d3f
+++ b/tests/libtest/Makefile.in
9d7d3f
@@ -949,9 +949,9 @@ AUTOMAKE_OPTIONS = foreign nostdinc
9d7d3f
 EXTRA_DIST = test75.pl test307.pl test610.pl test613.pl test1013.pl	\
9d7d3f
 test1022.pl Makefile.inc notexists.pl
9d7d3f
 
9d7d3f
-@USE_EXPLICIT_LIB_DEPS_FALSE@SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@
9d7d3f
+@USE_EXPLICIT_LIB_DEPS_FALSE@SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_LIBS@ @NSS_LIBS@
9d7d3f
 @USE_EXPLICIT_LIB_DEPS_TRUE@SUPPORTFILES_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
9d7d3f
-@USE_EXPLICIT_LIB_DEPS_FALSE@TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@
9d7d3f
+@USE_EXPLICIT_LIB_DEPS_FALSE@TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @CURL_NETWORK_AND_TIME_LIBS@ @NSS_LIBS@
9d7d3f
 @USE_EXPLICIT_LIB_DEPS_TRUE@TESTUTIL_LIBS = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
9d7d3f
 
9d7d3f
 # Dependencies (may need to be overriden)
9d7d3f
diff --git a/tests/libtest/first.c b/tests/libtest/first.c
9d7d3f
index 253acb2..94748a5 100644
9d7d3f
--- a/tests/libtest/first.c
9d7d3f
+++ b/tests/libtest/first.c
9d7d3f
@@ -25,6 +25,10 @@
9d7d3f
 #include <locale.h> /* for setlocale() */
9d7d3f
 #endif
9d7d3f
 
9d7d3f
+#ifdef USE_NSS
9d7d3f
+#include <nspr.h>
9d7d3f
+#endif
9d7d3f
+
9d7d3f
 #ifdef CURLDEBUG
9d7d3f
 #  define MEMDEBUG_NODEFINES
9d7d3f
 #  include "memdebug.h"
9d7d3f
@@ -97,6 +101,7 @@ static void memory_tracking_init(void)
9d7d3f
 int main(int argc, char **argv)
9d7d3f
 {
9d7d3f
   char *URL;
9d7d3f
+  int result;
9d7d3f
 
9d7d3f
   memory_tracking_init();
9d7d3f
 
9d7d3f
@@ -127,5 +132,13 @@ int main(int argc, char **argv)
9d7d3f
 
9d7d3f
   fprintf(stderr, "URL: %s\n", URL);
9d7d3f
 
9d7d3f
-  return test(URL);
9d7d3f
+  result = test(URL);
9d7d3f
+
9d7d3f
+#ifdef USE_NSS
9d7d3f
+  if(PR_Initialized())
9d7d3f
+    /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */
9d7d3f
+    PR_Cleanup();
9d7d3f
+#endif
9d7d3f
+
9d7d3f
+  return result;
9d7d3f
 }
9d7d3f
-- 
9d7d3f
2.4.3
9d7d3f