summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2002-08-21 19:59:23 +0000
committerJelmer Vernooij <jelmer@samba.org>2002-08-21 19:59:23 +0000
commitd3aa76cef528a15571cade12ebdd10973f4ca579 (patch)
treebf5d26005dc4f8c88d58532c3aa1728c36edf01b
parent30e51241ecdda2724c441e372e6f99857719630f (diff)
downloadsamba-d3aa76cef528a15571cade12ebdd10973f4ca579.tar.gz
samba-d3aa76cef528a15571cade12ebdd10973f4ca579.tar.bz2
samba-d3aa76cef528a15571cade12ebdd10973f4ca579.zip
Patch from Paul Green <Paul.Green@stratus.com> to be more POSIX-compatible
(This used to be commit addf29e6765393b25c35bd833d29e29e4581c233)
-rw-r--r--source3/include/includes.h4
-rw-r--r--source3/lib/util_sock.c2
-rw-r--r--source3/libsmb/clifile.c2
-rw-r--r--source3/nsswitch/winbind_nss_config.h4
-rw-r--r--source3/profile/profile.c8
-rw-r--r--source3/utils/status.c6
6 files changed, 24 insertions, 2 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 6084d583ed..9b597db78b 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -216,7 +216,11 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
+
+#ifdef WITH_SYSLOG
#include <syslog.h>
+#endif
+
#include <sys/file.h>
#ifdef HAVE_NETINET_TCP_H
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c
index 5e2b7c5ed9..56ef4a6ab1 100644
--- a/source3/lib/util_sock.c
+++ b/source3/lib/util_sock.c
@@ -871,7 +871,7 @@ static BOOL matchname(char *remotehost,struct in_addr addr)
/* Look up the host address in the address list we just got. */
for (i = 0; hp->h_addr_list[i]; i++) {
- if (memcmp(hp->h_addr_list[i], (caddr_t) & addr, sizeof(addr)) == 0)
+ if (memcmp(hp->h_addr_list[i], (char *) & addr, sizeof(addr)) == 0)
return True;
}
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index a47c956a55..07b1ff6b6f 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -94,7 +94,7 @@ uint32 unix_perms_to_wire(mode_t perms)
ret |= ((perms & S_ISGID) ? UNIX_SET_GID : 0);
#endif
#ifdef S_ISUID
- ret |= ((perms & S_ISVTX) ? UNIX_SET_UID : 0);
+ ret |= ((perms & S_ISUID) ? UNIX_SET_UID : 0);
#endif
return ret;
}
diff --git a/source3/nsswitch/winbind_nss_config.h b/source3/nsswitch/winbind_nss_config.h
index b9c738211e..00cd5c12e4 100644
--- a/source3/nsswitch/winbind_nss_config.h
+++ b/source3/nsswitch/winbind_nss_config.h
@@ -38,6 +38,10 @@
#include <unistd.h>
#endif
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
diff --git a/source3/profile/profile.c b/source3/profile/profile.c
index 595593c6f0..bbcfc780e8 100644
--- a/source3/profile/profile.c
+++ b/source3/profile/profile.c
@@ -21,7 +21,9 @@
#include "includes.h"
+#ifdef WITH_PROFILE
#define IPC_PERMS ((SHM_R | SHM_W) | (SHM_R>>3) | (SHM_R>>6))
+#endif /* WITH_PROFILE */
static int shm_id;
static BOOL read_only;
@@ -45,6 +47,7 @@ void profile_message(int msg_type, pid_t src, void *buf, size_t len)
int level;
memcpy(&level, buf, sizeof(int));
+#ifdef WITH_PROFILE
switch (level) {
case 0: /* turn off profiling */
do_profile_flag = False;
@@ -66,6 +69,9 @@ void profile_message(int msg_type, pid_t src, void *buf, size_t len)
DEBUG(1,("INFO: Profiling values cleared from pid %d\n", (int)src));
break;
}
+#else /* WITH_PROFILE */
+ DEBUG(1,("INFO: Profiling support unavailable in this build.\n"));
+#endif /* WITH_PROFILE */
}
/****************************************************************************
@@ -87,6 +93,7 @@ void reqprofile_message(int msg_type, pid_t src, void *buf, size_t len)
/*******************************************************************
open the profiling shared memory area
******************************************************************/
+#ifdef WITH_PROFILE
BOOL profile_setup(BOOL rdonly)
{
struct shmid_ds shm_ds;
@@ -154,3 +161,4 @@ BOOL profile_setup(BOOL rdonly)
message_register(MSG_REQ_PROFILELEVEL, reqprofile_message);
return True;
}
+#endif /* WITH_PROFILE */
diff --git a/source3/utils/status.c b/source3/utils/status.c
index 0b0c591cb1..d87497f2fa 100644
--- a/source3/utils/status.c
+++ b/source3/utils/status.c
@@ -146,6 +146,7 @@ static void print_brl(SMB_DEV_T dev, SMB_INO_T ino, int pid,
******************************************************************/
static int profile_dump(void)
{
+#ifdef WITH_PROFILE
if (!profile_setup(True)) {
fprintf(stderr,"Failed to initialise profile memory\n");
return -1;
@@ -482,6 +483,9 @@ static int profile_dump(void)
d_printf("run_elections_time: %u\n", profile_p->run_elections_time);
d_printf("election_count: %u\n", profile_p->election_count);
d_printf("election_time: %u\n", profile_p->election_time);
+#else /* WITH_PROFILE */
+ fprintf(stderr, "Profile data unavailable\n");
+#endif /* WITH_PROFILE */
return 0;
}
@@ -549,7 +553,9 @@ static int traverse_sessionid(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf, vo
{"conf", 's', POPT_ARG_STRING, 0, 's'},
{"user", 'u', POPT_ARG_STRING, 0, 'u'},
{"brief", 'b', POPT_ARG_NONE, &brief},
+#ifdef WITH_PROFILE
{"profile", 'P', POPT_ARG_NONE, &profile_only},
+#endif /* WITH_PROFILE */
{"byterange", 'B', POPT_ARG_NONE, &show_brl},
{ NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
{ 0, 0, 0, 0}