1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
Commit Graph

19 Commits

Author SHA1 Message Date
Björn Jacke
ba1887d374 lib/replace/xattr.c: typo fixes
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2019-10-31 00:43:36 +00:00
Björn Jacke
3aea2c0f1f replace/setxattr: correctly use our flags on Darwin
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Björn Jacke <bjacke@samba.org>
Autobuild-Date(master): Thu Aug 29 17:10:32 UTC 2019 on sn-devel-184
2019-08-29 17:10:32 +00:00
Björn Jacke
56e0ffa113 xattr/setxattr: fix flag support on AIX
AIX requires the flags to be 0, we need to do those checks manually.

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-08-29 15:53:30 +00:00
Björn Jacke
b8f4be98f5 replace/setxattr: set reasonable and unified errno value in case the EA value was too big
FreeBSD and AIX already set errno to ENAMETOOLONG, this is what we should map
other platforms also to to finally map to the correct NT error code also.

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-08-29 15:53:30 +00:00
Björn Jacke
3287bfe2b4 build: bundle and reduce huge number of EA function tests
It's sufficient to check for one basic function of an EA implementation and a
use a single ifdef for each group of EA functions. This makes more sense than
checking for each EA function on each platform.

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Jul  3 13:24:51 CEST 2018 on sn-devel-144
2018-07-03 13:24:51 +02:00
Ralph Boehme
738797d8ad lib/replace: validate xattr namespace prefix on FreeBSD
We should validate the xattr name string ensuring it either begins with
"sytem." or "user.". If it doesn't, we should fail the request with
EINVAL.

The FreeBSD xattr API uses namespaces but doesn't put the namespace name
as a string prefix at the beginning of the xattr name. It gets passed as
an additional int arg instead.

On the other hand, our libreplace xattr API expects the caller to put a
namespace prefix into the xattr name.

Unfortunately the conversion and stripping of the namespace string prefix
from the xattr name gives the following unexpected result on FreeBSD:

rep_setxattr("foo.bar", ...) => xattr with name "bar"

The code checks if the name begins with "system.", if it doesn't find
it, it defaults to the user namespace and then does a strchr(name, '.')
which skips *any* leading string before the first dot.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12490

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2017-02-10 18:33:17 +01:00
Andreas Schneider
979d9dbbb7 replace: Fix developer build on BSD.
This fixes bsd_attr_list() calling geteuid().

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Nov 21 03:37:59 CET 2013 on sn-devel-104
2013-11-21 03:37:59 +01:00
Björn Jacke
374b2cfde7 xattr: fix listing EAs on *BSD for non-root users
Thanks to Stefan Rompf for reporting.

This fixes bug #10247

Signed-off-by: Bjoern Jacke <bj@sernet.de>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Nov  8 20:43:30 CET 2013 on sn-devel-104
2013-11-08 20:43:29 +01:00
Andrew Bartlett
2756c3ce5c lib/replace: Return size of xattr if size argument is 0
This makes rep_{f,}getxattr a more complete replacement for the linux function.

Andrew Bartlett
2012-10-28 16:32:42 +11:00
Jelmer Vernooij
8283d9ec4a attr: Look for attr/attributes.h too.
Fixes finding of ATTR_ROOT on GNU/kFreeBSD.

Autobuild-User(master): Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date(master): Sat Jun 16 18:54:27 CEST 2012 on sn-devel-104
2012-06-16 18:54:26 +02:00
Andrew Bartlett
edd7251257 libreplace: Add copyrights to ease tracking of this file in future
As GIT didn't realise this was a copy out of lib/system.c, this should
make it easier to track the copyright holders on this file.  Herb's
name wasn't on the original file, but was the only other author I
could find in the git logs.

I've added my copyright here too.

Andrew Bartlett
2012-06-05 04:27:36 +02:00
Andrew Bartlett
c0b9a128d1 libreplace: Fix up MacOS xattr functions
We need undo the rep_ macro to call the real OS function.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sun Jun  3 06:21:21 CEST 2012 on sn-devel-104
2012-06-03 06:21:21 +02:00
Andrew Bartlett
33eb88e6de libreplace: Use true rather than True in xattr.c
This should fix the build on IRIX.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sun Jun  3 02:05:35 CEST 2012 on sn-devel-104
2012-06-03 02:05:35 +02:00
Andrew Bartlett
901e235385 libreplace: Solaris needs system/dir.h for that xattr wrapper implementation 2012-06-02 14:03:44 +02:00
Andrew Bartlett
81a754fb64 lib/replace: Relicence xattr.c to LGPLv3
By the kind consent of the copyright holders.  (There wasn't any code from tridge
in the code brought in from source3/lib/system.c).

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sat Jun  2 04:00:42 CEST 2012 on sn-devel-104
2012-06-02 04:00:42 +02:00
Andrew Bartlett
e9d797e153 lib/replace: Merge remaining xattr test details from lib/util
I prefer the longer XATTR_ADDITIONAL_OPTIONS define and the NULL
rather than 0 values in the getxattr test.

Andrew Bartlett
2012-06-02 02:13:49 +02:00
Andrew Bartlett
664af060ac lib/replace: We cannot use strchr_m in lib/replace
In any case, it is always safe to search for . even in a multibyte string.

Andrew Bartlett
2012-06-02 02:13:49 +02:00
Andrew Bartlett
954da1b81e lib/replace: DEBUG is not acceptable here, as this may not be linked into Samba 2012-06-02 02:13:48 +02:00
Andrew Bartlett
b347067a67 lib/replace: Copy lib/system.c xattr wrappers to lib/replace 2012-06-02 02:13:48 +02:00