summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2000-06-20 00:32:32 +0000
committerJeremy Allison <jra@samba.org>2000-06-20 00:32:32 +0000
commita69d47640cb150fbffa12dee68ead34a5b1931bb (patch)
tree78e5beec1be8f17dc16af61a7ebec349d1f638d2
parent5e06151e4d13f6c57559e73dcc88e03ec47c63a0 (diff)
downloadsamba-a69d47640cb150fbffa12dee68ead34a5b1931bb.tar.gz
samba-a69d47640cb150fbffa12dee68ead34a5b1931bb.tar.bz2
samba-a69d47640cb150fbffa12dee68ead34a5b1931bb.zip
Fixes for IRIX kernel oplocks and systems that don't have nss.h
Jeremy. (This used to be commit 711f15ac230092bac000e63f99e8dfaa4a644847)
-rwxr-xr-xsource3/configure2
-rw-r--r--source3/configure.in2
-rw-r--r--source3/include/config.h.in3
-rw-r--r--source3/nsswitch/winbind_nss_config.h10
-rw-r--r--source3/smbd/oplock_irix.c2
5 files changed, 16 insertions, 3 deletions
diff --git a/source3/configure b/source3/configure
index 3d3b28e396..e0a4d22f75 100755
--- a/source3/configure
+++ b/source3/configure
@@ -2578,7 +2578,7 @@ else
fi
done
-for ac_hdr in sys/security.h security/pam_appl.h
+for ac_hdr in nss.h sys/security.h security/pam_appl.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
diff --git a/source3/configure.in b/source3/configure.in
index 1ff89e02d0..b8a7226e92 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -201,7 +201,7 @@ case "$host_os" in
;;
esac
AC_CHECK_HEADERS(shadow.h netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h)
-AC_CHECK_HEADERS(sys/security.h security/pam_appl.h)
+AC_CHECK_HEADERS(nss.h sys/security.h security/pam_appl.h)
AC_CHECK_HEADERS(stropts.h poll.h readline.h history.h readline/readline.h)
AC_CHECK_HEADERS(readline/history.h sys/capability.h syscall.h sys/syscall.h)
AC_CHECK_HEADERS(sys/acl.h sys/cdefs.h glob.h)
diff --git a/source3/include/config.h.in b/source3/include/config.h.in
index 699dbe6fc9..ed5c5f6291 100644
--- a/source3/include/config.h.in
+++ b/source3/include/config.h.in
@@ -723,6 +723,9 @@
/* Define if you have the <netinet/tcp.h> header file. */
#undef HAVE_NETINET_TCP_H
+/* Define if you have the <nss.h> header file. */
+#undef HAVE_NSS_H
+
/* Define if you have the <poll.h> header file. */
#undef HAVE_POLL_H
diff --git a/source3/nsswitch/winbind_nss_config.h b/source3/nsswitch/winbind_nss_config.h
index 0aac5a786a..c8e43f396c 100644
--- a/source3/nsswitch/winbind_nss_config.h
+++ b/source3/nsswitch/winbind_nss_config.h
@@ -59,7 +59,17 @@
#include <sys/stat.h>
#include <errno.h>
#include <pwd.h>
+
+#ifdef HAVE_NSS_H
#include <nss.h>
+#else
+/* Minimal needed to compile.. */
+enum nss_status {
+NSS_STATUS_SUCCESS,
+NSS_STATUS_NOTFOUND,
+NSS_STATUS_UNAVAIL
+};
+#endif
/* I'm trying really hard not to include anything from smb.h with the
result of some silly looking redeclaration of structures. */
diff --git a/source3/smbd/oplock_irix.c b/source3/smbd/oplock_irix.c
index c4d528c835..cf1cbbb0fc 100644
--- a/source3/smbd/oplock_irix.c
+++ b/source3/smbd/oplock_irix.c
@@ -26,7 +26,6 @@
#if HAVE_KERNEL_OPLOCKS_IRIX
extern int DEBUGLEVEL;
-
static int oplock_pipe_write = -1;
static int oplock_pipe_read = -1;
@@ -93,6 +92,7 @@ Disabling kernel oplock support.\n", strerror(errno) ));
****************************************************************************/
static BOOL irix_oplock_receive_message(fd_set *fds, char *buffer, int buffer_len)
{
+ extern int smb_read_error;
oplock_stat_t os;
SMB_DEV_T dev;
SMB_INO_T inode;