[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