From cfc70fb4c54e044f724516e9352f974187adb448 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 10 Nov 2012 22:04:12 +0100
Subject: [PATCH] Do not try to use NSS support when not available in the C
 library

uClibc does not have NSS support, so it is unnecessary to tell the C
library to use the "files" as the source for "services", since it is
the only possible choice.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 src/rpcbind.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/rpcbind.c b/src/rpcbind.c
index 525ffba..cde8685 100644
--- a/src/rpcbind.c
+++ b/src/rpcbind.c
@@ -67,7 +67,9 @@
 #include <pwd.h>
 #include <string.h>
 #include <errno.h>
+#ifdef HAVE_NSS_H
 #include <nss.h>
+#endif
 #include "config.h"
 #include "rpcbind.h"
 
@@ -156,11 +158,13 @@ main(int argc, char *argv[])
 		exit(1);
 	}
 
+#ifdef HAVE_NSS_H
 	/*
 	 * Make sure we use the local service file 
 	 * for service lookkups
 	 */
 	__nss_configure_lookup("services", "files");
+#endif
 
 	nc_handle = setnetconfig(); 	/* open netconfig file */
 	if (nc_handle == NULL) {
@@ -222,11 +226,13 @@ main(int argc, char *argv[])
 		struct passwd *p;
 		char *id = runasdaemon ? RUN_AS : rpcbinduser;
 
+#ifdef HAVE_NSS_H
 		/*
 		 * Make sure we use the local password file
 		 * for these lookups.
 		 */
 		__nss_configure_lookup("passwd", "files");
+#endif
 
 		if((p = getpwnam(id)) == NULL) {
 			syslog(LOG_ERR, "cannot get uid of '%s': %m", id);
-- 
1.7.9.5

