summary refs log tree commit diff
path: root/pkgs/servers/rpcbind
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-01-13 21:16:28 +0300
committerNikolay Amiantov <ab@fmap.me>2016-01-13 21:21:43 +0300
commitf48d1f088d4e274a378fb86480f86dbccd70660f (patch)
tree8a0653467d7e762ac178d2c103f76a479405e410 /pkgs/servers/rpcbind
parent9aca5edfdd1a55fe0af61b81df5ee16a3064028b (diff)
downloadnixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.tar
nixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.tar.gz
nixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.tar.bz2
nixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.tar.lz
nixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.tar.xz
nixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.tar.zst
nixpkgs-f48d1f088d4e274a378fb86480f86dbccd70660f.zip
rpcbind: fix for libtiprc 1.0.1
Diffstat (limited to 'pkgs/servers/rpcbind')
-rw-r--r--pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch43
-rw-r--r--pkgs/servers/rpcbind/default.nix5
2 files changed, 47 insertions, 1 deletions
diff --git a/pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch b/pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch
new file mode 100644
index 00000000000..16b763ef0de
--- /dev/null
+++ b/pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch
@@ -0,0 +1,43 @@
+From 9194122389f2a56b1cd1f935e64307e2e963c2da Mon Sep 17 00:00:00 2001
+From: Steve Dickson <steved@redhat.com>
+Date: Mon, 2 Nov 2015 17:05:18 -0500
+Subject: [PATCH] handle_reply: Don't use the xp_auth pointer directly
+
+In the latest libtirpc version to access the xp_auth
+one must use the SVC_XP_AUTH macro. To be backwards
+compatible a couple ifdefs were added to use the
+macro when it exists.
+
+Upstream-Status: Backport
+
+Signed-off-by: Steve Dickson <steved@redhat.com>
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ src/rpcb_svc_com.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
+index 4ae93f1..22d6c84 100644
+--- a/src/rpcb_svc_com.c
++++ b/src/rpcb_svc_com.c
+@@ -1295,10 +1295,17 @@ handle_reply(int fd, SVCXPRT *xprt)
+ 	a.rmt_localvers = fi->versnum;
+ 
+ 	xprt_set_caller(xprt, fi);
++#if defined(SVC_XP_AUTH)
++	SVC_XP_AUTH(xprt) = svc_auth_none;
++#else 
+ 	xprt->xp_auth = &svc_auth_none;
++#endif
+ 	svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (char *) &a);
++#if !defined(SVC_XP_AUTH)
+ 	SVCAUTH_DESTROY(xprt->xp_auth);
+ 	xprt->xp_auth = NULL;
++#endif
++
+ done:
+ 	if (buffer)
+ 		free(buffer);
+-- 
+2.4.0
+
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 6eb8a57cab4..7cb2c5a0c38 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -10,7 +10,10 @@ in stdenv.mkDerivation rec {
     sha256 = "0yyjzv4161rqxrgjcijkrawnk55rb96ha0pav48s03l2klx855wq";
   };
 
-  patches = [ ./sunrpc.patch ];
+  patches = [
+    ./sunrpc.patch
+    ./0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch
+  ];
 
   buildInputs = [ libtirpc ]
              ++ stdenv.lib.optional useSystemd systemd;