diff options
Diffstat (limited to 'nis/nss_nis/nis-publickey.c')
-rw-r--r-- | nis/nss_nis/nis-publickey.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/nis/nss_nis/nis-publickey.c b/nis/nss_nis/nis-publickey.c index aad4da5cc2..f50f7095fc 100644 --- a/nis/nss_nis/nis-publickey.c +++ b/nis/nss_nis/nis-publickey.c @@ -23,22 +23,24 @@ #include <string.h> #include <syslog.h> #include <libc-lock.h> -#include <rpc/key_prot.h> +#include <rpc/rpc.h> #include <rpcsvc/yp.h> #include <rpcsvc/ypclnt.h> +#if defined (HAVE_SECURE_RPC) +#include <rpc/key_prot.h> +extern int xdecrypt (char *, char *); +#endif #include "nss-nis.h" -extern int xdecrypt (char *, char *); - -/* If we found the entry, we give a SUCCESS and an empty key back. */ +/* If we haven't found the entry, we give a SUCCESS and an empty key back. */ enum nss_status _nss_nis_getpublickey (const char *netname, char *pkey) { enum nss_status retval; char *domain, *result; int len; - + pkey[0] = 0; if (netname == NULL) @@ -75,6 +77,7 @@ _nss_nis_getpublickey (const char *netname, char *pkey) enum nss_status _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd) { +#if defined (HAVE_SECURE_RPC) enum nss_status retval; char buf[1024]; char *domain, *result; @@ -120,6 +123,9 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd) buf[HEXKEYBYTES] = 0; strcpy (skey, buf); } +#else + skey[0] = 0; +#endif return NSS_STATUS_SUCCESS; } |