diff options
Diffstat (limited to 'meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch')
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch new file mode 100644 index 0000000000..5b2aa3dfc6 --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/0001-configure.ac-Allow-for-disabling-NIS.patch @@ -0,0 +1,169 @@ +From b562294d35d8a87af2bcdbc32c15cc973e50ed4e Mon Sep 17 00:00:00 2001 +From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> +Date: Sun, 1 Mar 2015 12:18:05 +0100 +Subject: [PATCH 1/2] configure.ac: Allow for disabling NIS +To: libtirpc-devel@lists.sourceforge.net +Cc: Steve Dickson <SteveD@redhat.com> + +Yellow Pages might not be available, provide a config knob to disable +it. + +Upstream-Status: Submitted + +Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> +--- + configure.ac | 16 ++++++++++++++++ + src/Makefile.am | 6 +++++- + src/auth_des.c | 18 +++++++++++++++++- + src/auth_time.c | 3 ++- + 4 files changed, 40 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 10d17ea..d006ac9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -32,6 +32,22 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netine + AC_CHECK_LIB([pthread], [pthread_create]) + AC_CHECK_LIB([nsl], [yp_get_default_domain]) + ++AC_ARG_ENABLE([nis], ++ [AC_HELP_STRING([--disable-nis], ++ [Disable Yellow Pages (NIS) support @<:@default=no@:>@])], ++ [],[enable_nis=yes]) ++if test "x$enable_nis" != xno; then ++ AC_CHECK_HEADERS([rpcsvc/nis.h]) ++ if test "x$ac_cv_header_rpcsvc_nis_h" != xyes; then ++ AC_WARN([NIS enabled but no rpcsvc/nis.h header found]) ++ AC_WARN([Turning off NIS / YP support]) ++ enable_nis="no" ++ fi ++fi ++if test "x$enable_nis" != xno; then ++ AC_DEFINE([YP], [1], [Define to 1 if NIS is available]) ++fi ++AM_CONDITIONAL([YP], [test "x$enable_nis" != xno]) + + AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile]) + AC_OUTPUT(libtirpc.pc) +diff --git a/src/Makefile.am b/src/Makefile.am +index de57c8f..7861057 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -51,7 +51,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln + rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ + rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ + svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ +- auth_time.c auth_des.c authdes_prot.c debug.c ++ auth_des.c authdes_prot.c debug.c + + ## XDR + libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c +@@ -63,6 +63,10 @@ if GSS + libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) + endif + ++if YP ++ libtirpc_la_SOURCES += auth_time.c ++endif ++ + ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c + ## libtirpc_a_SOURCES += netname.c netnamer.c rpcdname.c \ + ## libtirpc_a_SOURCES += rtime.c \ +diff --git a/src/auth_des.c b/src/auth_des.c +index cff777c..be9d364 100644 +--- a/src/auth_des.c ++++ b/src/auth_des.c +@@ -48,7 +48,9 @@ + #include <rpc/xdr.h> + #include <sys/socket.h> + #undef NIS ++#ifdef HAVE_RPCSVC_NIS_H + #include <rpcsvc/nis.h> ++#endif + + #if defined(LIBC_SCCS) && !defined(lint) + #endif +@@ -68,8 +70,13 @@ extern bool_t xdr_authdes_cred( XDR *, struct authdes_cred *); + extern bool_t xdr_authdes_verf( XDR *, struct authdes_verf *); + extern int key_encryptsession_pk(); + ++#ifdef YP + extern bool_t __rpc_get_time_offset(struct timeval *, nis_server *, char *, + char **, char **); ++#else ++# define __rpc_get_time_offset(__a,__b,__c,__d, __e) (1) /* always valid */ ++# define nis_server char ++#endif + + /* + * DES authenticator operations vector +@@ -103,7 +110,9 @@ struct ad_private { + u_char ad_pkey[1024]; /* Server's actual public key */ + char *ad_netid; /* Timehost netid */ + char *ad_uaddr; /* Timehost uaddr */ ++#ifdef YP + nis_server *ad_nis_srvr; /* NIS+ server struct */ ++#endif + }; + + AUTH *authdes_pk_seccreate(const char *, netobj *, u_int, const char *, +@@ -148,7 +157,8 @@ authdes_seccreate(const char *servername, const u_int win, + */ + AUTH * + authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window, +- const char *timehost, const des_block *ckey, nis_server *srvr) ++ const char *timehost, const des_block *ckey, nis_server *srvr ++ ) + { + AUTH *auth; + struct ad_private *ad; +@@ -171,7 +181,9 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window, + ad->ad_timehost = NULL; + ad->ad_netid = NULL; + ad->ad_uaddr = NULL; ++#ifdef YP + ad->ad_nis_srvr = NULL; ++#endif + ad->ad_timediff.tv_sec = 0; + ad->ad_timediff.tv_usec = 0; + memcpy(ad->ad_pkey, pkey->n_bytes, pkey->n_len); +@@ -194,9 +206,11 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window, + } + memcpy(ad->ad_timehost, timehost, strlen(timehost) + 1); + ad->ad_dosync = TRUE; ++#ifdef YP + } else if (srvr != NULL) { + ad->ad_nis_srvr = srvr; /* transient */ + ad->ad_dosync = TRUE; ++#endif + } else { + ad->ad_dosync = FALSE; + } +@@ -224,7 +238,9 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window, + if (!authdes_refresh(auth, NULL)) { + goto failed; + } ++#ifdef YP + ad->ad_nis_srvr = NULL; /* not needed any longer */ ++#endif + auth_get(auth); /* Reference for caller */ + return (auth); + +diff --git a/src/auth_time.c b/src/auth_time.c +index 7cfbb7e..111de90 100644 +--- a/src/auth_time.c ++++ b/src/auth_time.c +@@ -43,8 +43,9 @@ + //#include <clnt_soc.h> + #include <sys/select.h> + #undef NIS ++#ifdef HAVE_RPCSVC_NIS_H + #include <rpcsvc/nis.h> +- ++#endif + + #ifdef TESTING + #define msg(x) printf("ERROR: %s\n", x) +-- +2.1.4 + |