forked from pool/libtirpc
Marcus Meissner
4b133a860c
- Add some patches to get libtirpc compiled without needing glibc deprecated functions: - 015-Fix-includes-to-compile-without-deprecated-glibc-fun.patch - 014-Add-des_crypt.c-and-des_impl.c-to-become-independent.patch - 013-If-we-don-t-compile-in-YP-support-don-t-include-YP-h.patch - Add 012-libtirpc-needs-rpcsvc-nis.h-for-compiling-but-does-n.patch to allow bootstrapping of libtirpc without glibc sunrpc code or libnsl NIS+ code. - Add 011-Fix-typo-in-src-libtirpc.map-which-prevents-that-key.patch (fix export of key_secretkey_is_set) - Add the following patches to fix some bugs from the poll() port and an endless loop: - 006-Remove-old-meanwhile-wrong-comment-about-FD_SETSIZE-.patch - 007-Change-rtime-function-to-use-poll-instead-of-select.patch - 008-Add-parameters-to-local-prototypes-to-fix-compiler-w.patch - 009-makefd_xprt-checks-that-the-filedesriptor-is-lower-t.patch - 010-The-goto-again-statement-was-an-left-over-from-the-p.patch - Remove 004-netconfig-prefer-IPv6.patch for SLES12. - Remove libtirpc-getnetconfig-races.patch (was backport). [FATE#320393] - Drop libtirpc-xdr-header.patch (was backport) - Fix public xdr.h header - xdr_rpcvers() were broken (bsc#902439) Added: libtirpc-xdr-header.patch - Fix race conditions in getnetconfig (bsc#899576, bsc#882973) Added: libtirpc-getnetconfig-races.patch OBS-URL: https://build.opensuse.org/request/show/381804 OBS-URL: https://build.opensuse.org/package/show/Base:System/libtirpc?expand=0&rev=57
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
|
|
|