summaryrefslogtreecommitdiff
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;
}