20722564 upgrade libneon to 0.30.1 s11-update
authorStefan Teleman <stefan.teleman@oracle.com>
Thu, 23 Apr 2015 06:52:22 -0700
branchs11-update
changeset 4172 a6d468ddeb77
parent 4171 2e163eeb727a
child 4173 8d9bea4f92c7
20722564 upgrade libneon to 0.30.1 20320371 problem in LIBRARY/NEON
components/libneon/Makefile
components/libneon/libneon.p5m
components/libneon/patches/000-configure.patch
components/libneon/patches/002-openssl-version.patch
components/libneon/patches/002-tests-common-test.c.patch
components/libneon/patches/004-ne_openssl.c.patch
components/libneon/patches/005-test-makekeys.sh.patch
components/libneon/patches/006-test-Makefile.in.patch
--- a/components/libneon/Makefile	Wed Apr 22 07:27:42 2015 -0700
+++ b/components/libneon/Makefile	Thu Apr 23 06:52:22 2015 -0700
@@ -23,17 +23,17 @@
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME = libneon
-COMPONENT_VERSION = 0.29.6
+COMPONENT_VERSION = 0.30.1
 COMPONENT_PROJECT_URL=	http://www.webdav.org/neon/
 COMPONENT_SRC_NAME = neon
 COMPONENT_SRC = $(COMPONENT_SRC_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE = $(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH = \
-    sha256:9c640b728d6dc80ef1e48f83181166ab6bc95309cece5537e01ffdd01b96eb43
+    sha256:00c626c0dc18d094ab374dbd9a354915bfe4776433289386ed489c2ec0845cdd
 COMPONENT_ARCHIVE_URL = $(COMPONENT_PROJECT_URL)$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	library/neon
 
-TPNO=			18538
+TPNO=			21902
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/configure.mk
@@ -60,8 +60,11 @@
 CONFIGURE_OPTIONS += --with-zlib
 CONFIGURE_OPTIONS += --with-ssl=openssl
 CONFIGURE_OPTIONS += --with-libproxy
+CONFIGURE_OPTIONS += --with-gssapi
 CONFIGURE_OPTIONS += --with-libxml2
+CONFIGURE_OPTIONS += --with-pic
 
+COMPONENT_BUILD_ENV +=	PATH="$(GNUBIN):$(PATH)"
 COMPONENT_TEST_ENV +=	PATH="$(GNUBIN):$(PATH)"
 
 build:		$(BUILD_32_and_64)
@@ -70,8 +73,6 @@
 
 test:		$(TEST_32_and_64)
 
-
-
 REQUIRED_PACKAGES += library/libproxy
 REQUIRED_PACKAGES += library/libxml2
 REQUIRED_PACKAGES += library/security/openssl
--- a/components/libneon/libneon.p5m	Wed Apr 22 07:27:42 2015 -0700
+++ b/components/libneon/libneon.p5m	Thu Apr 23 06:52:22 2015 -0700
@@ -36,12 +36,8 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2006/563
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 #
-dir  path=usr
-dir  path=usr/bin
 #
 file path=usr/bin/neon-config
-dir  path=usr/include
-dir  path=usr/include/neon
 file path=usr/include/neon/ne_207.h
 file path=usr/include/neon/ne_acl.h
 file path=usr/include/neon/ne_acl3744.h
@@ -66,22 +62,14 @@
 file path=usr/include/neon/ne_utils.h
 file path=usr/include/neon/ne_xml.h
 file path=usr/include/neon/ne_xmlreq.h
-dir  path=usr/lib
-dir  path=usr/lib/$(MACH64)
-link path=usr/lib/$(MACH64)/libneon.so target=libneon.so.27.2.6
-link path=usr/lib/$(MACH64)/libneon.so.27 target=libneon.so.27.2.6
-file path=usr/lib/$(MACH64)/libneon.so.27.2.6
-dir  path=usr/lib/$(MACH64)/pkgconfig
+link path=usr/lib/$(MACH64)/libneon.so target=libneon.so.27.3.1
+link path=usr/lib/$(MACH64)/libneon.so.27 target=libneon.so.27.3.1
+file path=usr/lib/$(MACH64)/libneon.so.27.3.1
 file path=usr/lib/$(MACH64)/pkgconfig/neon.pc
-link path=usr/lib/libneon.so target=libneon.so.27.2.6
-link path=usr/lib/libneon.so.27 target=libneon.so.27.2.6
-file path=usr/lib/libneon.so.27.2.6
-dir  path=usr/lib/pkgconfig
+link path=usr/lib/libneon.so target=libneon.so.27.3.1
+link path=usr/lib/libneon.so.27 target=libneon.so.27.3.1
+file path=usr/lib/libneon.so.27.3.1
 file path=usr/lib/pkgconfig/neon.pc
-dir  path=usr/share
-dir  path=usr/share/doc
-dir  path=usr/share/doc/neon-$(COMPONENT_VERSION)
-dir  path=usr/share/doc/neon-$(COMPONENT_VERSION)/html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/api.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/biblio.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/compliance.html
@@ -106,6 +94,7 @@
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refiaddr.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refneon.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refopts.html
+file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refproxy.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refreq.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refreqbody.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/refreqflags.html
@@ -128,38 +117,16 @@
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/security.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/using.html
 file path=usr/share/doc/neon-$(COMPONENT_VERSION)/html/xml.html
-dir  path=usr/share/locale
-dir  path=usr/share/locale/cs
-dir  path=usr/share/locale/cs/LC_MESSAGES
 file path=usr/share/locale/cs/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/de
-dir  path=usr/share/locale/de/LC_MESSAGES
 file path=usr/share/locale/de/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/fr
-dir  path=usr/share/locale/fr/LC_MESSAGES
 file path=usr/share/locale/fr/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/ja
-dir  path=usr/share/locale/ja/LC_MESSAGES
 file path=usr/share/locale/ja/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/nn
-dir  path=usr/share/locale/nn/LC_MESSAGES
 file path=usr/share/locale/nn/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/pl
-dir  path=usr/share/locale/pl/LC_MESSAGES
 file path=usr/share/locale/pl/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/ru
-dir  path=usr/share/locale/ru/LC_MESSAGES
 file path=usr/share/locale/ru/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/tr
-dir  path=usr/share/locale/tr/LC_MESSAGES
 file path=usr/share/locale/tr/LC_MESSAGES/neon.mo
-dir  path=usr/share/locale/zh_CN
-dir  path=usr/share/locale/zh_CN/LC_MESSAGES
 file path=usr/share/locale/zh_CN/LC_MESSAGES/neon.mo
-dir  path=usr/share/man
-dir  path=usr/share/man/man1
 file path=usr/share/man/man1/neon-config.1
-dir  path=usr/share/man/man3
 file path=usr/share/man/man3/ne_add_request_header.3
 file path=usr/share/man/man3/ne_addr_destroy.3
 file path=usr/share/man/man3/ne_addr_error.3
@@ -193,7 +160,10 @@
 file path=usr/share/man/man3/ne_iaddr_cmp.3
 file path=usr/share/man/man3/ne_iaddr_free.3
 file path=usr/share/man/man3/ne_iaddr_make.3
+file path=usr/share/man/man3/ne_iaddr_parse.3
 file path=usr/share/man/man3/ne_iaddr_print.3
+file path=usr/share/man/man3/ne_iaddr_raw.3
+file path=usr/share/man/man3/ne_iaddr_reverse.3
 file path=usr/share/man/man3/ne_iaddr_typeof.3
 file path=usr/share/man/man3/ne_malloc.3
 file path=usr/share/man/man3/ne_oom_callback.3
@@ -207,13 +177,15 @@
 file path=usr/share/man/man3/ne_session_create.3
 file path=usr/share/man/man3/ne_session_destroy.3
 file path=usr/share/man/man3/ne_session_proxy.3
+file path=usr/share/man/man3/ne_session_socks_proxy.3
+file path=usr/share/man/man3/ne_session_system_proxy.3
+file path=usr/share/man/man3/ne_set_addrlist.3
 file path=usr/share/man/man3/ne_set_connect_timeout.3
 file path=usr/share/man/man3/ne_set_error.3
 file path=usr/share/man/man3/ne_set_proxy_auth.3
 file path=usr/share/man/man3/ne_set_read_timeout.3
 file path=usr/share/man/man3/ne_set_request_body_buffer.3
 file path=usr/share/man/man3/ne_set_request_body_fd.3
-file path=usr/share/man/man3/ne_set_request_body_fd64.3
 file path=usr/share/man/man3/ne_set_request_flag.3
 file path=usr/share/man/man3/ne_set_server_auth.3
 file path=usr/share/man/man3/ne_set_session_flag.3
--- a/components/libneon/patches/000-configure.patch	Wed Apr 22 07:27:42 2015 -0700
+++ b/components/libneon/patches/000-configure.patch	Thu Apr 23 06:52:22 2015 -0700
@@ -1,6 +1,58 @@
---- configure	2011-05-03 05:25:31.000000000 -0700
-+++ configure	2012-10-08 15:14:24.436052062 -0700
-@@ -12018,7 +12018,7 @@
+# Internal patch:
+# - /usr/gnu/bin must come first, before /usr/bin in S11.
+# - Sun Kerberos is incompatible with MIT Kerberos (all claim to the contrary
+# notwithstanding).
+# Not for upstream.
+--- configure	2014-09-23 06:26:33.000000000 -0700
++++ configure	2015-03-19 11:00:25.287751237 -0700
+@@ -1,4 +1,4 @@
+-#! /bin/sh
++#!/bin/bash
+ # Guess values for system-dependent variables and create Makefiles.
+ # Generated by GNU Autoconf 2.69 for neon 0.30.1.
+ #
+@@ -19,6 +19,11 @@
+ ## M4sh Initialization. ##
+ ## -------------------- ##
+ 
++## Please do not protest about this patch. It is specific to
++## bash 4.1 on Solaris. libtool needs the GNU utilities from
++## /usr/gnu/bin.
++export PATH="/usr/gnu/bin:/usr/bin"
++
+ # Be more Bourne compatible
+ DUALCASE=1; export DUALCASE # for MKS sh
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+@@ -7122,7 +7127,7 @@
+    ;;
+ esac
+ 
+-
++export KRB5_CONFIG="/usr/bin/krb5-config"
+ 
+ # Check whether --with-gssapi was given.
+ if test "${with_gssapi+set}" = set; then :
+@@ -7131,7 +7136,7 @@
+ 
+ if test "$with_gssapi" != "no"; then
+   # Extract the first word of "krb5-config", so it can be a program name with args.
+-set dummy krb5-config; ac_word=$2
++set dummy /usr/bin/krb5-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_path_KRB5_CONFIG+:} false; then :
+@@ -7178,8 +7183,8 @@
+ if test "x$KRB5_CONFIG" != "xnone"; then
+    ne_save_CPPFLAGS=$CPPFLAGS
+    ne_save_LIBS=$NEON_LIBS
+-   NEON_LIBS="$NEON_LIBS `${KRB5_CONFIG} --libs gssapi`"
+-   CPPFLAGS="$CPPFLAGS `${KRB5_CONFIG} --cflags gssapi`"
++   NEON_LIBS="$NEON_LIBS -lkrb5 -lgss"
++   CPPFLAGS="$CPPFLAGS -I/usr/include/kerberos5 -I/usr/include/gssapi"
+    # MIT and Heimdal put gssapi.h in different places
+    for ac_header in gssapi/gssapi.h gssapi.h
+ do :
+@@ -12718,7 +12723,7 @@
  	  ;;
  	esac
        fi
@@ -9,7 +61,7 @@
        hardcode_shlibpath_var=no
        case $host_os in
        solaris2.[0-5] | solaris2.[0-5].*) ;;
-@@ -14580,6 +14580,7 @@
+@@ -15333,6 +15338,7 @@
      # in the --cflags output.
      CPPFLAGS="$CPPFLAGS `$XML2_CONFIG --cflags | sed 's| -I/include||g'`"
      NEON_LIBS="$NEON_LIBS `$XML2_CONFIG --libs | sed 's|-L/usr/lib ||g'`"
--- a/components/libneon/patches/002-openssl-version.patch	Wed Apr 22 07:27:42 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-Author: joe
-Date: Fri Jul  6 21:23:20 2012
-New Revision: 1895
-
-Modified:
-   neon/trunk/src/ne_socket.c
-
-Log:
-* src/ne_socket.c (ne_sock_connect_ssl): Drop OpenSSL version check,
-  inappropriate with OpenSSL 1.x; patch by Mike Frysinger.
-
-
-Modified: neon/trunk/src/ne_socket.c
-==============================================================================
---- src/ne_socket.c	(original)
-+++ src/ne_socket.c	Fri Jul  6 21:23:20 2012
-@@ -1718,13 +1718,6 @@
- 	return NE_SOCK_ERROR;
-     }
- 
--    /* If runtime library version differs from compile-time version
--     * number in major/minor/fix level, abort soon. */
--    if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & 0xFFFFF000) {
--        set_error(sock, _("SSL disabled due to library version mismatch"));
--        return NE_SOCK_ERROR;
--    }
--
-     sock->ssl = ssl = SSL_new(ctx->ctx);
-     if (!ssl) {
- 	set_error(sock, _("Could not create SSL structure"));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libneon/patches/002-tests-common-test.c.patch	Thu Apr 23 06:52:22 2015 -0700
@@ -0,0 +1,32 @@
+# Internal patch.
+# We don't want \r we want \n because we're UNIX.
+# Not for upstream.
+--- test/common/tests.c	2013-07-31 06:50:34.000000000 -0700
++++ test/common/tests.c	2015-03-17 19:13:48.294707531 -0700
+@@ -154,7 +154,7 @@
+ static void print_prefix(int n)
+ {
+     if (quiet) {
+-        printf("\r%s%.*s %2u/%2u ", test_suite, 
++        printf("\n%s%.*s %2u/%2u ", test_suite, 
+                (int) (strlen(dots) - strlen(test_suite)), dots,
+                n + 1, count);
+     }
+@@ -163,7 +163,7 @@
+ 	    printf("    %s ", dots);
+         }
+         else {
+-            printf("\r%2d. %s%.*s ", n, test_name, 
++            printf("\n%2d. %s%.*s ", n, test_name, 
+                (int) (strlen(dots) - strlen(test_name)), dots);
+         }
+     }
+@@ -393,7 +393,7 @@
+             printf("<- all tests skipped for `%s'.\n", test_suite);
+     } else {
+         if (quiet) {
+-            printf("\r%s%.*s %2u/%2u ", test_suite, 
++            printf("\n%s%.*s %2u/%2u ", test_suite, 
+                    (int) (strlen(dots) - strlen(test_suite)), dots,
+                    passes, count);
+             if (fails == 0) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libneon/patches/004-ne_openssl.c.patch	Thu Apr 23 06:52:22 2015 -0700
@@ -0,0 +1,31 @@
+# Disable SSLv2, SSLv3 and TLSv1.0.
+# Internal patch. Not a chance it will be accepted upstream.
+--- src/ne_openssl.c	2014-09-20 11:59:52.000000000 -0700
++++ src/ne_openssl.c	2015-04-03 13:40:17.212657899 -0700
+@@ -560,7 +560,7 @@
+ {
+     ne_ssl_context *ctx = ne_calloc(sizeof *ctx);
+     if (mode == NE_SSL_CTX_CLIENT) {
+-        ctx->ctx = SSL_CTX_new(SSLv23_client_method());
++        ctx->ctx = SSL_CTX_new(TLSv1_1_client_method());
+         ctx->sess = NULL;
+         /* set client cert callback. */
+         SSL_CTX_set_client_cert_cb(ctx->ctx, provide_client_cert);
+@@ -568,7 +568,7 @@
+         SSL_CTX_set_options(ctx->ctx, SSL_OP_ALL);
+         SSL_CTX_set_verify(ctx->ctx, SSL_VERIFY_PEER, verify_callback);
+     } else if (mode == NE_SSL_CTX_SERVER) {
+-        ctx->ctx = SSL_CTX_new(SSLv23_server_method());
++        ctx->ctx = SSL_CTX_new(TLSv1_1_server_method());
+         SSL_CTX_set_session_cache_mode(ctx->ctx, SSL_SESS_CACHE_CLIENT);
+ #ifdef SSL_OP_NO_TICKET
+         /* disable ticket support since it inhibits testing of session
+@@ -590,6 +590,8 @@
+ void ne_ssl_context_set_flag(ne_ssl_context *ctx, int flag, int value)
+ {
+     long opts = SSL_CTX_get_options(ctx->ctx);
++    opts |= SSL_OP_NO_SSLv2;
++    opts |= SSL_OP_NO_SSLv3;
+ 
+     switch (flag) {
+     case NE_SSL_CTX_SSLv2:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libneon/patches/005-test-makekeys.sh.patch	Thu Apr 23 06:52:22 2015 -0700
@@ -0,0 +1,16 @@
+# Internal patch.
+# /usr/gnu/bin must come before /usr/bin. They want the GNU utilities,
+# not the SVR4 utilities.
+# Not for upstream.
+--- test/makekeys.sh	2012-07-04 01:41:44.000000000 -0700
++++ test/makekeys.sh	2015-03-17 19:29:29.859562018 -0700
+@@ -1,6 +1,8 @@
+-#!/bin/sh
++#!/bin/bash
+ # Helper script to create CA and server certificates.
+ 
++export PATH="/usr/gnu/bin:/usr/bin"
++
+ srcdir=${1-.}
+ 
+ OPENSSL=@OPENSSL@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libneon/patches/006-test-Makefile.in.patch	Thu Apr 23 06:52:22 2015 -0700
@@ -0,0 +1,37 @@
+# Internal patch.
+# Make sure everything liks with the just-built libneon from
+# the proto area, and no the libneon in /usr/lib.
+# Not for upstream.
+--- test/Makefile.in	2010-05-05 01:25:17.000000000 -0700
++++ test/Makefile.in	2015-03-17 20:38:48.694451293 -0700
+@@ -6,6 +6,10 @@
+ LDFLAGS = @LDFLAGS@
+ DEFS = @DEFS@
+ 
++LIBRUNPATH = $(shell realpath -P $(top_builddir)/src/.libs)
++TESTRUNPATH = $(shell realpath -P $(top_builddir)/test/.libs)
++LD_LIBRARY_PATH = $(LIBRUNPATH):$(TESTRUNPATH)
++
+ top_builddir = ..
+ top_srcdir = @top_srcdir@
+ srcdir = @srcdir@
+@@ -71,13 +75,16 @@
+ 	   server.cert client.cert *.p12 *.cert sparse.bin
+ 
+ check: $(TESTS) $(HELPERS)
+-	@SRCDIR=$(srcdir) $(SHELL) $(srcdir)/run.sh $(TESTS)
++	@SRCDIR=$(srcdir)  LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
++	  $(SHELL) $(srcdir)/run.sh $(TESTS)
+ 
+ grind: $(TESTS) $(HELPERS)
+-	@SRCDIR=$(srcdir) HARNESS="$(VALGRIND)" $(SHELL) $(srcdir)/run.sh $(TESTS)
++	@SRCDIR=$(srcdir) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
++	  HARNESS="$(VALGRIND)" $(SHELL) $(srcdir)/run.sh $(TESTS)
+ 
+ lfs-check: largefile $(LFS_HELPERS)
+-	@SRCDIR=$(srcdir) $(SHELL) $(srcdir)/run.sh largefile
++	@SRCDIR=$(srcdir) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
++	  $(SHELL) $(srcdir)/run.sh largefile
+ 
+ install: $(TESTS) $(HELPERS)
+ 	@$(INSTALL) -d $(DESTDIR)$(libdir)/neon-tests