summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2016-08-19 11:37:34 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2016-08-19 11:37:34 +0000
commit33736cadb4f8ed87b0c2c0a7be9a00c649f87673 (patch)
treec57d1afe92cc26425eb49815935fc3515054231a
parent1cafe04f396b886fcb0351313e1e18897f0882aa (diff)
parentd420209d9c807f782c1d31f5683be74798142198 (diff)
downloadillumos-joyent-33736cadb4f8ed87b0c2c0a7be9a00c649f87673.tar.gz
[illumos-gate merge]
commit d420209d9c807f782c1d31f5683be74798142198 7233 dir_is_empty should open directory with CLOEXEC commit 1033d75249caf2f4829363492fba5ce7044cd11f 7287 smb pam module not picking up libsmb from proto area
-rw-r--r--usr/src/lib/libzfs/common/libzfs_mount.c12
-rw-r--r--usr/src/lib/pam_modules/smb/Makefile.com5
-rw-r--r--usr/src/lib/pam_modules/smb/amd64/Makefile3
-rw-r--r--usr/src/lib/pam_modules/smb/i386/Makefile3
-rw-r--r--usr/src/lib/pam_modules/smb/sparc/Makefile3
-rw-r--r--usr/src/lib/pam_modules/smb/sparcv9/Makefile3
6 files changed, 20 insertions, 9 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_mount.c b/usr/src/lib/libzfs/common/libzfs_mount.c
index f74860ba67..bc4dbf9c3d 100644
--- a/usr/src/lib/libzfs/common/libzfs_mount.c
+++ b/usr/src/lib/libzfs/common/libzfs_mount.c
@@ -22,7 +22,7 @@
/*
* Copyright 2015 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2014, 2015 by Delphix. All rights reserved.
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
*/
@@ -65,6 +65,7 @@
#include <dirent.h>
#include <dlfcn.h>
#include <errno.h>
+#include <fcntl.h>
#include <libgen.h>
#include <libintl.h>
#include <stdio.h>
@@ -180,9 +181,16 @@ dir_is_empty(const char *dirname)
{
DIR *dirp;
struct dirent64 *dp;
+ int dirfd;
- if ((dirp = opendir(dirname)) == NULL)
+ if ((dirfd = openat(AT_FDCWD, dirname,
+ O_RDONLY | O_NDELAY | O_LARGEFILE | O_CLOEXEC, 0)) < 0) {
return (B_TRUE);
+ }
+
+ if ((dirp = fdopendir(dirfd)) == NULL) {
+ return (B_TRUE);
+ }
while ((dp = readdir64(dirp)) != NULL) {
diff --git a/usr/src/lib/pam_modules/smb/Makefile.com b/usr/src/lib/pam_modules/smb/Makefile.com
index 8afe5b8232..518564ca79 100644
--- a/usr/src/lib/pam_modules/smb/Makefile.com
+++ b/usr/src/lib/pam_modules/smb/Makefile.com
@@ -23,7 +23,7 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
+# Copyright 2016 RackTop Systems.
#
LIBRARY= pam_smb_passwd.a
@@ -32,8 +32,7 @@ OBJECTS= smb_passwd.o
include ../../Makefile.pam_modules
-LDLIBS += -lpam -lc
-LDLIBS += -L$(ROOT)/usr/lib/smbsrv -lsmb
+LDLIBS += -lsmb -lpam -lc
all: $(LIBS)
diff --git a/usr/src/lib/pam_modules/smb/amd64/Makefile b/usr/src/lib/pam_modules/smb/amd64/Makefile
index 8b0fed8b9f..d2d77bfc78 100644
--- a/usr/src/lib/pam_modules/smb/amd64/Makefile
+++ b/usr/src/lib/pam_modules/smb/amd64/Makefile
@@ -23,12 +23,13 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
+# Copyright 2016 RackTop Systems.
#
include ../Makefile.com
include ../../../Makefile.lib.64
+LDLIBS += -L$(ROOT)/usr/lib/smbsrv/$(MACH64)
DYNFLAGS += -R/usr/lib/smbsrv/$(MACH64)
DYNFLAGS += $(ROOT)/usr/lib/$(MACH64)/passwdutil.so.1
diff --git a/usr/src/lib/pam_modules/smb/i386/Makefile b/usr/src/lib/pam_modules/smb/i386/Makefile
index 5be2ca90df..fefb0fc549 100644
--- a/usr/src/lib/pam_modules/smb/i386/Makefile
+++ b/usr/src/lib/pam_modules/smb/i386/Makefile
@@ -23,11 +23,12 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
+# Copyright 2016 RackTop Systems.
#
include ../Makefile.com
+LDLIBS += -L$(ROOT)/usr/lib/smbsrv
DYNFLAGS += -R/usr/lib/smbsrv
DYNFLAGS += $(ROOT)/usr/lib/passwdutil.so.1
diff --git a/usr/src/lib/pam_modules/smb/sparc/Makefile b/usr/src/lib/pam_modules/smb/sparc/Makefile
index 5be2ca90df..fefb0fc549 100644
--- a/usr/src/lib/pam_modules/smb/sparc/Makefile
+++ b/usr/src/lib/pam_modules/smb/sparc/Makefile
@@ -23,11 +23,12 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
+# Copyright 2016 RackTop Systems.
#
include ../Makefile.com
+LDLIBS += -L$(ROOT)/usr/lib/smbsrv
DYNFLAGS += -R/usr/lib/smbsrv
DYNFLAGS += $(ROOT)/usr/lib/passwdutil.so.1
diff --git a/usr/src/lib/pam_modules/smb/sparcv9/Makefile b/usr/src/lib/pam_modules/smb/sparcv9/Makefile
index 8b0fed8b9f..d2d77bfc78 100644
--- a/usr/src/lib/pam_modules/smb/sparcv9/Makefile
+++ b/usr/src/lib/pam_modules/smb/sparcv9/Makefile
@@ -23,12 +23,13 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
+# Copyright 2016 RackTop Systems.
#
include ../Makefile.com
include ../../../Makefile.lib.64
+LDLIBS += -L$(ROOT)/usr/lib/smbsrv/$(MACH64)
DYNFLAGS += -R/usr/lib/smbsrv/$(MACH64)
DYNFLAGS += $(ROOT)/usr/lib/$(MACH64)/passwdutil.so.1