diff --git a/libtirpc-0.3.2-get-default-domain.patch b/libtirpc-0.3.3-rc1.patch similarity index 60% rename from libtirpc-0.3.2-get-default-domain.patch rename to libtirpc-0.3.3-rc1.patch index dc0635b..3f11870 100644 --- a/libtirpc-0.3.2-get-default-domain.patch +++ b/libtirpc-0.3.3-rc1.patch @@ -1,20 +1,16 @@ -commit f7f6d01a83d136c98acbc1d7f098da25097bd0b6 -Author: Armin K -Date: Thu Jun 18 11:59:18 2015 -0400 - - __rpc_get_default_domain is undefined with LDFLAGS=-Wl,--no-undefined - - commit 109ccb9fe removed the __rpc_get_default_domain() - interface which is not defined in the glibc. This - brings the interface back. - - Reviewed-by: Chuck Lever - Signed-off-by: Steve Dickson - diff --git a/src/Makefile.am b/src/Makefile.am -index 6cc567a..66fcc6c 100644 +index 6cc567a..18b1cec 100644 --- a/src/Makefile.am +++ b/src/Makefile.am +@@ -41,7 +41,7 @@ lib_LTLIBRARIES = libtirpc.la + # release number of your package. This is an abuse that only fosters + # misunderstanding of the purpose of library versions." + # +-libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0 ++libtirpc_la_LDFLAGS = -Wl,-no-undefined -lpthread -version-info 1:10:0 + + libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ + clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ @@ -69,7 +69,7 @@ if GSS endif @@ -24,6 +20,24 @@ index 6cc567a..66fcc6c 100644 CLEANFILES = cscope.* *~ DISTCLEANFILES = Makefile.in +diff --git a/src/libtirpc.map b/src/libtirpc.map +index 063cddd..449b769 100644 +--- a/src/libtirpc.map ++++ b/src/libtirpc.map +@@ -316,6 +316,13 @@ TIRPC_0.3.2 { + xdr_unixcred; + } TIRPC_0.3.1; + ++TIRPC_0.3.3 { ++ __getpublickey_LOCAL; ++ __key_decryptsession_pk_LOCAL; ++ __key_encryptsession_pk_LOCAL; ++ __key_gendes_LOCAL; ++} TIRPC_0.3.2; ++ + TIRPC_PRIVATE { + global: + __libc_clntudp_bufcreate; diff --git a/src/rpcdname.c b/src/rpcdname.c new file mode 100644 index 0000000..3e6a988 @@ -102,3 +116,42 @@ index 0000000..3e6a988 + return (0); + return (-1); +} +diff --git a/src/svc_generic.c b/src/svc_generic.c +index f49d776..7aae796 100644 +--- a/src/svc_generic.c ++++ b/src/svc_generic.c +@@ -283,6 +283,8 @@ svc_tli_create(fd, nconf, bindaddr, sendsz, recvsz) + xprt->xp_type = __rpc_socktype2seman(si.si_socktype); + + if (nconf) { ++ if (xprt->xp_netid != NULL) ++ free(xprt->xp_netid); + xprt->xp_netid = strdup(nconf->nc_netid); + xprt->xp_tp = strdup(nconf->nc_device); + } +diff --git a/src/svc_vc.c b/src/svc_vc.c +index 9824631..6848c09 100644 +--- a/src/svc_vc.c ++++ b/src/svc_vc.c +@@ -392,6 +392,12 @@ svc_vc_destroy(xprt) + __svc_vc_dodestroy(xprt); + } + ++static bool_t ++__svc_rendezvous_socket(xprt) ++ SVCXPRT *xprt; ++{ ++ return (xprt->xp_ops->xp_recv == rendezvous_request); ++} + static void + __svc_vc_dodestroy(xprt) + SVCXPRT *xprt; +@@ -403,7 +409,7 @@ __svc_vc_dodestroy(xprt) + + if (xprt->xp_fd != RPC_ANYFD) + (void)close(xprt->xp_fd); +- if (xprt->xp_port != 0) { ++ if (__svc_rendezvous_socket(xprt)) { + /* a rendezvouser socket */ + r = (struct cf_rendezvous *)xprt->xp_p1; + mem_free(r, sizeof (struct cf_rendezvous)); diff --git a/libtirpc.spec b/libtirpc.spec index 602639c..ef3d19f 100644 --- a/libtirpc.spec +++ b/libtirpc.spec @@ -2,7 +2,7 @@ Name: libtirpc Version: 0.3.2 -Release: 0.1%{?dist} +Release: 1.0%{?dist} Summary: Transport Independent RPC Library Group: System Environment/Libraries License: SISSL and BSD @@ -10,7 +10,7 @@ URL: http://nfsv4.bullopensource.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: http://downloads.sourceforge.net/libtirpc/libtirpc-%{version}.tar.bz2 -Patch001: libtirpc-0.3.2-get-default-domain.patch +Patch001: libtirpc-0.3.3-rc1.patch BuildRequires: automake, autoconf, libtool, pkgconfig BuildRequires: krb5-devel @@ -134,6 +134,9 @@ rm -rf %{buildroot} %{_mandir}/*/* %changelog +* Fri Jun 26 2015 Steve Dickson 0.3.2-1.0 +- Updated to latest upstream release: libtirpc-0-3-3-rc1 + * Thu Jun 18 2015 Steve Dickson 0.3.2-0.1 - Added back __rpc_get_default_domain()