From 161d70a57ae8a17dcbc9c426bfff33c8c51318b7 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 1 Nov 2008 03:27:45 +0100 Subject: [PATCH] Move sys_chown() to rep_chown(). --- lib/replace/README | 1 + lib/replace/libreplace.m4 | 2 +- lib/replace/replace.c | 13 +++++++++++++ lib/replace/replace.h | 5 +++++ source3/lib/system.c | 19 ------------------- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lib/replace/README b/lib/replace/README index 2f3b37340fc..a63409580ca 100644 --- a/lib/replace/README +++ b/lib/replace/README @@ -46,6 +46,7 @@ mkdtemp mkstemp (a secure one!) pread pwrite +chown getpass readline (the library) inet_ntoa diff --git a/lib/replace/libreplace.m4 b/lib/replace/libreplace.m4 index 6f1543863a6..c802525eed1 100644 --- a/lib/replace/libreplace.m4 +++ b/lib/replace/libreplace.m4 @@ -108,7 +108,7 @@ 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(isatty chown) AC_HAVE_DECL(setresuid, [#include ]) AC_HAVE_DECL(setresgid, [#include ]) AC_HAVE_DECL(errno, [#include ]) diff --git a/lib/replace/replace.c b/lib/replace/replace.c index 98d799b07e8..74af75ebf12 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,15 @@ int rep_utimes(const char *filename, const struct timeval tv[2]) return utime(filename, &u); } #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 + diff --git a/lib/replace/replace.h b/lib/replace/replace.h index a8164b642b1..2518d40a65d 100644 --- a/lib/replace/replace.h +++ b/lib/replace/replace.h @@ -215,6 +215,11 @@ 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_SETLINEBUF #define setlinebuf rep_setlinebuf void rep_setlinebuf(FILE *); diff --git a/source3/lib/system.c b/source3/lib/system.c index eabb6d6dc48..7f5f5722550 100644 --- a/source3/lib/system.c +++ b/source3/lib/system.c @@ -622,25 +622,6 @@ int sys_link(const char *oldpath, const char *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. ********************************************************************/ -- 2.34.1