about summary refs log tree commit diff
path: root/nis/nss_nis/nis-publickey.c
diff options
context:
space:
mode:
Diffstat (limited to 'nis/nss_nis/nis-publickey.c')
-rw-r--r--nis/nss_nis/nis-publickey.c16
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;
 }