[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Thu Oct 27 07:07:02 MDT 2011


The branch, master has been updated
       via  cdb7ef9 s3: Enable uid wrapper.
       via  7b5fb7d replace: Add don't include unistd.h directly and add uid_wrapper.
       via  2f65ae2 s3: Include uid_wrapper where it is missing.
       via  7cb0817 Include uid_wrapper correctly.
       via  32fb901 s3-waf: Don't link uid_wrapper more than once.
       via  8682c32 nsswitch: Disable uid_wrapper in libwbclient.
       via  f530960 uid_wrapper: Add uwrap_setresgid().
       via  0c4089b uid_wrapper: Fix build on UNIX platforms.
       via  e925ea8 uid_wrapper: Handle euid and egid 0.
       via  4c74718 uid_wrapper: Make sure we have initialized the wrapper.
       via  512f705 uid_wrapper: Fix prototypes.
       via  c7fbcf9 replace: Add checks for setreuid and setregid.
       via  72c95ba replace: Make sure we compile without uid_wrapper.
       via  bda9752 s3-netlogon: Fix setting the machinge account password.
      from  62ccae3 Factor out the code checking if a parent should override DELETE_ACCESS into a function.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit cdb7ef911831e215be185acaf7bf457b8a76b970
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Oct 27 12:01:09 2011 +0200

    s3: Enable uid wrapper.
    
    Autobuild-User: Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date: Thu Oct 27 15:06:58 CEST 2011 on sn-devel-104

commit 7b5fb7d9e88bf848173363f5a1e2a0f1db6c7293
Author: Andreas Schneider <asn at samba.org>
Date:   Sat Oct 8 12:10:20 2011 +0200

    replace: Add don't include unistd.h directly and add uid_wrapper.

commit 2f65ae25df489028963825940274703100eb1365
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 19:00:29 2011 +0200

    s3: Include uid_wrapper where it is missing.

commit 7cb08171ce5e4ce73a37d2f57f466fda0fd3669b
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Oct 27 12:00:53 2011 +0200

    Include uid_wrapper correctly.

commit 32fb9017eaa96b49bcdbf5508565e76e1a518b16
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 16:01:13 2011 +0200

    s3-waf: Don't link uid_wrapper more than once.
    
    The uid_wrapper is linked in globally by default if enabled.

commit 8682c32c1aee9b6790276644e44f16613a69ffe6
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 21:06:57 2011 +0200

    nsswitch: Disable uid_wrapper in libwbclient.
    
    This way we don't have to link against it in the autoconf build.

commit f53096032d271360225b71a4bd258f717ac8d6e2
Author: Andreas Schneider <asn at samba.org>
Date:   Sat Oct 8 10:52:02 2011 +0200

    uid_wrapper: Add uwrap_setresgid().

commit 0c4089bd1aa231b3b29521f6f932a81b5ea8ccc4
Author: Andreas Schneider <asn at samba.org>
Date:   Sat Oct 8 10:08:37 2011 +0200

    uid_wrapper: Fix build on UNIX platforms.

commit e925ea8d0c490de87b6c987ae03862eeaba65541
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 18:58:58 2011 +0200

    uid_wrapper: Handle euid and egid 0.

commit 4c747183e768d5f5a30aaad5d44d1d0bd0aa67d0
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 18:02:33 2011 +0200

    uid_wrapper: Make sure we have initialized the wrapper.

commit 512f705593c1072110b986f24260605e86055caa
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 18:06:53 2011 +0200

    uid_wrapper: Fix prototypes.

commit c7fbcf9b9834e5078218e2e7a9ba5a62a87fd45b
Author: Andreas Schneider <asn at samba.org>
Date:   Sat Oct 8 10:47:57 2011 +0200

    replace: Add checks for setreuid and setregid.

commit 72c95baa4b27aad59b16807bac6fae6eba0d8c4d
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 7 18:05:43 2011 +0200

    replace: Make sure we compile without uid_wrapper.

commit bda9752b1036c4d4db76a526a79a091419bf757c
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Oct 27 11:21:08 2011 +0200

    s3-netlogon: Fix setting the machinge account password.
    
    This bug has been found with uid wrapper.

-----------------------------------------------------------------------

Summary of changes:
 lib/replace/libreplace.m4                     |    3 +-
 lib/replace/system/filesys.h                  |   11 ++++
 lib/replace/system/network.h                  |   13 +++++
 lib/replace/system/passwd.h                   |   11 ++++
 lib/replace/wscript                           |    6 +-
 lib/uid_wrapper/uid_wrapper.c                 |   66 ++++++++++++++++++++++---
 lib/uid_wrapper/uid_wrapper.h                 |   15 +++++-
 lib/util/unix_privs.c                         |    9 ---
 lib/util/util.c                               |   10 +---
 nsswitch/libwbclient/wbc_pam.c                |    1 +
 nsswitch/pam_winbind.c                        |    2 +
 nsswitch/wb_common.c                          |    2 +
 source3/include/includes.h                    |    3 -
 source3/lib/pthreadpool/pthreadpool.c         |    2 +-
 source3/lib/system.c                          |    1 -
 source3/lib/util_sec.c                        |    2 +-
 source3/libsmb/smb_share_modes.c              |    1 +
 source3/printing/printing_db.c                |    1 +
 source3/registry/reg_dispatcher.c             |    1 +
 source3/registry/reg_parse.c                  |    2 -
 source3/rpc_server/eventlog/srv_eventlog_nt.c |    1 +
 source3/rpc_server/netlogon/srv_netlog_nt.c   |    5 ++
 source3/rpc_server/rpc_handles.c              |    1 +
 source3/rpc_server/srv_access_check.c         |    1 +
 source3/rpc_server/svcctl/srv_svcctl_nt.c     |    1 +
 source3/smbd/sec_ctx.c                        |    2 +-
 source3/smbd/service.c                        |    1 +
 source3/wscript_build                         |    4 +-
 source4/lib/policy/gp_filesys.c               |    4 +-
 source4/libcli/smb2/session.c                 |    3 +-
 source4/ntvfs/posix/pvfs_acl.c                |   10 +---
 source4/ntvfs/unixuid/vfs_unixuid.c           |   10 ----
 source4/torture/rpc/samr.c                    |    3 +-
 33 files changed, 139 insertions(+), 69 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/replace/libreplace.m4 b/lib/replace/libreplace.m4
index bc2993a..ca0c684 100644
--- a/lib/replace/libreplace.m4
+++ b/lib/replace/libreplace.m4
@@ -115,7 +115,8 @@ AC_CHECK_HEADERS(sys/mount.h mntent.h)
 AC_CHECK_HEADERS(stropts.h)
 AC_CHECK_HEADERS(unix.h)
 
-AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror strerror_r)
+AC_CHECK_FUNCS(seteuid setreuid setresuid setegid setregid setresgid)
+AC_CHECK_FUNCS(chroot bzero strerror strerror_r)
 AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename)
 AC_CHECK_FUNCS(waitpid wait4 strlcpy strlcat initgroups memmove strdup)
 AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp dup2 dprintf vdprintf)
diff --git a/lib/replace/system/filesys.h b/lib/replace/system/filesys.h
index 47ea4e4..e2c3c1d 100644
--- a/lib/replace/system/filesys.h
+++ b/lib/replace/system/filesys.h
@@ -189,4 +189,15 @@
 #define mkdir(d,m) _mkdir(d)
 #endif
 
+#ifdef UID_WRAPPER
+# ifndef UID_WRAPPER_DISABLE
+#  ifndef UID_WRAPPER_NOT_REPLACE
+#   define UID_WRAPPER_REPLACE
+#  endif /* UID_WRAPPER_NOT_REPLACE */
+#  include "../uid_wrapper/uid_wrapper.h"
+# endif /* UID_WRAPPER_DISABLE */
+#else /* UID_WRAPPER */
+# define uwrap_enabled() 0
+#endif /* UID_WRAPPER */
+
 #endif
diff --git a/lib/replace/system/network.h b/lib/replace/system/network.h
index a4e6a7e..7cb8d7b 100644
--- a/lib/replace/system/network.h
+++ b/lib/replace/system/network.h
@@ -31,6 +31,8 @@
 #error "AC_LIBREPLACE_NETWORK_CHECKS missing in configure"
 #endif
 
+#include <unistd.h>
+
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
@@ -374,4 +376,15 @@ struct addrinfo {
 #endif /* SOCKET_WRAPPER_DISABLE */
 #endif /* SOCKET_WRAPPER */
 
+#ifdef UID_WRAPPER
+# ifndef UID_WRAPPER_DISABLE
+#  ifndef UID_WRAPPER_NOT_REPLACE
+#   define UID_WRAPPER_REPLACE
+#  endif /* UID_WRAPPER_NOT_REPLACE */
+#  include "../uid_wrapper/uid_wrapper.h"
+# endif /* UID_WRAPPER_DISABLE */
+#else /* UID_WRAPPER */
+# define uwrap_enabled() 0
+#endif /* UID_WRAPPER */
+
 #endif
diff --git a/lib/replace/system/passwd.h b/lib/replace/system/passwd.h
index aaea9c8..f630012 100644
--- a/lib/replace/system/passwd.h
+++ b/lib/replace/system/passwd.h
@@ -109,4 +109,15 @@ char *rep_getpass(const char *prompt);
 #endif /* NSS_WRAPPER_DISABLE */
 #endif /* NSS_WRAPPER */
 
+#ifdef UID_WRAPPER
+# ifndef UID_WRAPPER_DISABLE
+#  ifndef UID_WRAPPER_NOT_REPLACE
+#   define UID_WRAPPER_REPLACE
+#  endif /* UID_WRAPPER_NOT_REPLACE */
+#  include "../uid_wrapper/uid_wrapper.h"
+# endif /* UID_WRAPPER_DISABLE */
+#else /* UID_WRAPPER */
+# define uwrap_enabled() 0
+#endif /* UID_WRAPPER */
+
 #endif
diff --git a/lib/replace/wscript b/lib/replace/wscript
index 57b10a9..e4fc72b 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -161,8 +161,8 @@ def configure(conf):
 
     conf.CHECK_FUNCS('shl_load shl_unload shl_findsym')
     conf.CHECK_FUNCS('pipe strftime srandom random srand rand usleep setbuffer')
-    conf.CHECK_FUNCS('lstat getpgrp utime utimes seteuid setresuid setegid')
-    conf.CHECK_FUNCS('setresgid chroot strerror vsyslog setlinebuf mktime')
+    conf.CHECK_FUNCS('lstat getpgrp utime utimes seteuid setreuid setresuid setegid')
+    conf.CHECK_FUNCS('setregid setresgid chroot strerror vsyslog setlinebuf mktime')
     conf.CHECK_FUNCS('ftruncate chsize rename waitpid wait4 strlcpy strlcat')
     conf.CHECK_FUNCS('initgroups pread pwrite strndup strcasestr')
     conf.CHECK_FUNCS('strtok_r mkdtemp dup2 dprintf vdprintf isatty chown lchown')
@@ -407,7 +407,7 @@ def build(bld):
         REPLACE_HOSTCC_SOURCE,
         use_hostcc=True,
         use_global_deps=False,
-        cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
+        cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -DUID_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
         group='compiler_libraries'
     )
 
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index 8229fbb..898d1af 100644
--- a/lib/uid_wrapper/uid_wrapper.c
+++ b/lib/uid_wrapper/uid_wrapper.c
@@ -1,5 +1,6 @@
 /*
    Copyright (C) Andrew Tridgell 2009
+   Copyright (c) 2011      Andreas Schneider <asn at samba.org>
  
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,9 +19,9 @@
 #ifdef _SAMBA_BUILD_
 
 #define UID_WRAPPER_NOT_REPLACE
-#include "../replace/replace.h"
-#include <talloc.h>
+#include "replace.h"
 #include "system/passwd.h"
+#include <talloc.h>
 
 #else /* _SAMBA_BUILD_ */
 
@@ -38,7 +39,9 @@
 static struct {
 	bool initialised;
 	bool enabled;
+	uid_t myuid;
 	uid_t euid;
+	uid_t mygid;
 	gid_t egid;
 	gid_t *groups;
 } uwrap;
@@ -50,6 +53,8 @@ static void uwrap_init(void)
 	if (getenv("UID_WRAPPER")) {
 		uwrap.enabled = true;
 		/* put us in one group */
+		uwrap.myuid = uwrap.euid = geteuid();
+		uwrap.mygid = uwrap.egid = getegid();
 		uwrap.groups = talloc_array(NULL, gid_t, 1);
 		uwrap.groups[0] = 0;
 	}
@@ -62,6 +67,7 @@ _PUBLIC_ int uwrap_enabled(void)
 	return uwrap.enabled?1:0;
 }
 
+#ifdef HAVE_SETEUID
 _PUBLIC_ int uwrap_seteuid(uid_t euid)
 {
 	uwrap_init();
@@ -69,10 +75,16 @@ _PUBLIC_ int uwrap_seteuid(uid_t euid)
 		return seteuid(euid);
 	}
 	/* assume for now that the ruid stays as root */
-	uwrap.euid = euid;
+	if (euid == 0) {
+		uwrap.euid = uwrap.myuid;
+	} else {
+		uwrap.euid = euid;
+	}
 	return 0;
 }
+#endif
 
+#ifdef HAVE_SETREUID
 _PUBLIC_ int uwrap_setreuid(uid_t ruid, uid_t euid)
 {
 	uwrap_init();
@@ -80,10 +92,16 @@ _PUBLIC_ int uwrap_setreuid(uid_t ruid, uid_t euid)
 		return setreuid(ruid, euid);
 	}
 	/* assume for now that the ruid stays as root */
-	uwrap.euid = euid;
+	if (euid == 0) {
+		uwrap.euid = uwrap.myuid;
+	} else {
+		uwrap.euid = euid;
+	}
 	return 0;
 }
+#endif
 
+#ifdef HAVE_SETRESUID
 _PUBLIC_ int uwrap_setresuid(uid_t ruid, uid_t euid, uid_t suid)
 {
 	uwrap_init();
@@ -91,9 +109,14 @@ _PUBLIC_ int uwrap_setresuid(uid_t ruid, uid_t euid, uid_t suid)
 		return setresuid(ruid, euid, suid);
 	}
 	/* assume for now that the ruid stays as root */
-	uwrap.euid = euid;
+	if (euid == 0) {
+		uwrap.euid = uwrap.myuid;
+	} else {
+		uwrap.euid = euid;
+	}
 	return 0;
 }
+#endif
 
 _PUBLIC_ uid_t uwrap_geteuid(void)
 {
@@ -104,6 +127,7 @@ _PUBLIC_ uid_t uwrap_geteuid(void)
 	return uwrap.euid;
 }
 
+#ifdef HAVE_SETEGID
 _PUBLIC_ int uwrap_setegid(gid_t egid)
 {
 	uwrap_init();
@@ -111,10 +135,16 @@ _PUBLIC_ int uwrap_setegid(gid_t egid)
 		return setegid(egid);
 	}
 	/* assume for now that the ruid stays as root */
-	uwrap.egid = egid;
+	if (egid == 0) {
+		uwrap.egid = uwrap.mygid;
+	} else {
+		uwrap.egid = egid;
+	}
 	return 0;
 }
+#endif
 
+#ifdef HAVE_SETREGID
 _PUBLIC_ int uwrap_setregid(gid_t rgid, gid_t egid)
 {
 	uwrap_init();
@@ -122,9 +152,31 @@ _PUBLIC_ int uwrap_setregid(gid_t rgid, gid_t egid)
 		return setregid(rgid, egid);
 	}
 	/* assume for now that the ruid stays as root */
-	uwrap.egid = egid;
+	if (egid == 0) {
+		uwrap.egid = uwrap.mygid;
+	} else {
+		uwrap.egid = egid;
+	}
+	return 0;
+}
+#endif
+
+#ifdef HAVE_SETRESGID
+_PUBLIC_ int uwrap_setresgid(gid_t rgid, gid_t egid, gid_t sgid)
+{
+	uwrap_init();
+	if (!uwrap.enabled) {
+		return setresgid(rgid, egid, sgid);
+	}
+	/* assume for now that the ruid stays as root */
+	if (egid == 0) {
+		uwrap.egid = uwrap.mygid;
+	} else {
+		uwrap.egid = egid;
+	}
 	return 0;
 }
+#endif
 
 _PUBLIC_ uid_t uwrap_getegid(void)
 {
diff --git a/lib/uid_wrapper/uid_wrapper.h b/lib/uid_wrapper/uid_wrapper.h
index 51a11c5..680e544 100644
--- a/lib/uid_wrapper/uid_wrapper.h
+++ b/lib/uid_wrapper/uid_wrapper.h
@@ -1,5 +1,6 @@
 /*
    Copyright (C) Andrew Tridgell 2009
+   Copyright (c) 2011      Andreas Schneider <asn at samba.org>
  
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -25,13 +26,15 @@ int uwrap_setreuid(uid_t reuid, uid_t euid);
 int uwrap_setresuid(uid_t reuid, uid_t euid, uid_t suid);
 uid_t uwrap_geteuid(void);
 int uwrap_setegid(gid_t egid);
-int uwrap_setregid(gid_t egid);
+int uwrap_setregid(gid_t rgid, gid_t egid);
 uid_t uwrap_getegid(void);
 int uwrap_setgroups(size_t size, const gid_t *list);
 int uwrap_getgroups(int size, gid_t *list);
 uid_t uwrap_getuid(void);
 gid_t uwrap_getgid(void);
 
+#ifdef UID_WRAPPER_REPLACE
+
 #ifdef seteuid
 #undef seteuid
 #endif
@@ -55,7 +58,12 @@ gid_t uwrap_getgid(void);
 #ifdef setregid
 #undef setregid
 #endif
-#define setregid	uwrap_setegid
+#define setregid	uwrap_setregid
+
+#ifdef setresgid
+#undef setresgid
+#endif
+#define setresgid	uwrap_setresgid
 
 #ifdef geteuid
 #undef geteuid
@@ -87,5 +95,6 @@ gid_t uwrap_getgid(void);
 #endif
 #define getgid	uwrap_getgid
 
-#endif
+#endif /* UID_WRAPPER_REPLACE */
+#endif /* uwrap_enabled */
 #endif /* __UID_WRAPPER_H__ */
diff --git a/lib/util/unix_privs.c b/lib/util/unix_privs.c
index 9aa9a45..baa54fd 100644
--- a/lib/util/unix_privs.c
+++ b/lib/util/unix_privs.c
@@ -23,15 +23,6 @@
 #include "system/passwd.h"
 #include "../lib/util/unix_privs.h"
 
-#if defined(UID_WRAPPER)
-#if !defined(UID_WRAPPER_REPLACE) && !defined(UID_WRAPPER_NOT_REPLACE)
-#define UID_WRAPPER_REPLACE
-#include "../uid_wrapper/uid_wrapper.h"
-#endif
-#else
-#define uwrap_enabled() 0
-#endif
-
 /**
  * @file
  * @brief Gaining/losing root privileges
diff --git a/lib/util/util.c b/lib/util/util.c
index 133bd0d..c7c37bc 100644
--- a/lib/util/util.c
+++ b/lib/util/util.c
@@ -27,6 +27,7 @@
 #include "system/filesys.h"
 #include "system/locale.h"
 #include "system/shmem.h"
+#include "system/passwd.h"
 
 #undef malloc
 #undef strcasecmp
@@ -34,15 +35,6 @@
 #undef strdup
 #undef realloc
 
-#if defined(UID_WRAPPER)
-#if !defined(UID_WRAPPER_REPLACE) && !defined(UID_WRAPPER_NOT_REPLACE)
-#define UID_WRAPPER_REPLACE
-#include "../uid_wrapper/uid_wrapper.h"
-#endif
-#else
-#define uwrap_enabled() 0
-#endif
-
 /**
  * @file
  * @brief Misc utility functions
diff --git a/nsswitch/libwbclient/wbc_pam.c b/nsswitch/libwbclient/wbc_pam.c
index 585dfcf..0aa180c 100644
--- a/nsswitch/libwbclient/wbc_pam.c
+++ b/nsswitch/libwbclient/wbc_pam.c
@@ -23,6 +23,7 @@
 
 /* Required Headers */
 
+#define UID_WRAPPER_NOT_REPLACE
 #include "replace.h"
 #include "libwbclient.h"
 #include "../winbind_client.h"
diff --git a/nsswitch/pam_winbind.c b/nsswitch/pam_winbind.c
index e59a6d8..0497726 100644
--- a/nsswitch/pam_winbind.c
+++ b/nsswitch/pam_winbind.c
@@ -10,6 +10,8 @@
    <sopwith at redhat.com> (see copyright below for full details)
 */
 
+#define UID_WRAPPER_NOT_REPLACE
+
 #include "pam_winbind.h"
 
 static int wbc_error_to_pam_error(wbcErr status)
diff --git a/nsswitch/wb_common.c b/nsswitch/wb_common.c
index 80c729a..c56a76f 100644
--- a/nsswitch/wb_common.c
+++ b/nsswitch/wb_common.c
@@ -22,6 +22,8 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#define UID_WRAPPER_NOT_REPLACE
+
 #include "replace.h"
 #include "system/select.h"
 #include "winbind_client.h"
diff --git a/source3/include/includes.h b/source3/include/includes.h
index a6d2da0..562b64c 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -645,9 +645,6 @@ void dump_core(void) _NORETURN_;
 void exit_server(const char *const reason) _NORETURN_;
 void exit_server_cleanly(const char *const reason) _NORETURN_;
 
-/* samba3 doesn't use uwrap yet */
-#define uwrap_enabled() 0
-
 #define BASE_RID (0x000003E8L)
 
 #endif /* _INCLUDES_H */
diff --git a/source3/lib/pthreadpool/pthreadpool.c b/source3/lib/pthreadpool/pthreadpool.c
index 42b550d..c916dc0 100644
--- a/source3/lib/pthreadpool/pthreadpool.c
+++ b/source3/lib/pthreadpool/pthreadpool.c
@@ -20,7 +20,6 @@
 #include "config.h"
 #include <errno.h>
 #include <stdio.h>
-#include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
 #include <pthread.h>
@@ -28,6 +27,7 @@
 #include <assert.h>
 #include <fcntl.h>
 #include "system/time.h"
+#include "system/filesys.h"
 
 #include "pthreadpool.h"
 #include "lib/util/dlinklist.h"
diff --git a/source3/lib/system.c b/source3/lib/system.c
index 45fe77e..8598841 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -25,7 +25,6 @@
 #include "system/capability.h"
 #include "system/passwd.h"
 #include "system/filesys.h"
-#include "lib/uid_wrapper/uid_wrapper.h"
 
 #ifdef HAVE_SYS_PRCTL_H
 #include <sys/prctl.h>
diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
index 0e2eee4..60ea214 100644
--- a/source3/lib/util_sec.c
+++ b/source3/lib/util_sec.c
@@ -19,7 +19,7 @@
 
 #ifndef AUTOCONF_TEST
 #include "includes.h"
-#include "lib/uid_wrapper/uid_wrapper.h"
+#include "system/passwd.h" /* uid_wrapper */
 #else
 /* we are running this code in autoconf test mode to see which type of setuid
    function works */
diff --git a/source3/libsmb/smb_share_modes.c b/source3/libsmb/smb_share_modes.c
index 7c0a6d2..42640e0 100644
--- a/source3/libsmb/smb_share_modes.c
+++ b/source3/libsmb/smb_share_modes.c
@@ -24,6 +24,7 @@
    License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */
 
+#define UID_WRAPPER_NOT_REPLACE
 #include "includes.h"
 #include "system/filesys.h"
 #include "smb_share_modes.h"
diff --git a/source3/printing/printing_db.c b/source3/printing/printing_db.c
index e442551..a3e1065 100644
--- a/source3/printing/printing_db.c
+++ b/source3/printing/printing_db.c
@@ -20,6 +20,7 @@
 */
 
 #include "includes.h"
+#include "system/passwd.h" /* uid_wrapper */
 #include "system/filesys.h"
 #include "printing.h"
 #include "util_tdb.h"
diff --git a/source3/registry/reg_dispatcher.c b/source3/registry/reg_dispatcher.c
index 5b52e98..765954e 100644
--- a/source3/registry/reg_dispatcher.c
+++ b/source3/registry/reg_dispatcher.c
@@ -24,6 +24,7 @@
  */
 
 #include "includes.h"
+#include "system/passwd.h" /* uid_wrapper */
 #include "registry.h"
 #include "reg_dispatcher.h"
 #include "../libcli/security/security.h"
diff --git a/source3/registry/reg_parse.c b/source3/registry/reg_parse.c


-- 
Samba Shared Repository


More information about the samba-cvs mailing list