forked from pool/libtirpc
144 lines
4.2 KiB
Diff
144 lines
4.2 KiB
Diff
|
From c4230a45c0daa8f65a3f777d183cba4b175a0c68 Mon Sep 17 00:00:00 2001
|
||
|
From: Thorsten Kukuk <kukuk@thkukuk.de>
|
||
|
Date: Mon, 14 Mar 2016 11:57:08 +0100
|
||
|
Subject: [PATCH 2/2] libtirpc needs rpcsvc/nis.h for compiling, but does not
|
||
|
provide this head file. It's only provided by glibc, if the sunrpc code is
|
||
|
not marked as deprecated, and by libnsl. But libnsl needs libtirpc to compile
|
||
|
...
|
||
|
|
||
|
Since we only need the nis_server * struct, the solution is to
|
||
|
create an internal minimal nis.h which only contains this struct.
|
||
|
|
||
|
Signed-off-by: Thorsten Kukuk <kukuk@thkukuk.de>
|
||
|
---
|
||
|
src/auth_des.c | 4 ++--
|
||
|
src/auth_time.c | 4 ++--
|
||
|
src/nis.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
src/rpc_soc.c | 2 +-
|
||
|
4 files changed, 75 insertions(+), 5 deletions(-)
|
||
|
create mode 100644 src/nis.h
|
||
|
|
||
|
diff --git a/src/auth_des.c b/src/auth_des.c
|
||
|
index 4d3639e..af2f61f 100644
|
||
|
--- a/src/auth_des.c
|
||
|
+++ b/src/auth_des.c
|
||
|
@@ -46,8 +46,8 @@
|
||
|
#include <rpc/clnt.h>
|
||
|
#include <rpc/xdr.h>
|
||
|
#include <sys/socket.h>
|
||
|
-#undef NIS
|
||
|
-#include <rpcsvc/nis.h>
|
||
|
+
|
||
|
+#include "nis.h"
|
||
|
|
||
|
#if defined(LIBC_SCCS) && !defined(lint)
|
||
|
#endif
|
||
|
diff --git a/src/auth_time.c b/src/auth_time.c
|
||
|
index 10e58eb..7f83ab4 100644
|
||
|
--- a/src/auth_time.c
|
||
|
+++ b/src/auth_time.c
|
||
|
@@ -44,8 +44,8 @@
|
||
|
#include <rpc/rpcb_prot.h>
|
||
|
//#include <clnt_soc.h>
|
||
|
#include <sys/select.h>
|
||
|
-#undef NIS
|
||
|
-#include <rpcsvc/nis.h>
|
||
|
+
|
||
|
+#include "nis.h"
|
||
|
|
||
|
|
||
|
#ifdef TESTING
|
||
|
diff --git a/src/nis.h b/src/nis.h
|
||
|
new file mode 100644
|
||
|
index 0000000..588c041
|
||
|
--- /dev/null
|
||
|
+++ b/src/nis.h
|
||
|
@@ -0,0 +1,70 @@
|
||
|
+/*
|
||
|
+ * Copyright (c) 2010, Oracle America, Inc.
|
||
|
+ *
|
||
|
+ * Redistribution and use in source and binary forms, with or without
|
||
|
+ * modification, are permitted provided that the following conditions are
|
||
|
+ * met:
|
||
|
+ *
|
||
|
+ * * Redistributions of source code must retain the above copyright
|
||
|
+ * notice, this list of conditions and the following disclaimer.
|
||
|
+ * * Redistributions in binary form must reproduce the above
|
||
|
+ * copyright notice, this list of conditions and the following
|
||
|
+ * disclaimer in the documentation and/or other materials
|
||
|
+ * provided with the distribution.
|
||
|
+ * * Neither the name of the "Oracle America, Inc." nor the names of its
|
||
|
+ * contributors may be used to endorse or promote products derived
|
||
|
+ * from this software without specific prior written permission.
|
||
|
+ *
|
||
|
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||
|
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||
|
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||
|
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||
|
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||
|
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
|
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||
|
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||
|
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||
|
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||
|
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||
|
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
+ */
|
||
|
+
|
||
|
+#ifndef _INTERNAL_NIS_H
|
||
|
+#define _INTERNAL_NIS_H 1
|
||
|
+
|
||
|
+/* This file only contains the definition of nis_server, to be
|
||
|
+ able to compile libtirpc without the need to have a glibc
|
||
|
+ with sunrpc or a libnsl already installed. */
|
||
|
+
|
||
|
+#define NIS_PK_NONE 0
|
||
|
+
|
||
|
+struct nis_attr {
|
||
|
+ char *zattr_ndx;
|
||
|
+ struct {
|
||
|
+ u_int zattr_val_len;
|
||
|
+ char *zattr_val_val;
|
||
|
+ } zattr_val;
|
||
|
+};
|
||
|
+typedef struct nis_attr nis_attr;
|
||
|
+
|
||
|
+typedef char *nis_name;
|
||
|
+
|
||
|
+struct endpoint {
|
||
|
+ char *uaddr;
|
||
|
+ char *family;
|
||
|
+ char *proto;
|
||
|
+};
|
||
|
+typedef struct endpoint endpoint;
|
||
|
+
|
||
|
+struct nis_server {
|
||
|
+ nis_name name;
|
||
|
+ struct {
|
||
|
+ u_int ep_len;
|
||
|
+ endpoint *ep_val;
|
||
|
+ } ep;
|
||
|
+ uint32_t key_type;
|
||
|
+ netobj pkey;
|
||
|
+};
|
||
|
+typedef struct nis_server nis_server;
|
||
|
+
|
||
|
+#endif /* ! _INTERNAL_NIS_H */
|
||
|
diff --git a/src/rpc_soc.c b/src/rpc_soc.c
|
||
|
index 1ec7b3f..ed0892a 100644
|
||
|
--- a/src/rpc_soc.c
|
||
|
+++ b/src/rpc_soc.c
|
||
|
@@ -61,8 +61,8 @@
|
||
|
#include <string.h>
|
||
|
#include <unistd.h>
|
||
|
#include <fcntl.h>
|
||
|
-#include <rpcsvc/nis.h>
|
||
|
|
||
|
+#include "nis.h"
|
||
|
#include "rpc_com.h"
|
||
|
|
||
|
extern mutex_t rpcsoc_lock;
|
||
|
--
|
||
|
1.8.5.6
|
||
|
|