diff options
Diffstat (limited to 'libs/nixio')
-rw-r--r-- | libs/nixio/Makefile | 5 | ||||
-rw-r--r-- | libs/nixio/src/user.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libs/nixio/Makefile b/libs/nixio/Makefile index 2a7552daf..fb91388d0 100644 --- a/libs/nixio/Makefile +++ b/libs/nixio/Makefile @@ -10,6 +10,7 @@ AXTLS_VERSION = 1.2.1 AXTLS_DIR = axTLS AXTLS_FILE = $(AXTLS_DIR)-$(AXTLS_VERSION).tar.gz NIXIO_TLS ?= openssl +NIXIO_SHADOW ?= $(shell echo 'int main(void){ return !getspnam("root"); }' | $(CC) -include shadow.h -xc -o/dev/null - 2>/dev/null && echo yes) NIXIO_SO = nixio.so NIXIO_LDFLAGS = @@ -45,6 +46,10 @@ ifeq ($(NIXIO_TLS),) NIXIO_CFLAGS += -DNO_TLS endif +ifneq ($(NIXIO_SHADOW),yes) + NIXIO_CFLAGS += -DNO_SHADOW +endif + ifeq ($(OS),SunOS) NIXIO_LDFLAGS += -lsocket -lnsl -lsendfile diff --git a/libs/nixio/src/user.c b/libs/nixio/src/user.c index bc2184f99..b701bac95 100644 --- a/libs/nixio/src/user.c +++ b/libs/nixio/src/user.c @@ -28,7 +28,9 @@ #include <pwd.h> #ifndef BSD +#ifndef NO_SHADOW #include <shadow.h> +#endif #include <crypt.h> #endif @@ -162,6 +164,7 @@ static int nixio_getpw(lua_State *L) { } #ifndef BSD +#ifndef NO_SHADOW static int nixio__push_spwd(lua_State *L, struct spwd *sp) { lua_createtable(L, 0, 9); lua_pushstring(L, sp->sp_namp); @@ -216,6 +219,7 @@ static int nixio_getsp(lua_State *L) { return nixio__push_spwd(L, sp); } } +#endif /* !NO_SHADOW */ #endif /* !BSD */ static int nixio_crypt(lua_State *L) { @@ -239,8 +243,10 @@ static const luaL_reg R[] = { {"getgr", nixio_getgr}, {"getpw", nixio_getpw}, #ifndef BSD +#ifndef NO_SHADOW {"getsp", nixio_getsp}, #endif +#endif {NULL, NULL} }; |