[SCM] Samba Shared Repository - branch master updated - cd55fdd445cc5d1ab7b563336a46d80867af7197

Jelmer Vernooij jelmer at samba.org
Sat Nov 1 03:37:45 GMT 2008


The branch, master has been updated
       via  cd55fdd445cc5d1ab7b563336a46d80867af7197 (commit)
       via  31fa08dcbdc643ec738474c0be471e77925f76fc (commit)
       via  5a56c0adf2c63602b819d052644cb14caf732438 (commit)
       via  7b186c48d365ae8eda81ae9a0af100d2214bee32 (commit)
       via  6a2caa34b24c2225dba9da011eaa5cc3eb8752be (commit)
       via  c2a4db0c633f4cf01834c851efd07b7d891ce737 (commit)
       via  a6d537bb6cec25eb27cf8884ca5e3362a86818b3 (commit)
       via  38d67363aca81b970717c58b07e04396ae9dfd9f (commit)
       via  e8cda43e171c1aa8f4b858228e715290d400691c (commit)
       via  dbda9adfaf388f62cf359ea728ae303d81df81a9 (commit)
       via  bbbe6ab72284c78c095babd875070aaac8c477dd (commit)
       via  cdf8f5786387c4764fa790ab5def04dfff8b9af5 (commit)
       via  161d70a57ae8a17dcbc9c426bfff33c8c51318b7 (commit)
       via  dfc78b1dc2738264791e631c599d75e832aebde2 (commit)
       via  df766a303a9114969caa7c51e5e0e29d8e0e3850 (commit)
       via  ce67cf04564fa94bb5d6e8bc0dd3ee3b97e95e92 (commit)
      from  c165770f943d157c11d44566558ae07bf901bd26 (commit)

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


- Log -----------------------------------------------------------------
commit cd55fdd445cc5d1ab7b563336a46d80867af7197
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 04:36:24 2008 +0100

    Fix return type of readlink().

commit 31fa08dcbdc643ec738474c0be471e77925f76fc
Merge: 5a56c0adf2c63602b819d052644cb14caf732438 7b186c48d365ae8eda81ae9a0af100d2214bee32
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 04:02:47 2008 +0100

    Merge branch 'master' of /home/jelmer/samba3
    
    Conflicts:
    	lib/replace/README
    	lib/replace/libreplace.m4
    	lib/replace/replace.c
    	source3/include/proto.h
    	source3/lib/system.c

commit 5a56c0adf2c63602b819d052644cb14caf732438
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:58:14 2008 +0100

    Use dup2() replacement from libreplace.

commit 7b186c48d365ae8eda81ae9a0af100d2214bee32
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:49:49 2008 +0100

    Remove sys_dl*() - stubs are already provided by libreplace.

commit 6a2caa34b24c2225dba9da011eaa5cc3eb8752be
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:46:09 2008 +0100

    Remove sys_chroot() - libreplace already provides an alternative.

commit c2a4db0c633f4cf01834c851efd07b7d891ce737
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:43:30 2008 +0100

    Remove tests for functions provided by libreplace from configure.

commit a6d537bb6cec25eb27cf8884ca5e3362a86818b3
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:42:27 2008 +0100

    Move sys_realpath() to libreplace.

commit 38d67363aca81b970717c58b07e04396ae9dfd9f
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:39:20 2008 +0100

    Move sys_lchown() to libreplace.

commit e8cda43e171c1aa8f4b858228e715290d400691c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:35:58 2008 +0100

    Move sys_symlink() to libreplace.

commit dbda9adfaf388f62cf359ea728ae303d81df81a9
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:33:39 2008 +0100

    Move sys_readlink() to libreplace.

commit bbbe6ab72284c78c095babd875070aaac8c477dd
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:30:47 2008 +0100

    Move sys_link to libreplace.

commit cdf8f5786387c4764fa790ab5def04dfff8b9af5
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:29:06 2008 +0100

    Use 'regular' chown, libreplace will provide (dummy) replacement if necessary.

commit 161d70a57ae8a17dcbc9c426bfff33c8c51318b7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:27:45 2008 +0100

    Move sys_chown() to rep_chown().

commit dfc78b1dc2738264791e631c599d75e832aebde2
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 03:27:41 2008 +0100

    Only provide valgrind_strlen prototype when it's being compiled in.

commit df766a303a9114969caa7c51e5e0e29d8e0e3850
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 01:45:20 2008 +0100

    Support alternative include paths.

commit ce67cf04564fa94bb5d6e8bc0dd3ee3b97e95e92
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 1 01:29:12 2008 +0100

    Install additional libutil headers.

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

Summary of changes:
 lib/replace/README             |    7 ++
 lib/replace/libreplace.m4      |    4 +-
 lib/replace/replace.c          |   61 +++++++++++++++
 lib/replace/replace.h          |   40 ++++++++++
 lib/util/config.mk             |    2 +
 lib/util/util.h                |    4 +-
 source3/configure.in           |    6 +-
 source3/include/proto.h        |   12 ---
 source3/lib/debug.c            |    4 +-
 source3/lib/fault.c            |    2 +-
 source3/lib/module.c           |   16 ++--
 source3/lib/smbrun.c           |    4 +-
 source3/lib/system.c           |  163 ----------------------------------------
 source3/modules/gpfs.c         |   16 ++--
 source3/modules/vfs_default.c  |   12 ++--
 source3/modules/vfs_netatalk.c |    2 +-
 source3/smbd/chgpasswd.c       |    6 +-
 source3/smbd/server.c          |    2 +-
 source3/torture/nsstest.c      |    4 +-
 source4/headermap.txt          |    6 ++
 20 files changed, 157 insertions(+), 216 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/replace/README b/lib/replace/README
index 2f3b373..26383bc 100644
--- a/lib/replace/README
+++ b/lib/replace/README
@@ -46,6 +46,8 @@ mkdtemp
 mkstemp (a secure one!)
 pread
 pwrite
+chown
+lchown
 getpass
 readline (the library)
 inet_ntoa
@@ -64,6 +66,11 @@ getifaddrs
 freeifaddrs
 utime
 utimes
+dup2
+link
+readlink
+symlink
+realpath
 
 Types:
 bool
diff --git a/lib/replace/libreplace.m4 b/lib/replace/libreplace.m4
index 6f15438..30d7017 100644
--- a/lib/replace/libreplace.m4
+++ b/lib/replace/libreplace.m4
@@ -107,8 +107,8 @@ AC_CHECK_HEADERS(stropts.h)
 AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror)
 AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename)
 AC_CHECK_FUNCS(waitpid strlcpy strlcat initgroups memmove strdup)
-AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp)
-AC_CHECK_FUNCS(isatty)
+AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp dup2)
+AC_CHECK_FUNCS(isatty chown lchown link readlink symlink realpath)
 AC_HAVE_DECL(setresuid, [#include <unistd.h>])
 AC_HAVE_DECL(setresgid, [#include <unistd.h>])
 AC_HAVE_DECL(errno, [#include <errno.h>])
diff --git a/lib/replace/replace.c b/lib/replace/replace.c
index 98d799b..78c688d 100644
--- a/lib/replace/replace.c
+++ b/lib/replace/replace.c
@@ -2,6 +2,7 @@
    Unix SMB/CIFS implementation.
    replacement routines for broken systems
    Copyright (C) Andrew Tridgell 1992-1998
+   Copyright (C) Jelmer Vernooij 2005-2008
 
      ** NOTE! The following LGPL license applies to the replace
      ** library. This does NOT imply that all of Samba is released
@@ -614,3 +615,63 @@ int rep_utimes(const char *filename, const struct timeval tv[2])
 	return utime(filename, &u);
 }
 #endif
+
+#ifndef HAVE_DUP2
+int rep_dup2(int oldfd, int newfd) 
+{
+	errno = ENOSYS;
+	return -1;
+}
+#endif
+
+#ifndef HAVE_CHOWN
+/**
+chown isn't used much but OS/2 doesn't have it
+**/
+int rep_chown(const char *fname, uid_t uid, gid_t gid)
+{
+	errno = ENOSYS;
+	return -1;
+}
+#endif
+
+#ifndef HAVE_LINK
+int rep_link(const char *oldpath, const char *newpath)
+{
+	errno = ENOSYS;
+	return -1;
+}
+#endif
+
+#ifndef HAVE_READLINK
+int rep_readlink(const char *path, char *buf, size_t bufsiz)
+{
+	errno = ENOSYS;
+	return -1;
+}
+#endif
+
+#ifndef HAVE_SYMLINK
+int rep_symlink(const char *oldpath, const char *newpath)
+{
+	errno = ENOSYS;
+	return -1;
+}
+#endif
+
+#ifndef HAVE_LCHOWN
+int rep_lchown(const char *fname,uid_t uid,gid_t gid)
+{
+	errno = ENOSYS;
+	return -1;
+}
+#endif
+
+#ifndef HAVE_REALPATH
+char *rep_realpath(const char *path, char *resolved_path)
+{
+	/* As realpath is not a system call we can't return ENOSYS. */
+	errno = EINVAL;
+	return NULL;
+}
+#endif
diff --git a/lib/replace/replace.h b/lib/replace/replace.h
index a8164b6..c1444cd 100644
--- a/lib/replace/replace.h
+++ b/lib/replace/replace.h
@@ -215,6 +215,41 @@ int rep_seteuid(uid_t);
 int rep_setegid(gid_t);
 #endif
 
+#ifndef HAVE_CHOWN
+#define chown rep_chown
+int rep_chown(const char *path, uid_t uid, gid_t gid);
+#endif
+
+#ifndef HAVE_CHROOT
+#define chroot rep_chroot
+int rep_chroot(const char *dirname);
+#endif
+
+#ifndef HAVE_LINK
+#define link rep_link
+int rep_link(const char *oldpath, const char *newpath);
+#endif
+
+#ifndef HAVE_READLINK
+#define readlink rep_readlink
+ssize_t rep_readlink(const char *path, char *buf, size_t bufsize);
+#endif
+
+#ifndef HAVE_SYMLINK
+#define symlink rep_symlink
+int rep_symlink(const char *oldpath, const char *newpath);
+#endif
+
+#ifndef HAVE_REALPATH
+#define realpath rep_realpath
+char *rep_realpath(const char *path, char *resolved_path);
+#endif
+
+#ifndef HAVE_LCHOWN
+#define lchown rep_lchown
+int rep_lchown(const char *fname,uid_t uid,gid_t gid);
+#endif
+
 #ifndef HAVE_SETLINEBUF
 #define setlinebuf rep_setlinebuf
 void rep_setlinebuf(FILE *);
@@ -358,6 +393,11 @@ struct tm;
 char *rep_strptime(const char *buf, const char *format, struct tm *tm);
 #endif
 
+#ifndef HAVE_DUP2
+#define dup2 rep_dup2
+int rep_dup2(int oldfd, int newfd);
+#endif
+
 /* Load header file for dynamic linking stuff */
 #ifdef HAVE_DLFCN_H
 #include <dlfcn.h>
diff --git a/lib/util/config.mk b/lib/util/config.mk
index 61e193b..22f22b5 100644
--- a/lib/util/config.mk
+++ b/lib/util/config.mk
@@ -34,10 +34,12 @@ PUBLIC_HEADERS += $(addprefix $(libutilsrcdir)/, util.h \
 				 byteorder.h \
 				 data_blob.h \
 				 debug.h \
+				 memory.h \
 				 mutex.h \
 				 safe_string.h \
 				 time.h \
 				 util_ldb.h \
+				 talloc_stack.h \
 				 xfile.h)
 
 [SUBSYSTEM::ASN1_UTIL]
diff --git a/lib/util/util.h b/lib/util/util.h
index bfd09ba..66861fb 100644
--- a/lib/util/util.h
+++ b/lib/util/util.h
@@ -61,8 +61,9 @@ extern const char *panic_action;
 #endif
 
 #if _SAMBA_BUILD_ == 4
-#if defined(VALGRIND)
+#ifdef VALGRIND
 #define strlen(x) valgrind_strlen(x)
+size_t valgrind_strlen(const char *s);
 #endif
 #endif
 
@@ -269,7 +270,6 @@ _PUBLIC_ void all_string_sub(char *s,const char *pattern,const char *insert, siz
  Unescape a URL encoded string, in place.
 **/
 _PUBLIC_ void rfc1738_unescape(char *buf);
-size_t valgrind_strlen(const char *s);
 
 /**
   format a string into length-prefixed dotted domain format, as used in NBT
diff --git a/source3/configure.in b/source3/configure.in
index a59fe32..c2a5d1a 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1025,20 +1025,20 @@ if test x"$ac_cv_func_execl" = x"no"; then
     EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun\$(EXEEXT)"
 fi
 
-AC_CHECK_FUNCS(waitpid getcwd strdup strndup strnlen strerror chown fchown lchown chmod fchmod chroot link mknod mknod64)
+AC_CHECK_FUNCS(waitpid getcwd strdup strndup strnlen strerror fchown chmod fchmod mknod mknod64)
 AC_CHECK_FUNCS(strtol strtoll strtoul strtoull strtouq __strtoull)
 AC_CHECK_FUNCS(fstat strchr chflags)
 AC_CHECK_FUNCS(getrlimit fsync fdatasync memset strlcpy strlcat setpgid)
 AC_CHECK_FUNCS(memmove setsid glob strpbrk pipe crypt16 getauthuid)
 AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent)
-AC_CHECK_FUNCS(initgroups select poll rdchk getgrnam getgrent pathconf realpath)
+AC_CHECK_FUNCS(initgroups select poll rdchk getgrnam getgrent pathconf)
 AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate chsize stat64 fstat64)
 AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64)
 AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
 AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64)
 AC_CHECK_FUNCS(getpwent_r)
 AC_CHECK_FUNCS(getdents getdents64)
-AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
+AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl)
 AC_CHECK_FUNCS(syslog vsyslog timegm)
 AC_CHECK_FUNCS(setlocale nl_langinfo)
 AC_CHECK_FUNCS(nanosleep)
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 41ca5a0..9d7d76e 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1000,15 +1000,8 @@ long sys_telldir(SMB_STRUCT_DIR *dirp);
 void sys_rewinddir(SMB_STRUCT_DIR *dirp);
 int sys_closedir(SMB_STRUCT_DIR *dirp);
 int sys_mknod(const char *path, mode_t mode, SMB_DEV_T dev);
-char *sys_realpath(const char *path, char *resolved_path);
 int sys_waitpid(pid_t pid,int *status,int options);
 char *sys_getwd(char *s);
-int sys_symlink(const char *oldpath, const char *newpath);
-int sys_readlink(const char *path, char *buf, size_t bufsiz);
-int sys_link(const char *oldpath, const char *newpath);
-int sys_chown(const char *fname,uid_t uid,gid_t gid);
-int sys_lchown(const char *fname,uid_t uid,gid_t gid);
-int sys_chroot(const char *dname);
 void set_effective_capability(enum smbd_capability capability);
 void drop_effective_capability(enum smbd_capability capability);
 long sys_random(void);
@@ -1027,11 +1020,6 @@ pid_t sys_fork(void);
 pid_t sys_getpid(void);
 int sys_popen(const char *command);
 int sys_pclose(int fd);
-void *sys_dlopen(const char *name, int flags);
-void *sys_dlsym(void *handle, const char *symbol);
-int sys_dlclose (void *handle);
-const char *sys_dlerror(void);
-int sys_dup2(int oldfd, int newfd) ;
 ssize_t sys_getxattr (const char *path, const char *name, void *value, size_t size);
 ssize_t sys_lgetxattr (const char *path, const char *name, void *value, size_t size);
 ssize_t sys_fgetxattr (int filedes, const char *name, void *value, size_t size);
diff --git a/source3/lib/debug.c b/source3/lib/debug.c
index be2707b..986dff4 100644
--- a/source3/lib/debug.c
+++ b/source3/lib/debug.c
@@ -680,8 +680,8 @@ bool reopen_logs( void )
 	force_check_log_size();
 	(void)umask(oldumask);
 
-	/* Take over stderr to catch ouput into logs */
-	if (dbf && sys_dup2(x_fileno(dbf), 2) == -1) {
+	/* Take over stderr to catch output into logs */
+	if (dbf && dup2(x_fileno(dbf), 2) == -1) {
 		close_low_fds(True); /* Close stderr too, if dup2 can't point it
 					at the logfile */
 	}
diff --git a/source3/lib/fault.c b/source3/lib/fault.c
index d4c1142..d038e57 100644
--- a/source3/lib/fault.c
+++ b/source3/lib/fault.c
@@ -129,7 +129,7 @@ void dump_core_setup(const char *progname)
 	}
 	mkdir(corepath,0700);
 
-	sys_chown(corepath,getuid(),getgid());
+	chown(corepath,getuid(),getgid());
 	chmod(corepath,0700);
 
 	SAFE_FREE(logbase);
diff --git a/source3/lib/module.c b/source3/lib/module.c
index 7698338..de13668 100644
--- a/source3/lib/module.c
+++ b/source3/lib/module.c
@@ -37,11 +37,11 @@ static NTSTATUS do_smb_load_module(const char *module_name, bool is_probe)
 	 * backwards compatibility, there might be symbols in the 
 	 * plugin referencing to old (removed) functions
 	 */
-	handle = sys_dlopen(module_name, RTLD_LAZY);
+	handle = dlopen(module_name, RTLD_LAZY);
 
 	/* This call should reset any possible non-fatal errors that 
 	   occured since last call to dl* functions */
-	error = sys_dlerror();
+	error = dlerror();
 
 	if(!handle) {
 		int level = is_probe ? 3 : 0;
@@ -49,15 +49,15 @@ static NTSTATUS do_smb_load_module(const char *module_name, bool is_probe)
 		return NT_STATUS_UNSUCCESSFUL;
 	}
 
-	init = (init_module_function *)sys_dlsym(handle, "init_samba_module");
+	init = (init_module_function *)dlsym(handle, "init_samba_module");
 
-	/* we must check sys_dlerror() to determine if it worked, because
-           sys_dlsym() can validly return NULL */
-	error = sys_dlerror();
+	/* we must check dlerror() to determine if it worked, because
+           dlsym() can validly return NULL */
+	error = dlerror();
 	if (error) {
 		DEBUG(0, ("Error trying to resolve symbol 'init_samba_module' "
 			  "in %s: %s\n", module_name, error));
-		sys_dlclose(handle);
+		dlclose(handle);
 		return NT_STATUS_UNSUCCESSFUL;
 	}
 
@@ -67,7 +67,7 @@ static NTSTATUS do_smb_load_module(const char *module_name, bool is_probe)
 	if (!NT_STATUS_IS_OK(status)) {
 		DEBUG(0, ("Module '%s' initialization failed: %s\n",
 			    module_name, get_friendly_nt_error_msg(status)));
-		sys_dlclose(handle);
+		dlclose(handle);
 	}
 
 	return status;
diff --git a/source3/lib/smbrun.c b/source3/lib/smbrun.c
index 515fcd7..3199071 100644
--- a/source3/lib/smbrun.c
+++ b/source3/lib/smbrun.c
@@ -153,7 +153,7 @@ static int smbrun_internal(const char *cmd, int *outfd, bool sanitize)
 	/* point our stdout at the file we want output to go into */
 	if (outfd) {
 		close(1);
-		if (sys_dup2(*outfd,1) != 1) {
+		if (dup2(*outfd,1) != 1) {
 			DEBUG(2,("Failed to create stdout file descriptor\n"));
 			close(*outfd);
 			exit(80);
@@ -305,7 +305,7 @@ int smbrunsecret(const char *cmd, const char *secret)
 	
 	close(ifd[1]);
 	close(0);
-	if (sys_dup2(ifd[0], 0) != 0) {
+	if (dup2(ifd[0], 0) != 0) {
 		DEBUG(2,("Failed to create stdin file descriptor\n"));
 		close(ifd[0]);
 		exit(80);
diff --git a/source3/lib/system.c b/source3/lib/system.c
index eabb6d6..86c4ef2 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -538,21 +538,6 @@ int sys_mknod(const char *path, mode_t mode, SMB_DEV_T dev)
 }
 
 /*******************************************************************
- Wrapper for realpath.
-********************************************************************/
-
-char *sys_realpath(const char *path, char *resolved_path)
-{
-#if defined(HAVE_REALPATH)
-	return realpath(path, resolved_path);
-#else
-	/* As realpath is not a system call we can't return ENOSYS. */
-	errno = EINVAL;
-	return NULL;
-#endif
-}
-
-/*******************************************************************
 The wait() calls vary between systems
 ********************************************************************/
 
@@ -580,104 +565,6 @@ char *sys_getwd(char *s)
 	return wd;
 }
 
-/*******************************************************************
-system wrapper for symlink
-********************************************************************/
-
-int sys_symlink(const char *oldpath, const char *newpath)
-{
-#ifndef HAVE_SYMLINK
-	errno = ENOSYS;
-	return -1;
-#else
-	return symlink(oldpath, newpath);
-#endif
-}
-
-/*******************************************************************
-system wrapper for readlink
-********************************************************************/
-
-int sys_readlink(const char *path, char *buf, size_t bufsiz)
-{
-#ifndef HAVE_READLINK
-	errno = ENOSYS;
-	return -1;
-#else
-	return readlink(path, buf, bufsiz);
-#endif
-}
-
-/*******************************************************************
-system wrapper for link
-********************************************************************/
-
-int sys_link(const char *oldpath, const char *newpath)
-{
-#ifndef HAVE_LINK
-	errno = ENOSYS;
-	return -1;
-#else
-	return link(oldpath, newpath);
-#endif
-}
-
-/*******************************************************************
-chown isn't used much but OS/2 doesn't have it
-********************************************************************/
-
-int sys_chown(const char *fname,uid_t uid,gid_t gid)
-{
-#ifndef HAVE_CHOWN
-	static int done;
-	if (!done) {
-		DEBUG(1,("WARNING: no chown!\n"));
-		done=1;
-	}
-	errno = ENOSYS;
-	return -1;
-#else
-	return(chown(fname,uid,gid));
-#endif
-}
-
-/*******************************************************************
- Wrapper for lchown.
-********************************************************************/
-
-int sys_lchown(const char *fname,uid_t uid,gid_t gid)
-{
-#ifndef HAVE_LCHOWN
-	static int done;
-	if (!done) {
-		DEBUG(1,("WARNING: no lchown!\n"));
-		done=1;
-	}
-	errno = ENOSYS;
-	return -1;
-#else
-	return(lchown(fname,uid,gid));
-#endif
-}
-
-/*******************************************************************
-os/2 also doesn't have chroot
-********************************************************************/
-int sys_chroot(const char *dname)
-{
-#ifndef HAVE_CHROOT
-	static int done;
-	if (!done) {
-		DEBUG(1,("WARNING: no chroot!\n"));
-		done=1;
-	}
-	errno = ENOSYS;
-	return -1;
-#else
-	return(chroot(dname));
-#endif
-}
-


-- 
Samba Shared Repository


More information about the samba-cvs mailing list