Hello community, here is the log from the commit of package libtirpc for openSUSE:Factory checked in at 2015-06-05 08:45:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libtirpc (Old) and /work/SRC/openSUSE:Factory/.libtirpc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libtirpc" Changes: -------- --- /work/SRC/openSUSE:Factory/libtirpc/libtirpc.changes 2014-12-21 12:03:02.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libtirpc.new/libtirpc.changes 2015-06-05 08:45:58.000000000 +0200 @@ -1,0 +2,169 @@ +Mon Jun 1 17:06:29 CEST 2015 - [email protected] + +- Remove krb5-devel from -devel requires, not needed anymore + +------------------------------------------------------------------- +Mon Jun 1 14:44:05 CEST 2015 - [email protected] + +- Update to libtirpc 0.3.1, which incorporates the following + patches: + - 011-gssapi-update1.patch + - 012-gssapi-update2.patch + - 013-gssapi-update3.patch + - 014-gssapi-update4.patch + - 015-gssapi-update5.patch + - 016-gssapi-update6.patch + - 017-gssapi-update7.patch + - 018-gssapi-update8.patch + Not needed anymore: + - 007-fix-tirpc_map.patch + Adjusted: + - 001-tirpc-features.patch, merged with 006-rework-features.diff + - 002-old-automake.patch + +------------------------------------------------------------------- +Tue May 26 13:55:07 CEST 2015 - [email protected] + +- 007-fix-tirpc_map.patch: fix symbol version for new global names + +------------------------------------------------------------------- +Tue May 26 11:28:46 CEST 2015 - [email protected] + +- 006-rework-features.diff: Adjust for set of gssapi patches +- 003-fix-gssapi.patch replaced by 011-gssapi-update1.patch +- 012-gssapi-update2.patch: fix krb5-config usage +- 013-gssapi-update3.patch: check for gssapi.h +- 014-gssapi-update4.patch: don't include rpcsec_gss.h +- 015-gssapi-update5.patch: don't install GSSAPI files if disabled +- 016-gssapi-update6.patch: fix rpc_gss_seccreate +- 017-gssapi-update7.patch: officialy export two internal functions +- 018-gssapi-update8.patch: don't use glibc special header files + +------------------------------------------------------------------- +Tue May 12 12:48:37 CEST 2015 - [email protected] + +- 003-fix-gssapi.patch: Correct fix for GSS ABI breakage +- 005-no_IPv6_for_old_code.patch: Update comment +- 006-rework-features.diff: Rework tirpc-features.h + +------------------------------------------------------------------- +Sat May 9 01:00:12 CEST 2015 - [email protected] + +- 003-fix-gssapi.patch: Update, one chunk did go lost + +------------------------------------------------------------------- +Fri May 8 10:07:42 CEST 2015 - [email protected] + +- 001-tirpc-features.patch: update with official git version +- 002-old-automake.patch: re-add for SLES11 +- 003-fix-gssapi.patch: try to fix the disable-gssapi option correct + +------------------------------------------------------------------- +Thu May 7 13:50:16 CEST 2015 - [email protected] + +- Fix HAVE_AUTHDES/HAVE_GSSAPI in public header files + (001-tirpc-features.patch) + +------------------------------------------------------------------- +Wed May 6 22:54:38 CEST 2015 - [email protected] + +- Update to official release 0.3.0. authdes was disabled by default + upstream. +- Following patches were merged: + - 001-symbol-versions-v5.patch + - 003-add-des_crypt.diff +- Remove 002-old-automake.patch, not needed anymore + +------------------------------------------------------------------- +Mon May 4 11:41:21 CEST 2015 - [email protected] + +- Update 001-symbol-versions-v4.patch with + 001-symbol-versions-v5.patch: Add --disable-symvers option + +------------------------------------------------------------------- +Thu Apr 30 18:14:30 CEST 2015 - [email protected] + +- Update 003-add-des_crypt.diff, fix unresolved des functions + +------------------------------------------------------------------- +Thu Apr 30 17:11:28 CEST 2015 - [email protected] + +- Update to git +- Add 003-add-des_crypt.diff to fix unresolved *_crypt() functions + +------------------------------------------------------------------- +Thu Apr 30 13:12:30 CEST 2015 - [email protected] + +- Disable gssapi for SLE11, kerberos version is too old + +------------------------------------------------------------------- +Thu Apr 30 12:56:09 CEST 2015 - [email protected] + +- rpc/rpc.h requires now indirectly gssapi.h from krb5-devel + +------------------------------------------------------------------- +Thu Apr 30 11:47:42 CEST 2015 - [email protected] + +- Update to current git. +- The following patches were accepted upstream: + - 003-xdr_h-fix.patch + - 005-disable-rpcent.patch + - 006-no-libnsl.patch + - patch1_7.diff + - patch2_7.diff + - patch3_7.diff +- patch7_7.diff: removed, rejected upstream +- 001-symbol-versions-v3.patch: replace with 001-symbol-versions-v4.patch + +------------------------------------------------------------------- +Fri Apr 24 14:57:04 CEST 2015 - [email protected] + +- Add the following patches from the libtirpc-devel mailing list: + - patch1_7.diff (remove wrong config.h.in) + - patch2_7.diff (fix function name of yp_check) + - patch3_7.diff (make sure config.h is included) + - patch6_7.diff (use getaddrinfo in getrpcport) + - patch7_7.diff (remove prototypes from headers we don't supply) + +------------------------------------------------------------------- +Fri Apr 24 13:34:30 CEST 2015 - [email protected] + +- Add following patches: + - 003-xdr_h-fix.patch (fix wrong defines using xdr_u_int32) + - 005-disable-rpcent.patch (use rpcent functions from glibc) + - 006-no-libnsl.patch (don't link against libnsl) + +------------------------------------------------------------------- +Thu Apr 23 21:55:29 CEST 2015 - [email protected] + +- Update to 0.2.5.git from 20150423 + - following patches are accepted upstream: + - 003-rpc_broadcast_misformed_replies.patch + - libtirpc-misc-segfaults.patch + - replace 001-symbol-versions-v2.patch with + 001-symbol-versions-v3.patch + - enable symbol versioning patch + +------------------------------------------------------------------- +Fri Dec 19 14:20:15 CET 2014 - [email protected] + +- 004-netconfig-prefer-IPv6.patch: Prever IPv6 over IPv4 (configured + in /etc/netconfig) + +------------------------------------------------------------------- +Fri Dec 19 13:37:49 CET 2014 - [email protected] + +- 002-old-automake.patch: make buildable on old systems + +------------------------------------------------------------------- +Wed Dec 17 16:26:51 CET 2014 - [email protected] + +- Update to 0.2.5.git from 20141217 + - following patches are accepted upstream: + - 002-clnt_broadcast_fix.patch + - 004-getpmaphandle.patch + - libtirpc-clntunix_create.patch + - libtirpc-getbroadifs-crash.patch + - libtirpc-taddr2uaddr-local.patch + +------------------------------------------------------------------- @@ -228 +396,0 @@ - Old: ---- 001-symbol-versions-v2.patch 002-clnt_broadcast_fix.patch 003-rpc_broadcast_misformed_replies.patch 004-getpmaphandle.patch libtirpc-0.2.5.tar.bz2 libtirpc-clntunix_create.patch libtirpc-getbroadifs-crash.patch libtirpc-misc-segfaults.patch libtirpc-taddr2uaddr-local.patch New: ---- 001-tirpc-features.patch 002-old-automake.patch 004-netconfig-prefer-IPv6.patch 005-no_IPv6_for_old_code.patch libtirpc-0.3.1.tar.bz2 patch6_7.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libtirpc.spec ++++++ --- /var/tmp/diff_new_pack.LsRtiZ/_old 2015-06-05 08:45:59.000000000 +0200 +++ /var/tmp/diff_new_pack.LsRtiZ/_new 2015-06-05 08:45:59.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package libtirpc # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,12 +16,12 @@ # -%define tarversion 0.2.5 +%define tarversion 0.3.1 Name: libtirpc # src/crypt_client.c tirpc/spinlock.h and tirpc/rpcsvc/crypt.x have the BSD # advertising clause -Version: 0.2.5 +Version: 0.3.1 Release: 0 Summary: Transport Independent RPC Library License: BSD-4-Clause @@ -31,6 +31,7 @@ %else BuildRequires: krb5-devel %endif +BuildRequires: autoconf BuildRequires: libtool BuildRequires: pkg-config Url: http://sourceforge.net/projects/libtirpc/ @@ -38,16 +39,14 @@ Source: %{name}-%{tarversion}.tar.bz2 Source1: baselibs.conf Patch0: 000-bindresvport_blacklist.patch -Patch1: 001-symbol-versions-v2.patch -Patch2: 002-clnt_broadcast_fix.patch -Patch3: 003-rpc_broadcast_misformed_replies.patch -Patch4: 004-getpmaphandle.patch -Patch35: libtirpc-clntunix_create.patch -Patch36: libtirpc-misc-segfaults.patch +Patch1: 001-tirpc-features.patch +# Patch2 is only needed for SLES11 +Patch2: 002-old-automake.patch +Patch4: 004-netconfig-prefer-IPv6.patch +Patch5: 005-no_IPv6_for_old_code.patch +Patch25: patch6_7.diff # Patch37 is only needed on openSUSE >= 13.1, SLE >= 12 Patch37: libtirpc-new-path-rpcbindsock.patch -Patch38: libtirpc-taddr2uaddr-local.patch -Patch39: libtirpc-getbroadifs-crash.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define debug_package_requires libtirpc1 = %{version}-%{release} @@ -84,27 +83,30 @@ %prep %setup -q -n %name-%tarversion %patch0 -p0 -#%patch1 -p0 -%patch2 -p1 -%patch3 -p1 +%patch1 -p1 %patch4 -p1 -%patch35 -p1 -%patch36 -p1 +%patch5 -p1 +%patch25 -p1 +%patch2 -p1 %if 0%{suse_version} >= 1310 %patch37 -p1 %endif -%patch38 -p1 -%patch39 -p1 %build autoreconf -fiv %configure --disable-static \ --with-pic \ - --libdir=/%{_lib} \ - --enable-gss +%if 0%{suse_version} < 1200 + --disable-gssapi \ +%endif + --libdir=/%{_lib} %{__make} %{?_smp_mflags} %install +# Don't strip .symtab to allow debugging +export STRIP_KEEP_SYMTAB=libtirpc*.so* +# NO_BRP_CHECK_ROOTFS is for SLES11 only, but does not harm for Factory +export NO_BRP_CHECK_ROOTFS=true make install DESTDIR=$RPM_BUILD_ROOT # move devel so link to %{_libdir} mkdir -p $RPM_BUILD_ROOT%{_libdir} ++++++ 000-bindresvport_blacklist.patch ++++++ --- /var/tmp/diff_new_pack.LsRtiZ/_old 2015-06-05 08:45:59.000000000 +0200 +++ /var/tmp/diff_new_pack.LsRtiZ/_new 2015-06-05 08:45:59.000000000 +0200 @@ -3,10 +3,10 @@ Signed-off-by: Olaf Kirch <[email protected]> ---- src/bindresvport.c -+++ src/bindresvport.c 2014/12/15 13:29:13 +--- src/bindresvport.c 2015-04-23 21:22:56.986448281 +0200 ++++ src/bindresvport.c 2015-04-23 21:48:06.501561665 +0200 @@ -39,7 +39,10 @@ - + #include <netdb.h> #include <netinet/in.h> +#include <stdio.h> ++++++ 001-tirpc-features.patch ++++++ diff --git a/.gitignore b/.gitignore index b7814a3..fad274f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,8 @@ libtirpc.pc lib*.a src/libtirpc.la src/libtirpc_la-*.lo +tirpc/stamp-h2 +tirpc/tirpc-features.h # generic editor backup et al *~ .stgitmail.txt diff --git a/Makefile.am b/Makefile.am index 466b6dd..665d328 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,9 +4,11 @@ ACLOCAL_AMFLAGS = -I m4 noinst_HEADERS = tirpc/reentrant.h \ tirpc/getpeereid.h \ tirpc/libc_private.h \ - tirpc/un-namespace.h + tirpc/un-namespace.h \ + tirpc/tirpc-features.h.in nobase_include_HEADERS = tirpc/netconfig.h \ + tirpc/tirpc-features.h \ tirpc/rpcsvc/crypt.x \ tirpc/rpcsvc/crypt.h \ tirpc/rpc/xdr.h \ diff --git a/configure.ac b/configure.ac index e3cb8af..7802304 100644 --- a/configure.ac +++ b/configure.ac @@ -31,7 +31,7 @@ AC_ARG_ENABLE(authdes, [],[enable_authdes=no]) AM_CONDITIONAL(AUTHDES, test "x$enable_authdes" = xyes) if test "x$enable_authdes" = xyes; then - AC_DEFINE([HAVE_AUTHDES], [1], + AC_DEFINE([TIRPC_AUTHDES], [1], [Define to 1 if DES authentication is enabled]) CFLAG_AUTHDES="-DHAVE_AUTHDES=1" AC_SUBST([CFLAG_AUTHDES]) @@ -50,7 +50,7 @@ AC_ARG_ENABLE(symvers, [],[enable_symvers=yes]) AM_CONDITIONAL(SYMVERS, test "x$enable_symvers" = xyes) -AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_HEADERS([config.h tirpc/tirpc-features.h]) AC_PROG_LIBTOOL AC_HEADER_DIRENT AC_PREFIX_DEFAULT(/usr) diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h index f7fa16c..3e2d1cf 100644 --- a/tirpc/rpc/auth.h +++ b/tirpc/rpc/auth.h @@ -51,6 +51,7 @@ #include <sys/socket.h> #include <sys/types.h> +#include <tirpc-features.h> #define MAX_AUTH_BYTES 400 #define MAXNETNAMELEN 255 /* maximum length of network user's name */ @@ -164,7 +165,7 @@ union des_block { }; typedef union des_block des_block; -#ifdef HAVE_AUTHDES +#ifdef TIRPC_AUTHDES #ifdef __cplusplus extern "C" { #endif @@ -172,7 +173,7 @@ extern bool_t xdr_des_block(XDR *, des_block *); #ifdef __cplusplus } #endif -#endif /* HAVE_AUTHDES */ +#endif /* TIRPC_AUTHDES */ /* * Authentication info. Opaque to client. @@ -320,7 +321,7 @@ extern AUTH *authnone_create(void); /* takes no parameters */ } #endif -#ifdef HAVE_AUTHDES +#ifdef TIRPC_AUTHDES /* * DES style authentication * AUTH *authsecdes_create(servername, window, timehost, ckey) @@ -338,7 +339,7 @@ extern AUTH *authdes_seccreate (const char *, const u_int, const char *, #ifdef __cplusplus } #endif -#endif /* HAVE_AUTHDES */ +#endif /* TIRPC_AUTHDES */ #ifdef __cplusplus extern "C" { @@ -362,9 +363,9 @@ extern int host2netname(char *, const char *, const char *); extern int user2netname(char *, const uid_t, const char *); extern int netname2user(char *, uid_t *, gid_t *, int *, gid_t *); extern int netname2host(char *, char *, const int); -#ifdef HAVE_AUTHDES +#ifdef TIRPC_AUTHDES extern void passwd2des ( char *, char * ); -#endif /* HAVE_AUTHDES */ +#endif /* TIRPC_AUTHDES */ #ifdef __cplusplus } #endif diff --git a/tirpc/rpc/rpc.h b/tirpc/rpc/rpc.h index 392a7b9..7517264 100644 --- a/tirpc/rpc/rpc.h +++ b/tirpc/rpc/rpc.h @@ -39,6 +39,8 @@ #include <sys/socket.h> #include <netinet/in.h> +#include <tirpc-features.h> + /* external data representation interfaces */ #include <rpc/xdr.h> /* generic (de)serializer */ @@ -52,13 +54,13 @@ #include <rpc/rpc_msg.h> /* protocol for rpc messages */ #include <rpc/auth_unix.h> /* protocol for unix style cred */ -#ifdef HAVE_AUTHDES +#ifdef TIRPC_AUTHDES /* * Uncomment-out the next line if you are building the rpc library with * DES Authentication (see the README file in the secure_rpc/ directory). */ #include <rpc/auth_des.h> /* protocol for des style cred */ -#endif /* HAVE_AUTHDES */ +#endif /* TIRPC_AUTHDES */ /* Server side only remote procedure callee */ #include <rpc/svc_auth.h> /* service side authenticator */ diff --git a/tirpc/tirpc-features.h.in b/tirpc/tirpc-features.h.in new file mode 100644 index 0000000..9bea966 --- /dev/null +++ b/tirpc/tirpc-features.h.in @@ -0,0 +1,7 @@ +#ifndef _TIRPC_FEATURES_H +#define _TIRPC_FEATURES_H + +/* Define to 1 if DES authentication is enabled */ +#undef TIRPC_AUTHDES + +#endif /* _TIRPC_FEATURES_H */ ++++++ 002-old-automake.patch ++++++ diff --git a/configure.ac b/configure.ac index 290c635..a6a202e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,4 @@ AC_INIT(libtirpc, 0.3.1) -AM_INIT_AUTOMAKE([silent-rules]) +AM_INIT_AUTOMAKE -AM_SILENT_RULES([yes]) AC_CONFIG_SRCDIR([src/auth_des.c]) AC_CONFIG_MACRO_DIR([m4]) ++++++ 004-netconfig-prefer-IPv6.patch ++++++ diff --git a/doc/netconfig b/doc/netconfig index effc67e..85c24da 100644 --- a/doc/netconfig +++ b/doc/netconfig @@ -10,10 +10,10 @@ # The <device> and <nametoaddr_libs> fields are always empty in this # implementation. # -udp tpi_clts v inet udp - - -tcp tpi_cots_ord v inet tcp - - udp6 tpi_clts v inet6 udp - - tcp6 tpi_cots_ord v inet6 tcp - - +udp tpi_clts v inet udp - - +tcp tpi_cots_ord v inet tcp - - rawip tpi_raw - inet - - - local tpi_cots_ord - loopback - - - unix tpi_cots_ord - loopback - - - ++++++ 005-no_IPv6_for_old_code.patch ++++++ diff --git a/src/rpc_generic.c b/src/rpc_generic.c index 6148830..f443c47 100644 --- a/src/rpc_generic.c +++ b/src/rpc_generic.c @@ -213,7 +213,8 @@ getnettype(nettype) } /* - * For the given nettype (tcp or udp only), return the first structure found. + * For the given nettype (tcp or udp only), return the first + * IPv4 structure found. * This should be freed by calling freenetconfigent() */ struct netconfig * @@ -250,8 +251,7 @@ __rpc_getconfip(nettype) return (NULL); } while ((nconf = getnetconfig(confighandle)) != NULL) { - if (strcmp(nconf->nc_protofmly, NC_INET) == 0 || - strcmp(nconf->nc_protofmly, NC_INET6) == 0) { + if (strcmp(nconf->nc_protofmly, NC_INET) == 0) { if (strcmp(nconf->nc_proto, NC_TCP) == 0 && netid_tcp == NULL) { netid_tcp = strdup(nconf->nc_netid); ++++++ libtirpc-0.2.5.tar.bz2 -> libtirpc-0.3.1.tar.bz2 ++++++ ++++ 14940 lines of diff (skipped) ++++++ patch6_7.diff ++++++ Most folks seem to copy this gentoo patch to silence an alleged _FORTIFY_SOURCE=2 warning: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-libs/libtirpc/files/libtirpc-0.2.1-fortify.patch?diff_format=s&revision=1.2&view=markup Given that gethostbyname is obsolescent, let's just use getaddrinfo instead (to silence warnings about the OB function). I am undecided if setting AI_V4MAPPED and AI_ADDRCONFIG is a good idea. Personally i would be inclined to s/if 0/if 1/ but i'll leave that up to you. Signed-off-by: Bernhard Reutner-Fischer <[email protected]> --- src/getrpcport.c | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/src/getrpcport.c b/src/getrpcport.c index b452c99..f36158d 100644 --- a/src/getrpcport.c +++ b/src/getrpcport.c @@ -48,19 +48,32 @@ getrpcport(host, prognum, versnum, proto) int prognum, versnum, proto; { struct sockaddr_in addr; - struct hostent *hp; + struct addrinfo hints, *result, *rp; + int ret = 0; assert(host != NULL); - - if ((hp = gethostbyname(host)) == NULL) + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_INET; /* ??? :-( */ +#if 0 +#ifdef AI_V4MAPPED + hints.ai_flags |= AI_V4MAPPED; +#endif +#ifdef AI_ADDRCONFIG + hints.ai_flags |= AI_ADDRCONFIG; +#endif +#endif + if (getaddrinfo(host, NULL, &hints, &result) != 0) return (0); - memset(&addr, 0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_port = 0; - if (hp->h_length > sizeof(addr)) - hp->h_length = sizeof(addr); - memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length); - /* Inconsistent interfaces need casts! :-( */ - return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, - (u_int)proto)); + for (rp = result; rp != NULL; rp = rp->ai_next) { + assert (rp->ai_family == AF_INET && rp->ai_addrlen == 16); + memcpy(&addr, rp->ai_addr, rp->ai_addrlen); + assert (addr.sin_family == AF_INET && addr.sin_port == 0); + /* Inconsistent interfaces need casts! :-( */ + ret = (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, + (u_int)proto)); + if (ret) + break; + } + freeaddrinfo(result); + return (ret); } -- 2.1.4 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Libtirpc-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
