Package: attr / 1:2.4.48-4

Metadata

Package Version Patches format
attr 1:2.4.48-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 test escape left brace in a regex in test run.patch | (download)

test/run | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 1/9] test: escape left brace in a regex in test/run

... to fix test-suite failure with perl-5.26.0

Bug: https://bugzilla.redhat.com/1473853

0002 man fix bold style in SEE ALSO section.patch | (download)

man/man1/attr.1 | 17 8 + 9 - 0 !
man/man1/getfattr.1 | 3 2 + 1 - 0 !
man/man1/setfattr.1 | 3 2 + 1 - 0 !
man/man3/attr_get.3 | 3 1 + 2 - 0 !
man/man3/attr_list.3 | 3 1 + 2 - 0 !
man/man3/attr_multi.3 | 3 1 + 2 - 0 !
man/man3/attr_remove.3 | 3 1 + 2 - 0 !
man/man3/attr_set.3 | 3 1 + 2 - 0 !
8 files changed, 17 insertions(+), 21 deletions(-)

 [patch 2/9] man: fix bold style in see also section

See STYLE GUIDE in man-pages(7) for more details.

0003 man standardize AUTHORS section.patch | (download)

man/man1/attr.1 | 10 10 + 0 - 0 !
man/man1/getfattr.1 | 5 4 + 1 - 0 !
man/man1/setfattr.1 | 5 4 + 1 - 0 !
3 files changed, 18 insertions(+), 2 deletions(-)

 [patch 3/9] man: standardize authors section

Point people to the Savannah project now.

0004 Enable large file support on systems that do not ena.patch | (download)

configure.ac | 1 1 + 0 - 0 !
test/attr.test | 6 6 + 0 - 0 !
2 files changed, 7 insertions(+)

 [patch 4/9] enable large-file support on systems that do not enable
 it by default

Invoke AC_SYS_LARGEFILE to enable large-file support.

This fix doesn't change the library as much as the tools because
the only affected function in libattr is attr_copy_action that calls
attr_parse_attr_conf that in turn calls fopen(ATTR_CONF, "r").

What is the most affected is getfattr, without the fix it just cannot
process large files, e.g.

$ truncate -s2G large-file && getfattr large-file
getfattr: large-file: Value too large for defined data type

0005 getfattr.1 by default only user namespace attributes.patch | (download)

man/man1/getfattr.1 | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 [patch 5/9] getfattr.1: by default only user namespace attributes are
 dumped


0006 attr_list.3 Fix the attributes.h include path.patch | (download)

man/man3/attr_list.3 | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 6/9] attr_list.3: fix the attributes.h include path

The header file is located at <attr/attributes.h>.  Make the attr_list.3
man page consistent with the other man pages.

0007 Switch back to syscall.patch | (download)

libattr/syscalls.c | 26 14 + 12 - 0 !
1 file changed, 14 insertions(+), 12 deletions(-)

 [patch 7/9] switch back to syscall()

Switch back to syscall() for the *xattr system calls.  The current
mechanism of forwarding those calls to glibc breaks libraries like
libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc
-fsanitize=address).

Those libraries provide wrappers for functions defined in other shared
libraries, usually glibc, do their own processing, and forward calls to
the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name").  In
our case, dlsym returns the libattr_*xattr wrappers.  However, when our
wrappers try calling glibc, they end up calling the libfakeroot /
libasan wrappers instead because those override the original symbols =>
recursion.

The libattr_*xattr wrappers will only be used when symbols are looked up
at runtime (dlopen / dlsym).  Programs linking against libattr will
directly use the glibc provided symbols.  Therefore, the slightly worse
performance of syscall() won't affect any of the "normal" users of
libattr.

0008 attr_multi attr_multif Don t set errno to EINVAL.patch | (download)

libattr/libattr.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch 8/9] attr_multi, attr_multif: don't set errno to -einval

When attr_multi or attr_multif are called with an invalid am_opcode,
they fail with errno set to -EINVAL.  Instead, the errno value should be
positive.

0009 attr_list attr_listf Guard against unterminated buff.patch | (download)

libattr/libattr.c | 12 7 + 5 - 0 !
1 file changed, 7 insertions(+), 5 deletions(-)

 [patch 9/9] attr_list, attr_listf: guard against unterminated buffer

attr_list and attr_listf can crash when the listxattr, llistxattr, or
flistxattr syscalls incorrectly return an unterminated buffer.  Guard
against that by always appending a null character.

build require autoconf version.patch | (download)

configure.ac | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix for incompatibility with autoconf2.13
 This package will not build if autconf2.13 is installed.
 Adding AC_PREREQ allows the automatic checks to run the correct
 version of autconf, whichever is installed, or to get a clear error
 message about the problem.
Bug-Debian: https://bugs.debian.org/643587



syscalls linux.patch | (download)

configure.ac | 6 6 + 0 - 0 !
libattr/Makemodule.am | 17 14 + 3 - 0 !
2 files changed, 20 insertions(+), 3 deletions(-)

 only include the compat syscall stubs on linux systems
 These are Linux specific syscalls. Other systems either already have
compat xattr header.patch | (download)

include/Makemodule.am | 3 3 + 0 - 0 !
include/xattr.h | 29 29 + 0 - 0 !
2 files changed, 32 insertions(+)

 reintroduce removed xattr.h header for backwards compatibility.
 There are too many packages still using this header, we cannot just remove
 it w/o breaking tons of stuff. Let's create a proper transition.
 .
 We will later introduce a warning so that programs transition to the header
 provided by glibc.


man pages typo fixes.patch | (download)

man/man1/getfattr.1 | 2 1 + 1 - 0 !
man/man3/attr_multi.3 | 6 3 + 3 - 0 !
man/man3/attr_remove.3 | 2 1 + 1 - 0 !
3 files changed, 5 insertions(+), 5 deletions(-)

 fix various typos
Warned-by: lintian