diff --git a/libtirpc-1.3.2-rc2.patch b/libtirpc-1.3.2-rc2.patch new file mode 100644 index 0000000..f47bc59 --- /dev/null +++ b/libtirpc-1.3.2-rc2.patch @@ -0,0 +1,96 @@ +diff --git a/doc/bindresvport.blacklist b/doc/bindresvport.blacklist +index a7ed193..67ff771 100644 +--- a/doc/bindresvport.blacklist ++++ b/doc/bindresvport.blacklist +@@ -8,7 +8,11 @@ + 631 # cups + 636 # ldaps + 664 # Secure ASF, used by IPMI on some cards ++749 # Kerberos V kadmin + 774 # rpasswd ++873 # rsyncd + 921 # lwresd ++992 # SSL-enabled telnet + 993 # imaps ++994 # irc + 995 # pops +diff --git a/src/auth_gss.c b/src/auth_gss.c +index d871672..e317664 100644 +--- a/src/auth_gss.c ++++ b/src/auth_gss.c +@@ -982,3 +982,9 @@ rpc_gss_max_data_length(AUTH *auth, int maxlen) + rpc_gss_clear_error(); + return result; + } ++ ++bool_t ++is_authgss_client(CLIENT *clnt) ++{ ++ return (clnt->cl_auth->ah_ops == &authgss_ops); ++} +diff --git a/src/clnt_dg.c b/src/clnt_dg.c +index abc09f1..e1255de 100644 +--- a/src/clnt_dg.c ++++ b/src/clnt_dg.c +@@ -61,6 +61,9 @@ + #include + #endif + ++#ifdef HAVE_RPCSEC_GSS ++#include ++#endif + + #define MAX_DEFAULT_FDS 20000 + +@@ -334,6 +337,11 @@ clnt_dg_call(cl, proc, xargs, argsp, xresults, resultsp, utimeout) + salen = cu->cu_rlen; + } + ++#ifdef HAVE_RPCSEC_GSS ++ if (is_authgss_client(cl)) ++ nrefreshes = 0; ++#endif ++ + /* Clean up in case the last call ended in a longjmp(3) call. */ + call_again: + xdrs = &(cu->cu_outxdrs); +diff --git a/src/clnt_vc.c b/src/clnt_vc.c +index 6f7f7da..a07e297 100644 +--- a/src/clnt_vc.c ++++ b/src/clnt_vc.c +@@ -69,6 +69,10 @@ + #include "rpc_com.h" + #include "clnt_fd_locks.h" + ++#ifdef HAVE_RPCSEC_GSS ++#include ++#endif ++ + #define MCALL_MSG_SIZE 24 + + #define CMGROUP_MAX 16 +@@ -363,6 +367,11 @@ clnt_vc_call(cl, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout) + (xdr_results == NULL && timeout.tv_sec == 0 + && timeout.tv_usec == 0) ? FALSE : TRUE; + ++#ifdef HAVE_RPCSEC_GSS ++ if (is_authgss_client(cl)) ++ refreshes = 0; ++#endif ++ + call_again: + xdrs->x_op = XDR_ENCODE; + ct->ct_error.re_status = RPC_SUCCESS; +diff --git a/tirpc/rpc/auth_gss.h b/tirpc/rpc/auth_gss.h +index 5316ed6..f2af6e9 100644 +--- a/tirpc/rpc/auth_gss.h ++++ b/tirpc/rpc/auth_gss.h +@@ -120,6 +120,8 @@ void gss_log_debug (const char *fmt, ...); + void gss_log_status (char *m, OM_uint32 major, OM_uint32 minor); + void gss_log_hexdump (const u_char *buf, int len, int offset); + ++bool_t is_authgss_client (CLIENT *); ++ + #ifdef __cplusplus + } + #endif diff --git a/libtirpc.spec b/libtirpc.spec index 995d04f..f95a499 100644 --- a/libtirpc.spec +++ b/libtirpc.spec @@ -2,12 +2,14 @@ Name: libtirpc Version: 1.3.1 -Release: 1%{?dist} +Release: 1.rc2%{?dist} Summary: Transport Independent RPC Library License: SISSL and BSD URL: http://git.linux-nfs.org/?p=steved/libtirpc.git;a=summary Source0: http://downloads.sourceforge.net/libtirpc/libtirpc-%{version}.tar.bz2 +Patch001: libtirpc-1.3.2-rc2.patch + BuildRequires: automake, autoconf, libtool, pkgconfig BuildRequires: krb5-devel BuildRequires: gcc @@ -112,6 +114,9 @@ mv %{buildroot}%{_mandir}/man3 %{buildroot}%{_mandir}/man3t %{_mandir}/*/* %changelog +* Wed Apr 7 2021 Steve Dickson - 1.3.1.rc2 +- Updated to the latest upstream RC release: libtirpc-1-3-2-rc2 + * Tue Jan 26 2021 Fedora Release Engineering - 1.3.1-1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild