diff --git a/.libtirpc.metadata b/.libtirpc.metadata new file mode 100644 index 0000000..9ba40ff --- /dev/null +++ b/.libtirpc.metadata @@ -0,0 +1 @@ +7076d09762d11742de6d1b3d7162ee1e86d0b555 SOURCES/libtirpc-0.2.3.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/libtirpc-0.2.4-rc2.patch b/SOURCES/libtirpc-0.2.4-rc2.patch new file mode 100644 index 0000000..d07b3fa --- /dev/null +++ b/SOURCES/libtirpc-0.2.4-rc2.patch @@ -0,0 +1,170 @@ +diff -up libtirpc-0.2.3/autogen.sh.orig libtirpc-0.2.3/autogen.sh +--- libtirpc-0.2.3/autogen.sh.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/autogen.sh 2013-07-01 10:08:16.723416858 -0400 +@@ -37,6 +37,6 @@ fi + + aclocal + libtoolize --force --copy +-autoheader ++#autoheader + automake --add-missing --copy --gnu # -Wall + autoconf # -Wall +diff -up libtirpc-0.2.3/configure.ac.orig libtirpc-0.2.3/configure.ac +--- libtirpc-0.2.3/configure.ac.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/configure.ac 2013-07-01 10:08:16.723416858 -0400 +@@ -1,19 +1,34 @@ + AC_INIT(libtirpc, 0.2.3) +-AM_INIT_AUTOMAKE(libtirpc, 0.2.3) ++AM_INIT_AUTOMAKE + AM_MAINTAINER_MODE + AC_CONFIG_SRCDIR([src/auth_des.c]) + AC_CONFIG_MACRO_DIR([m4]) + + AC_ARG_ENABLE(gss,[ --enable-gss Turn on gss api], [case "${enableval}" in +- yes) gss=true ; AC_CHECK_LIB([gssapi],[gss_init_sec_context]) ;; ++ yes) gss=true ;; + no) gss=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-gss) ;; + esac],[gss=false]) + AM_CONDITIONAL(GSS, test x$gss = xtrue) ++AC_ARG_WITH(gssglue, ++ [ --with-gssglue Use libgssglue], ++ [case "${enableval}" in ++ yes) gssglue=true ;; ++ no) gssglue=false ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --with-gssglue) ;; ++ esac], ++ [gssglue=false]) ++AM_CONDITIONAL(USEGSSGLUE, test x$gssglue = xtrue) + if test x$gss = xtrue; then +- AC_DEFINE(HAVE_LIBGSSAPI, 1, []) +- PKG_CHECK_MODULES(GSSGLUE, libgssglue, [], +- AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) ++ if test x$gssglue = xtrue; then ++ PKG_CHECK_MODULES(GSSAPI, libgssglue, [], ++ AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) ++ else ++ GSSAPI_CFLAGS=`krb5-config --cflags gssapi` ++ GSSAPI_LIBS=`krb5-config --libs gssapi` ++ AC_SUBST([GSSAPI_CFLAGS]) ++ AC_SUBST([GSSAPI_LIBS]) ++ fi + fi + AC_ARG_ENABLE(ipv6, + [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])], +@@ -24,7 +39,7 @@ if test "x$enable_ipv6" != xno; then + fi + + AC_PROG_CC +-AM_CONFIG_HEADER(config.h) ++m4_pattern_allow(AM_CONFIG_HEADERS(config.h)) + AC_PROG_LIBTOOL + AC_HEADER_DIRENT + AC_PREFIX_DEFAULT(/usr) +diff -up libtirpc-0.2.3/src/auth_gss.c.orig libtirpc-0.2.3/src/auth_gss.c +--- libtirpc-0.2.3/src/auth_gss.c.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/src/auth_gss.c 2013-07-01 10:08:16.724416786 -0400 +@@ -269,6 +269,7 @@ authgss_get_private_data(AUTH *auth, str + * send an RPCSEC_GSS_DESTROY request which might inappropriately + * destroy the context. + */ ++ gd->ctx = GSS_C_NO_CONTEXT; + gd->gc.gc_ctx.length = 0; + gd->gc.gc_ctx.value = NULL; + +@@ -284,7 +285,8 @@ authgss_free_private_data(struct authgss + if (!pd) + return (FALSE); + +- pd->pd_ctx = NULL; ++ if (pd->pd_ctx != GSS_C_NO_CONTEXT) ++ gss_delete_sec_context(&min_stat, &pd->pd_ctx, NULL); + gss_release_buffer(&min_stat, &pd->pd_ctx_hndl); + memset(&pd->pd_ctx_hndl, 0, sizeof(pd->pd_ctx_hndl)); + pd->pd_seq_win = 0; +diff -up libtirpc-0.2.3/src/clnt_vc.c.orig libtirpc-0.2.3/src/clnt_vc.c +--- libtirpc-0.2.3/src/clnt_vc.c.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/src/clnt_vc.c 2013-07-01 10:08:16.724416786 -0400 +@@ -505,7 +505,7 @@ clnt_vc_control(cl, request, info) + sigset_t newmask; + int rpc_lock_value; + u_int32_t tmp; +- u_long ltmp; ++ u_int32_t ltmp; + + assert(cl != NULL); + +diff -up libtirpc-0.2.3/src/Makefile.am.orig libtirpc-0.2.3/src/Makefile.am +--- libtirpc-0.2.3/src/Makefile.am.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/src/Makefile.am 2013-07-01 10:08:16.723416858 -0400 +@@ -6,7 +6,7 @@ + ## anything like that. + + +-INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \ ++AM_CPPFLAGS = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 \ + -D_GNU_SOURCE -Wall -pipe + + lib_LTLIBRARIES = libtirpc.la +@@ -58,8 +58,8 @@ libtirpc_la_SOURCES += xdr.c xdr_rec.c x + ## Secure-RPC + if GSS + libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c +- libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) +- libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS) ++ libtirpc_la_LDFLAGS += $(GSSAPI_LIBS) ++ libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) + endif + + ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c +diff -up libtirpc-0.2.3/src/svc_dg.c.orig libtirpc-0.2.3/src/svc_dg.c +--- libtirpc-0.2.3/src/svc_dg.c.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/src/svc_dg.c 2013-07-01 10:08:16.725416716 -0400 +@@ -284,7 +284,6 @@ svc_dg_getargs(xprt, xdr_args, args_ptr) + { + if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs), + xdr_args, args_ptr)) { +- (void)svc_freeargs(xprt, xdr_args, args_ptr); + return FALSE; + } + return TRUE; +diff -up libtirpc-0.2.3/tirpc/rpc/auth.h.orig libtirpc-0.2.3/tirpc/rpc/auth.h +--- libtirpc-0.2.3/tirpc/rpc/auth.h.orig 2013-02-13 10:13:59.000000000 -0500 ++++ libtirpc-0.2.3/tirpc/rpc/auth.h 2013-07-01 10:08:16.725416716 -0400 +@@ -51,7 +51,6 @@ + #include + #include + #include +-#include + + + #define MAX_AUTH_BYTES 400 +@@ -249,19 +248,11 @@ auth_put(AUTH *auth) + #define auth_refresh(auth, msg) \ + ((*((auth)->ah_ops->ah_refresh))(auth, msg)) + +-#if defined(__GNUC__) && defined(DEBUG) +-#define auth_log_debug(fmt,args...) printf(stderr, fmt, args) +-#else +-#define auth_log_debug(fmt,args...) +-#endif +- + #define AUTH_DESTROY(auth) \ + do { \ + int refs; \ + if ((refs = auth_put((auth))) == 0) \ + ((*((auth)->ah_ops->ah_destroy))(auth));\ +- auth_log_debug("%s: auth_put(), refs %d\n", \ +- __func__, refs); \ + } while (0) + + #define auth_destroy(auth) \ +@@ -269,8 +260,6 @@ auth_put(AUTH *auth) + int refs; \ + if ((refs = auth_put((auth))) == 0) \ + ((*((auth)->ah_ops->ah_destroy))(auth));\ +- auth_log_debug("%s: auth_put(), refs %d\n", \ +- __func__, refs); \ + } while (0) + + #define AUTH_WRAP(auth, xdrs, xfunc, xwhere) \ diff --git a/SPECS/libtirpc.spec b/SPECS/libtirpc.spec new file mode 100644 index 0000000..5471978 --- /dev/null +++ b/SPECS/libtirpc.spec @@ -0,0 +1,345 @@ +%define _root_libdir /%{_lib} + +Name: libtirpc +Version: 0.2.3 +Release: 3%{?dist} +Summary: Transport Independent RPC Library +Group: System Environment/Libraries +License: SISSL and BSD +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.2.4-rc2.patch + +BuildRequires: automake, autoconf, libtool, pkgconfig +BuildRequires: krb5-devel + +%description +This package contains SunLib's implementation of transport-independent +RPC (TI-RPC) documentation. This library forms a piece of the base of +Open Network Computing (ONC), and is derived directly from the +Solaris 2.3 source. + +TI-RPC is an enhanced version of TS-RPC that requires the UNIX System V +Transport Layer Interface (TLI) or an equivalent X/Open Transport Interface +(XTI). TI-RPC is on-the-wire compatible with the TS-RPC, which is supported +by almost 70 vendors on all major operating systems. TS-RPC source code +(RPCSRC 4.0) remains available from several internet sites. + +%package devel +Summary: Development files for the libtirpc library +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig man-db + +%description devel +This package includes header files and libraries necessary for +developing programs which use the tirpc library. + + +%prep +%setup -q + +%patch001 -p1 + +# Remove .orig files +find . -name "*.orig" | xargs rm -f + +%build +sh autogen.sh +autoreconf -fisv +%configure --enable-gss +make all + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}/etc +mkdir -p %{buildroot}%{_root_libdir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig +make install DESTDIR=%{buildroot} \ + libdir=%{_root_libdir} pkgconfigdir=%{_libdir}/pkgconfig +# Don't package .a or .la files +rm -f %{buildroot}%{_root_libdir}/*.{a,la} + +# Creat the man diretory +mv %{buildroot}%{_mandir}/man3 %{buildroot}%{_mandir}/man3t + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +# Register the new man section +#if [ "$1" -eq 1 ]; then +# makewhatis -s 3t +#fi + +%postun devel +# Remove the existance of the man section +#makewhatis -s 3t + + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root) +%doc AUTHORS ChangeLog NEWS README +%{_root_libdir}/libtirpc.so.* +%config(noreplace)%{_sysconfdir}/netconfig + +%files devel +%defattr(0644,root,root,755) +%dir %{_includedir}/tirpc +%dir %{_includedir}/tirpc/rpc +%dir %{_includedir}/tirpc/rpcsvc +%{_root_libdir}/libtirpc.so +%{_libdir}/pkgconfig/libtirpc.pc +%{_includedir}/tirpc/netconfig.h +%{_includedir}/tirpc/rpc/auth.h +%{_includedir}/tirpc/rpc/auth_des.h +%{_includedir}/tirpc/rpc/auth_gss.h +%{_includedir}/tirpc/rpc/auth_kerb.h +%{_includedir}/tirpc/rpc/auth_unix.h +%{_includedir}/tirpc/rpc/clnt.h +%{_includedir}/tirpc/rpc/clnt_soc.h +%{_includedir}/tirpc/rpc/clnt_stat.h +%{_includedir}/tirpc/rpc/des.h +%{_includedir}/tirpc/rpc/des_crypt.h +%{_includedir}/tirpc/rpc/nettype.h +%{_includedir}/tirpc/rpc/pmap_clnt.h +%{_includedir}/tirpc/rpc/pmap_prot.h +%{_includedir}/tirpc/rpc/pmap_rmt.h +%{_includedir}/tirpc/rpc/raw.h +%{_includedir}/tirpc/rpc/rpc.h +%{_includedir}/tirpc/rpc/rpc_com.h +%{_includedir}/tirpc/rpc/rpc_msg.h +%{_includedir}/tirpc/rpc/rpcb_clnt.h +%{_includedir}/tirpc/rpc/rpcb_prot.h +%{_includedir}/tirpc/rpc/rpcb_prot.x +%{_includedir}/tirpc/rpc/rpcent.h +%{_includedir}/tirpc/rpc/svc.h +%{_includedir}/tirpc/rpc/svc_auth.h +%{_includedir}/tirpc/rpc/svc_dg.h +%{_includedir}/tirpc/rpc/svc_soc.h +%{_includedir}/tirpc/rpc/types.h +%{_includedir}/tirpc/rpc/xdr.h +%{_includedir}/tirpc/rpcsvc/crypt.h +%{_includedir}/tirpc/rpcsvc/crypt.x +%{_mandir}/*/* + +%changelog +* Tue Jul 2 2013 Steve Dickson 0.2.3-3 +- Update to latest RC release: libtirpc-0-2-4-rc2 (bz 959469) + +* Mon Apr 22 2013 Steve Dickson 0.2.3-2 +- Update to latest RC release: libtirpc-0-2-4-rc1 (bz 948378) + +* Thu Apr 11 2013 Guenther Deschner 0.2.3-1 +- Removed libgssglue dependency (patch from master) + +* Wed Feb 13 2013 Steve Dickson 0.2.3-0 +- Updated to latest upstream release: 0.2.3 + +* Tue Nov 13 2012 Steve Dickson 0.2.1-43 +- Updated to latest upstream RC release: 0.2.3-rc4 + +* Thu Jul 19 2012 Fedora Release Engineering - 0.2.2-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Apr 26 2012 Steve Dickson 0.2.1-4.1 +- Updated to latest upstream RC release: libtirpc-0.2.3-rc3 + +* Mon Mar 19 2012 Steve Dickson 0.2.1-3.1 +- Fixed the install path in doc/Makefile.am + +* Fri Jan 13 2012 Fedora Release Engineering - 0.2.2-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Jul 20 2011 Steve Dickson 0.2.1-1.1 +- Fixed segfault in SVCAUTH_WRAP call (bz 722594) + +* Tue Jun 21 2011 Steve Dickson 0.2.1-1 +- Updated to latest upstream version: 0.2.3-rc1 + +* Mon May 2 2011 Steve Dickson 0.2.1-0 +- Updated to latest upstream version: 0.2.2 + +* Tue Apr 12 2011 Karsten Hopp 0.2.1-7.1 +- replace Requires(devel) with a simple Requires as the new rpm + aborts otherwise with "Bad Requireflags: qualifiers: Requires(devel)" + +* Tue Feb 08 2011 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Dec 2 2010 Steve Dickson 0.2.1-6 +- Moved the libraries from /usr/lib to /lib + +* Mon Aug 30 2010 Steve Dickson 0.2.1-5 +- Relicense these SISSL files to 3 clause BSD +- Fixed last remaining BSD license issues + +* Fri Jul 16 2010 Steve Dickson 0.2.1-4 +- Add back SISSL license attribution + +* Fri Jul 09 2010 Mike McGrath 0.2.1-3.1 +- Rebuild to fix broken man dep s/man/man-db/ + +* Tue May 18 2010 Steve Dickson 0.2.1-3 +- Updated to latest RC release: libtirpc-0-2-2-rc2 [bz 519430] + +* Mon Mar 22 2010 Steve Dickson 0.2.1-2 +- Updated to latest RC release: libtirpc-0-2-2-rc1 + +* Mon Nov 30 2009 Steve Dickson 0.2.1-1 +- Updated to latest upstream version: 0.2.1 + +* Sat Jul 25 2009 Fedora Release Engineering - 0.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 9 2009 Steve Dickson 0.2.0-3 +- Updated to latest upstream tag: 0-2-1-rc3 + Fixed the --disable-gss options + Fixed a number of warnings + Change how architectures are define in xdr_float.c + +* Mon Jun 29 2009 Steve Dickson 0.2.0-2 +- Updated to latest upstream tag: 0-2-1-rc2 + rpcb_clnt: RPC_PROGNOTREGISTERED is a permanent error + clnt_dg: Fix infinite loop when datagram call times ou + Updated .gitignore file + Replace the hard coded path name with the top_srcdir macrc + Added 'doc' to the SUBDIRS list so make install work correctly. + +* Fri May 29 2009 Steve Dickson 0.2.0-1 +- Updated to latest upstream version: 0.2.0 + +* Tue May 19 2009 Tom "spot" Callaway 0.1.11-3 +- Replace the Sun RPC license with the BSD license, with the explicit permission of Sun Microsystems + +* Mon Apr 20 2009 Steve Dickson 0.1.11-2 +- Updated to libtirpc-0.1.12-rc1 + +* Mon Apr 20 2009 Steve Dickson 0.1.11-1 +- Updated to the latest release: 0.1.11 + +* Fri Mar 13 2009 Steve Dickson 0.1.10-6 +- libtirpc: set r_netid and r_owner in __rpcb_findaddr_timed +- libtirpc: be sure to free cl_netid and cl_tp +- libtirpc: must free saved wire verifier when destroying context + +* Wed Feb 25 2009 Fedora Release Engineering - 0.1.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 28 2009 Steve Dickson 0.1.10-4 +- Converted all uids and uids to type uid_t and gid_t (sf 2446314) + +* Wed Jan 28 2009 Steve Dickson 0.1.10-3 +- backwards compatibility: fix order of fields in TI-RPC's + svc_req (bz 481388) +- Removed a number warnings. + +* Thu Jan 22 2009 Steve Dickson 0.1.10-2 +- Header file fixes for C++ + +* Thu Nov 20 2008 Steve Dickson 0.1.10-1 +- Updated to latest upstream version: 0.1.10 + +* Tue Oct 28 2008 Steve Dickson 0.1.9-7 +- Fixed some incorrect function declarations (bz468815) + +* Mon Oct 27 2008 Steve Dickson 0.1.9-6 +- Fix bad assumption taddr2uaddr processing that + caused a segfault (bz468014) + +* Tue Sep 16 2008 Steve Dickson 0.1.9-5 +- Fix for taddr2addr conversion bug of local addresses +- Fixed some of warnings in: src/auth_time.c, src/clnt_dg.c and + src/clnt_raw.c +- Added some #ifdef NOTUSED around some code in src/rpbc_clnt.c + that was not being used... + +* Thu Sep 4 2008 Steve Dickson 0.1.9-4 +- Always make IPv6 sockets V6ONLY +- Fix incorrect sizeof() in __rpc_getbroadifs + +* Thu Aug 7 2008 Tom "spot" Callaway 0.1.9-3 +- fix license tag + +* Tue Jul 9 2008 Steve Dickson 0.1.9-1 +- Update to latest upstream version 0.1.9 + +* Fri Jun 27 2008 Steve Dickson 0.1.8-2 +- Added super-H(sh3,4) architecture support (bz 446559) + +* Tue Jun 10 2008 Steve Dickson 0.1.8-1 +- Update to latest upstream version 0.1.8 + +* Wed Mar 12 2008 Steve Dickson 0.1.7-18 +- Install man pages in the 3t section + +* Tue Feb 19 2008 Fedora Release Engineering - 0.1.7-17 +- Autorebuild for GCC 4.3 + +* Mon Feb 18 2008 Steve Dickson 0.1.7-16 +- Added patch that creates a libtirpc.pc used by the + pkg-config command. + +* Thu Jan 24 2008 Steve Dickson 0.1.7-15 +- Protect from buffer overflow in the GSS code. (bz 362121) + +* Mon Dec 17 2007 Steve Dickson 0.1.7-14 +- Fixed typo in /etc/netconfig file (bz 414471) + +* Thu Oct 25 2007 Steve Dickson 0.1.7-13 +- Added a check for the ARM arch (bz 351071) + +* Wed Oct 17 2007 Steve Dickson 0.1.7-12 +- Switch the libgssapi dependency to libgssglue + +* Mon Oct 15 2007 Steve Dickson 0.1.7-11 +- Made tcp6/udp6 network ids no longer visible in the netconfig + file since the ipv6 code is not fully baked yet in rpcbind. (bz 249121) + +* Wed Aug 29 2007 Fedora Release Engineering - 0.1.7-10 +- Rebuild for selinux ppc32 issue. + +* Mon Jul 30 2007 0.1.7-9 +- Fixed mutex lock problem in clnt_raw_create() +- Ignore the return value of snprintf() and use strlen() instead + to bump the pointer in clnt_sperror() +- A couple ntohs() were needed in bindresvport_sa() +- Added IP_RECVERR processing with to clnt_dg_call() so + application will see errors instead of timing out +- Make sure remote address (xp_rtaddr) is populated + with the correct type of address. +- Change the order of network ids in /etc/netconfg + putting ipv4 ids before ipv6. +- Bumped up Release from 8 to 9. + +* Mon Jul 9 2007 0.1.7-7 +- Fixed infinite loop in svc_run() (bz 246677) + +* Thu Apr 26 2007 0.1.7-6 +- Fixed potential buffer overflow in xdr_strings +- Added a optimization to bindresvport that allows more + ports to be tried. + +* Mon Mar 26 2007 Steve Dickson 0.1.7-5 +- Fixed Unowned Directory RPM problem (bz 233873) + +* Mon Aug 28 2006 Steve Dickson 0.1.7-4 +- Fixed undefined symbol (bz 204296) + +* Mon Aug 14 2006 Steve Dickson 0.1.7-3 +- Added in svc_auth_none needed by the GSSAPI code. +- Added compile define for ppc64 archs + +* Fri Aug 11 2006 Steve Dickson 0.1.7-2 +- Uncommented tcp6 and udp6 in the default /etc/netconfig file. +- Added hooks to used the libgssapi library. + +* Fri Aug 4 2006 Steve Dickson 0.1.7-1 +- Initial commit