[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