summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/replace/wscript6
-rw-r--r--lib/util/wrap_xattr.c120
-rw-r--r--lib/util/wrap_xattr.h33
-rwxr-xr-xlib/util/wscript_build9
-rw-r--r--lib/util/wscript_configure5
5 files changed, 6 insertions, 167 deletions
diff --git a/lib/replace/wscript b/lib/replace/wscript
index fc0cb00ae2..1d1480caec 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -231,6 +231,12 @@ fremoveea fsetea getea listea
removeea setea
''', 'attr', checklibc=True)
+ if (conf.CONFIG_SET('HAVE_ATTR_LISTF') or
+ conf.CONFIG_SET('HAVE_EXTATTR_LIST_FD') or
+ conf.CONFIG_SET('HAVE_FLISTEA') or
+ conf.CONFIG_SET('HAVE_FLISTXATTR')):
+ conf.DEFINE('HAVE_XATTR_SUPPORT', 1)
+
# Darwin has extra options to xattr-family functions
conf.CHECK_CODE('getxattr(0, 0, 0, 0, 0, 0);',
'XATTR_ADD_OPT',
diff --git a/lib/util/wrap_xattr.c b/lib/util/wrap_xattr.c
deleted file mode 100644
index b7e69c3676..0000000000
--- a/lib/util/wrap_xattr.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
-
- POSIX NTVFS backend - xattr support using filesystem xattrs
-
- Copyright (C) Andrew Tridgell 2004
-
- 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
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "includes.h"
-#include "system/filesys.h"
-#include "../lib/util/wrap_xattr.h"
-
-#if defined(HAVE_XATTR_SUPPORT) && defined(XATTR_ADDITIONAL_OPTIONS)
-static ssize_t _wrap_darwin_fgetxattr(int fd, const char *name, void *value, size_t size)
-{
- return fgetxattr(fd, name, value, size, 0, 0);
-}
-static ssize_t _wrap_darwin_getxattr(const char *path, const char *name, void *value, size_t size)
-{
- return getxattr(path, name, value, size, 0, 0);
-}
-static int _wrap_darwin_fsetxattr(int fd, const char *name, void *value, size_t size, int flags)
-{
- return fsetxattr(fd, name, value, size, 0, flags);
-}
-static int _wrap_darwin_setxattr(const char *path, const char *name, void *value, size_t size, int flags)
-{
- return setxattr(path, name, value, size, 0, flags);
-}
-static int _wrap_darwin_fremovexattr(int fd, const char *name)
-{
- return fremovexattr(fd, name, 0);
-}
-static int _wrap_darwin_removexattr(const char *path, const char *name)
-{
- return removexattr(path, name, 0);
-}
-#define fgetxattr _wrap_darwin_fgetxattr
-#define getxattr _wrap_darwin_getxattr
-#define fsetxattr _wrap_darwin_fsetxattr
-#define setxattr _wrap_darwin_setxattr
-#define fremovexattr _wrap_darwin_fremovexattr
-#define removexattr _wrap_darwin_removexattr
-#elif !defined(HAVE_XATTR_SUPPORT)
-static ssize_t _none_fgetxattr(int fd, const char *name, void *value, size_t size)
-{
- errno = ENOSYS;
- return -1;
-}
-static ssize_t _none_getxattr(const char *path, const char *name, void *value, size_t size)
-{
- errno = ENOSYS;
- return -1;
-}
-static int _none_fsetxattr(int fd, const char *name, void *value, size_t size, int flags)
-{
- errno = ENOSYS;
- return -1;
-}
-static int _none_setxattr(const char *path, const char *name, void *value, size_t size, int flags)
-{
- errno = ENOSYS;
- return -1;
-}
-static int _none_fremovexattr(int fd, const char *name)
-{
- errno = ENOSYS;
- return -1;
-}
-static int _none_removexattr(const char *path, const char *name)
-{
- errno = ENOSYS;
- return -1;
-}
-#define fgetxattr _none_fgetxattr
-#define getxattr _none_getxattr
-#define fsetxattr _none_fsetxattr
-#define setxattr _none_setxattr
-#define fremovexattr _none_fremovexattr
-#define removexattr _none_removexattr
-#endif
-
-_PUBLIC_ ssize_t wrap_fgetxattr(int fd, const char *name, void *value, size_t size)
-{
- return fgetxattr(fd, name, value, size);
-}
-_PUBLIC_ ssize_t wrap_getxattr(const char *path, const char *name, void *value, size_t size)
-{
- return getxattr(path, name, value, size);
-}
-_PUBLIC_ int wrap_fsetxattr(int fd, const char *name, void *value, size_t size, int flags)
-{
- return fsetxattr(fd, name, value, size, flags);
-}
-_PUBLIC_ int wrap_setxattr(const char *path, const char *name, void *value, size_t size, int flags)
-{
- return setxattr(path, name, value, size, flags);
-}
-_PUBLIC_ int wrap_fremovexattr(int fd, const char *name)
-{
- return fremovexattr(fd, name);
-}
-_PUBLIC_ int wrap_removexattr(const char *path, const char *name)
-{
- return removexattr(path, name);
-}
-
diff --git a/lib/util/wrap_xattr.h b/lib/util/wrap_xattr.h
deleted file mode 100644
index 745b93d764..0000000000
--- a/lib/util/wrap_xattr.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
-
- POSIX NTVFS backend - xattr support using filesystem xattrs
-
- Copyright (C) Andrew Tridgell 2004
-
- 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
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef __LIB_UTIL_WRAP_XATTR_H__
-#define __LIB_UTIL_WRAP_XATTR_H__
-
-ssize_t wrap_fgetxattr(int fd, const char *name, void *value, size_t size);
-ssize_t wrap_getxattr(const char *path, const char *name, void *value, size_t size);
-int wrap_fsetxattr(int fd, const char *name, void *value, size_t size, int flags);
-int wrap_setxattr(const char *path, const char *name, void *value, size_t size, int flags);
-int wrap_fremovexattr(int fd, const char *name);
-int wrap_removexattr(const char *path, const char *name);
-
-#endif /* __LIB_UTIL_WRAP_XATTR_H__ */
-
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index 2fa402396c..1cefe2d642 100755
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -38,15 +38,6 @@ bld.SAMBA_SUBSYSTEM('UNIX_PRIVS',
)
-bld.SAMBA_LIBRARY('wrap_xattr',
- source='wrap_xattr.c',
- public_deps='attr',
- deps='talloc',
- local_include=False,
- private_library=True
- )
-
-
bld.SAMBA_LIBRARY('util_tdb',
source='util_tdb.c',
local_include=False,
diff --git a/lib/util/wscript_configure b/lib/util/wscript_configure
index 28199272f2..d5c9f743d0 100644
--- a/lib/util/wscript_configure
+++ b/lib/util/wscript_configure
@@ -10,17 +10,12 @@ conf.CHECK_FUNCS_IN('backtrace backtrace_symbols', 'execinfo', checklibc=True, h
conf.CHECK_FUNCS('sigprocmask sigblock sigaction')
xattr_headers='sys/attributes.h attr/xattr.h sys/xattr.h'
-conf.CHECK_FUNCS_IN('flistxattr', 'attr', checklibc=True, headers=xattr_headers)
conf.CHECK_CODE('getxattr(NULL, NULL, NULL, 0, 0, 0)',
headers=xattr_headers, local_include=False,
define='XATTR_ADDITIONAL_OPTIONS',
msg='Checking for darwin xattr api')
-if conf.CONFIG_SET('HAVE_FLISTXATTR'):
- conf.DEFINE('HAVE_XATTR_SUPPORT', 1)
-
-
conf.CHECK_STRUCTURE_MEMBER('struct statvfs', 'f_frsize', define='HAVE_FRSIZE', headers='sys/statvfs.h')