This commit is contained in:
commit
ab64523d89
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
3
attr-2.4.28.src.tar.bz2
Normal file
3
attr-2.4.28.src.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1ff1c464693c5e756b8047412f49e84c38c6385aa5b4e1230aafc81ea21f59e7
|
||||
size 93657
|
248
attr.changes
Normal file
248
attr.changes
Normal file
@ -0,0 +1,248 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 16 17:55:45 CEST 2006 - agruen@suse.de
|
||||
|
||||
- Ignore Beagle index data when copying files.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 4 15:26:41 CEST 2006 - agruen@suse.de
|
||||
|
||||
- /etc/xattr.conf: Allow to configure which attributes to skip
|
||||
when copying, and which attributes contain file permissions.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 18 09:12:03 CET 2006 - aj@suse.de
|
||||
|
||||
- Remove .la package that was introduced in last change and breaks
|
||||
build of many packages.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 17 19:09:00 CET 2006 - agruen@suse.de
|
||||
|
||||
- Fix symlinks in the -devel package (149945, Nathan Scott).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 7 15:34:22 CET 2006 - agruen@suse.de
|
||||
|
||||
- xfs-cmds-25263a-fix-list_attr-segfault: Fix a possible segfault
|
||||
in the attr_list compat function (155746).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 18 18:37:35 CET 2006 - agruen@suse.de
|
||||
|
||||
- Add xfs-cmds-25211a-skip-DMF-attributes-on-copy-also patch from
|
||||
SGI (151782).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 25 21:29:56 CET 2006 - mls@suse.de
|
||||
|
||||
- converted neededforbuild to BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 13 19:20:08 CET 2006 - mjancar@suse.cz
|
||||
|
||||
- update to 2.4.28
|
||||
* Implement the IRIX list_attr interfaces
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 2 15:17:07 CET 2005 - schwab@suse.de
|
||||
|
||||
- Use RPM_OPT_FLAGS.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 26 13:53:35 CEST 2005 - agruen@suse.de
|
||||
|
||||
- Update to version 2.4.24: integrates two patches we had
|
||||
separately before; add a missing space in an error message;
|
||||
an error path fix in setfattr. No API/ABI changes in libattr.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 19 16:49:59 CEST 2005 - kukuk@suse.de
|
||||
|
||||
- Move devel files from / to /usr
|
||||
- Don't generate filelist dynamic (fix broken attr statements)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 6 14:08:08 CEST 2005 - agruen@suse.de
|
||||
|
||||
- Bump version number to 2.4.23.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 2 18:47:31 CEST 2005 - agruen@suse.de
|
||||
|
||||
- reduce-verboseness.diff: attr_copy_{fd,file}: Don't report an
|
||||
error for each attribute copy that fails with ENOSYS, but report
|
||||
such failures only once (85646).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 21 11:38:15 CET 2005 - agruen@suse.de
|
||||
|
||||
- Update to version 2.4.22. Various fixes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 13 18:00:01 CEST 2004 - mjancar@suse.cz
|
||||
|
||||
- update to 2.4.16
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 27 10:11:29 CET 2004 - kukuk@suse.de
|
||||
|
||||
- Don't include man2/*xattr.2 manual pages, use the copy from
|
||||
the man-pages package (so we have documentation for the glibc
|
||||
functions, too).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 10 21:22:37 CET 2004 - adrian@suse.de
|
||||
|
||||
- build as user
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 1 15:14:58 CET 2004 - agruen@suse.de
|
||||
|
||||
- Update to version 2.4.12. Bug fix in directory tree walking
|
||||
code.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 22 08:30:45 CEST 2003 - kukuk@suse.de
|
||||
|
||||
- Fix provides/requires for update case
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 28 13:26:04 CEST 2003 - agruen@suse.de
|
||||
|
||||
- Fix a bug with error handling while walking directory trees.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 28 01:48:43 CEST 2003 - ro@suse.de
|
||||
|
||||
- fix patch-depth in specfile
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 27 00:50:55 CEST 2003 - agruen@suse.de
|
||||
|
||||
- Fix SIGSEGV if the quote function.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 15 14:22:46 CEST 2003 - agruen@suse.de
|
||||
|
||||
- Update to 2.4.8: Fixes SIGSEGV if the quote/unquote functions
|
||||
are passed NULL arguments.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 26 20:30:17 CEST 2003 - agruen@suse.de
|
||||
|
||||
- Update to 2.4.6 + additional patch to be merged upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 16 19:09:14 CEST 2003 - jderfina@suse.cz
|
||||
|
||||
- File list fixed.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 16 12:46:06 CEST 2003 - jderfina@suse.cz
|
||||
|
||||
- Update to 2.4.2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 6 21:28:21 CEST 2003 - agruen@suse.de
|
||||
|
||||
- Update to 2.4.1.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 27 05:20:41 CET 2003 - agruen@suse.de
|
||||
|
||||
- Fix broken attr_copy_check_permissions() function.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 26 14:31:57 CET 2003 - agruen@suse.de
|
||||
|
||||
- Update to attr-2.4.0 which has our patches integrated.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 24 12:11:20 CET 2003 - agruen@suse.de
|
||||
|
||||
- Increment libattr library version to 1.1.0.
|
||||
- Fix [#24244] (prevent accidental acl copying on xfs).
|
||||
- Add symbol level versioning for libattr.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 13 21:57:56 CET 2003 - agruen@suse.de
|
||||
|
||||
- Fix an interface declaration in in the error_context.h header.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 22 16:30:49 CET 2003 - agruen@suse.de
|
||||
|
||||
- Update to attr-2.2.0
|
||||
- Add EA copying functions patch
|
||||
- Let mls@suse.de add the following package alias in Autobuild
|
||||
for building packages against older releases:
|
||||
libattr-devel -> attr-devel [for <= 8.1]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 21 14:02:36 CET 2003 - agruen@suse.de
|
||||
|
||||
- Remove (Prereq: /sbin/ldconfig) tag, and use %run_ldconfig
|
||||
in %post and %postun instead.
|
||||
- attr-devel was renamed to libattr-devel: add missing
|
||||
`Obsoletes: attr-devel' tag to libattr-devel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 13 16:30:03 CET 2002 - schwab@suse.de
|
||||
|
||||
- Fix filelist generation.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 12 17:56:03 CET 2002 - jderfina@suse.cz
|
||||
|
||||
- upgrading to version 2.1.1
|
||||
- spliting attr to attr (binaries), libattr (libraries, only this package is
|
||||
needed for other packages) and libattr-devel (development stuff). This
|
||||
spliting follows SGI's release.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 5 13:32:18 CEST 2002 - agruen@suse.de
|
||||
|
||||
- Update to version 2.0.11: Adds support for m68k and alpha, minor
|
||||
corrections (see attr-2.0.11/doc/CHANGES for details).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 15 10:06:57 CEST 2002 - agruen@suse.de
|
||||
|
||||
- Remove the suse_update_config macro and the config.* stuff.
|
||||
(According to ro@suse.de this is not necessary.)
|
||||
- Change the documentation path in builddefs.in instead of in
|
||||
configure.in.
|
||||
- Update to version 2.0.9
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 20 09:39:30 CEST 2002 - lmuelle@suse.de
|
||||
|
||||
- Remove DESTDIR patch, use DIST_ROOT of package instead
|
||||
- Update to version 2.0.8
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 12 17:37:03 CEST 2002 - ro@suse.de
|
||||
|
||||
- fix for ppc64 (it's called powerpc64 in configure)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 21 10:59:48 CEST 2002 - coolo@suse.de
|
||||
|
||||
- build also on archs without xattr syscalls
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 13 13:56:09 CEST 2002 - sf@suse.de
|
||||
|
||||
- changed configure.in to use */lib64 as pkg_slib_dir and
|
||||
pkg_lib_dir on architectures with lib and lib64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 24 17:52:15 MEST 2002 - mls@suse.de
|
||||
|
||||
- support for mips architecture
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 25 22:34:59 CET 2002 - ro@suse.de
|
||||
|
||||
- initial package (split from xfstools spec)
|
||||
|
290
attr.spec
Normal file
290
attr.spec
Normal file
@ -0,0 +1,290 @@
|
||||
#
|
||||
# spec file for package attr (Version 2.4.28)
|
||||
#
|
||||
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
# norootforbuild
|
||||
|
||||
Name: attr
|
||||
Group: System/Filesystems
|
||||
Autoreqprov: on
|
||||
Summary: A Command to Manipulate File System Extended Attributes
|
||||
Version: 2.4.28
|
||||
Release: 26
|
||||
Source: %{name}-%{version}.src.tar.bz2
|
||||
Source1: xattr.conf
|
||||
Patch0: builddefs.in.diff
|
||||
Patch1: xfs-cmds-25211a-skip-DMF-attributes-on-copy-also
|
||||
Patch2: xfs-cmds-25263a-fix-list_attr-segfault
|
||||
Patch3: xattr_conf.diff
|
||||
URL: ftp://oss.sgi.com/projects/xfs/cmd_tars
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
License: GPL, Other License(s), see package
|
||||
Conflicts: xfsdump < 2.0.0
|
||||
|
||||
%description
|
||||
A set of tools for manipulating extended attributes on file system
|
||||
objects, in particular getfattr(1) and setfattr(1). An attr(1) command
|
||||
is also provided, which is largely compatible with the SGI IRIX tool of
|
||||
the same name.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Andreas Gruenbacher <a.gruenbacher@computer.org>
|
||||
SGI
|
||||
|
||||
%package -n libattr
|
||||
Summary: A dynamic library for filesystem extended attribute support
|
||||
Autoreqprov: on
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libattr
|
||||
This package contains the libattr.so dynamic library.It contains the
|
||||
extended attribute system calls and library functions.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Andreas Gruenbacher <a.gruenbacher@computer.org>
|
||||
SGI
|
||||
|
||||
%package -n libattr-devel
|
||||
Summary: Include Files and Libraries mandatory for Development
|
||||
Autoreqprov: on
|
||||
Group: Development/Libraries/C and C++
|
||||
Provides: attr-devel
|
||||
Obsoletes: attr-devel
|
||||
Requires: libattr = %{version}
|
||||
|
||||
%description -n libattr-devel
|
||||
This package contains the libraries and header files needed to develop
|
||||
programs which make use of extended attributes. For Linux programs, the
|
||||
documented system call API is the recommended interface, but an SGI
|
||||
IRIX compatibility interface is also provided.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
SGI
|
||||
|
||||
%prep
|
||||
%setup
|
||||
%patch0 -p1
|
||||
%patch1 -p2
|
||||
%patch2 -p2
|
||||
%patch3 -p1
|
||||
|
||||
%build
|
||||
export OPTIMIZER="$RPM_OPT_FLAGS -fPIC"
|
||||
export DEBUG=-DNDEBUG
|
||||
autoconf
|
||||
CFLAGS="$RPM_OPT_FLAGS" \
|
||||
./configure \
|
||||
--prefix=/ \
|
||||
--exec-prefix=/ \
|
||||
--sbindir=/bin \
|
||||
--bindir=%{_bindir} \
|
||||
--mandir=%{_mandir} \
|
||||
--includedir=%{_includedir} \
|
||||
--libdir=/%{_lib} \
|
||||
--datadir=/usr/share \
|
||||
--libexecdir=/%{_libdir}
|
||||
make
|
||||
|
||||
%install
|
||||
DIST_ROOT="$RPM_BUILD_ROOT"
|
||||
DIST_INSTALL=`pwd`/install.manifest
|
||||
DIST_INSTALL_DEV=`pwd`/install-dev.manifest
|
||||
DIST_INSTALL_LIB=`pwd`/install-lib.manifest
|
||||
export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV DIST_INSTALL_LIB
|
||||
/usr/bin/make install DIST_MANIFEST="$DIST_INSTALL"
|
||||
/usr/bin/make install-dev DIST_MANIFEST="$DIST_INSTALL_DEV"
|
||||
/usr/bin/make install-lib DIST_MANIFEST="$DIST_INSTALL_LIB"
|
||||
ln -sf /%{_lib}/$(readlink $RPM_BUILD_ROOT/%{_lib}/libattr.so) \
|
||||
$RPM_BUILD_ROOT/%{_libdir}/libattr.so
|
||||
rm -f $RPM_BUILD_ROOT/%{_lib}/libattr.{a,la,so}
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man2/*xattr.2*
|
||||
rm -f $RPM_BUILD_ROOT/%{_libdir}/libattr.la
|
||||
install -d -m 755 $RPM_BUILD_ROOT/%{_sysconfdir}
|
||||
install -m 644 %_sourcedir/xattr.conf $RPM_BUILD_ROOT/%{_sysconfdir}
|
||||
%find_lang %name
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post -n libattr -p /sbin/ldconfig
|
||||
|
||||
%postun -n libattr -p /sbin/ldconfig
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr (-,root,root)
|
||||
%dir %attr(755,root,root) /usr/share/doc/packages/attr
|
||||
%dir %attr(755,root,root) /usr/share/doc/packages/attr/ea-conv
|
||||
%doc %attr(644,root,root) /usr/share/doc/packages/attr/README
|
||||
%doc %attr(644,root,root) /usr/share/doc/packages/attr/CHANGES.gz
|
||||
%doc %attr(644,root,root) /usr/share/doc/packages/attr/COPYING
|
||||
%doc %attr(644,root,root) /usr/share/doc/packages/attr/PORTING
|
||||
%doc %attr(644,root,root) /usr/share/doc/packages/attr/ea-conv/README
|
||||
%doc %attr(755,root,root) /usr/share/doc/packages/attr/ea-conv/ea-conv
|
||||
%doc %attr(644,root,root) %{_mandir}/man1/attr.1.gz
|
||||
%doc %attr(644,root,root) %{_mandir}/man1/getfattr.1.gz
|
||||
%doc %attr(644,root,root) %{_mandir}/man1/setfattr.1.gz
|
||||
%doc %attr(644,root,root) %{_mandir}/man5/attr.5.gz
|
||||
%attr(755,root,root) %{_bindir}/attr
|
||||
%attr(755,root,root) %{_bindir}/getfattr
|
||||
%attr(755,root,root) %{_bindir}/setfattr
|
||||
|
||||
%files -n libattr-devel
|
||||
%defattr(-,root,root)
|
||||
%dir %attr(755,root,root) %{_includedir}/attr
|
||||
%attr(644,root,root) %{_includedir}/attr/attributes.h
|
||||
%attr(644,root,root) %{_includedir}/attr/error_context.h
|
||||
%attr(644,root,root) %{_includedir}/attr/libattr.h
|
||||
%attr(644,root,root) %{_includedir}/attr/xattr.h
|
||||
%attr(644,root,root) %{_libdir}/libattr.a
|
||||
%attr(755,root,root) %{_libdir}/libattr.so
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_get.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_list.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_multi.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_remove.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_set.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_getf.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_listf.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_multif.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_removef.3.gz*
|
||||
%doc %attr(644,root,root) %{_mandir}/man3/attr_setf.3.gz*
|
||||
|
||||
%files -n libattr
|
||||
%defattr (755,root,root)
|
||||
/%{_lib}/libattr.so.1*
|
||||
%config %{_sysconfdir}/xattr.conf
|
||||
|
||||
%changelog -n attr
|
||||
* Mon Oct 16 2006 - agruen@suse.de
|
||||
- Ignore Beagle index data when copying files.
|
||||
* Wed Oct 04 2006 - agruen@suse.de
|
||||
- /etc/xattr.conf: Allow to configure which attributes to skip
|
||||
when copying, and which attributes contain file permissions.
|
||||
* Sat Mar 18 2006 - aj@suse.de
|
||||
- Remove .la package that was introduced in last change and breaks
|
||||
build of many packages.
|
||||
* Fri Mar 17 2006 - agruen@suse.de
|
||||
- Fix symlinks in the -devel package (149945, Nathan Scott).
|
||||
* Tue Mar 07 2006 - agruen@suse.de
|
||||
- xfs-cmds-25263a-fix-list_attr-segfault: Fix a possible segfault
|
||||
in the attr_list compat function (155746).
|
||||
* Sat Feb 18 2006 - agruen@suse.de
|
||||
- Add xfs-cmds-25211a-skip-DMF-attributes-on-copy-also patch from
|
||||
SGI (151782).
|
||||
* Wed Jan 25 2006 - mls@suse.de
|
||||
- converted neededforbuild to BuildRequires
|
||||
* Fri Jan 13 2006 - mjancar@suse.cz
|
||||
- update to 2.4.28
|
||||
* Implement the IRIX list_attr interfaces
|
||||
* Wed Nov 02 2005 - schwab@suse.de
|
||||
- Use RPM_OPT_FLAGS.
|
||||
* Fri Aug 26 2005 - agruen@suse.de
|
||||
- Update to version 2.4.24: integrates two patches we had
|
||||
separately before; add a missing space in an error message;
|
||||
an error path fix in setfattr. No API/ABI changes in libattr.
|
||||
* Fri Aug 19 2005 - kukuk@suse.de
|
||||
- Move devel files from / to /usr
|
||||
- Don't generate filelist dynamic (fix broken attr statements)
|
||||
* Mon Jun 06 2005 - agruen@suse.de
|
||||
- Bump version number to 2.4.23.
|
||||
* Thu Jun 02 2005 - agruen@suse.de
|
||||
- reduce-verboseness.diff: attr_copy_{fd,file}: Don't report an
|
||||
error for each attribute copy that fails with ENOSYS, but report
|
||||
such failures only once (85646).
|
||||
* Mon Feb 21 2005 - agruen@suse.de
|
||||
- Update to version 2.4.22. Various fixes.
|
||||
* Fri Aug 13 2004 - mjancar@suse.cz
|
||||
- update to 2.4.16
|
||||
* Tue Jan 27 2004 - kukuk@suse.de
|
||||
- Don't include man2/*xattr.2 manual pages, use the copy from
|
||||
the man-pages package (so we have documentation for the glibc
|
||||
functions, too).
|
||||
* Sat Jan 10 2004 - adrian@suse.de
|
||||
- build as user
|
||||
* Thu Jan 01 2004 - agruen@suse.de
|
||||
- Update to version 2.4.12. Bug fix in directory tree walking
|
||||
code.
|
||||
* Wed Oct 22 2003 - kukuk@suse.de
|
||||
- Fix provides/requires for update case
|
||||
* Thu Aug 28 2003 - agruen@suse.de
|
||||
- Fix a bug with error handling while walking directory trees.
|
||||
* Thu Aug 28 2003 - ro@suse.de
|
||||
- fix patch-depth in specfile
|
||||
* Wed Aug 27 2003 - agruen@suse.de
|
||||
- Fix SIGSEGV if the quote function.
|
||||
* Fri Aug 15 2003 - agruen@suse.de
|
||||
- Update to 2.4.8: Fixes SIGSEGV if the quote/unquote functions
|
||||
are passed NULL arguments.
|
||||
* Sat Jul 26 2003 - agruen@suse.de
|
||||
- Update to 2.4.6 + additional patch to be merged upstream.
|
||||
* Mon Jun 16 2003 - jderfina@suse.cz
|
||||
- File list fixed.
|
||||
* Wed Apr 16 2003 - jderfina@suse.cz
|
||||
- Update to 2.4.2
|
||||
* Sun Apr 06 2003 - agruen@suse.de
|
||||
- Update to 2.4.1.
|
||||
* Thu Feb 27 2003 - agruen@suse.de
|
||||
- Fix broken attr_copy_check_permissions() function.
|
||||
* Wed Feb 26 2003 - agruen@suse.de
|
||||
- Update to attr-2.4.0 which has our patches integrated.
|
||||
* Mon Feb 24 2003 - agruen@suse.de
|
||||
- Increment libattr library version to 1.1.0.
|
||||
- Fix [#24244] (prevent accidental acl copying on xfs).
|
||||
- Add symbol level versioning for libattr.
|
||||
* Thu Feb 13 2003 - agruen@suse.de
|
||||
- Fix an interface declaration in in the error_context.h header.
|
||||
* Wed Jan 22 2003 - agruen@suse.de
|
||||
- Update to attr-2.2.0
|
||||
- Add EA copying functions patch
|
||||
- Let mls@suse.de add the following package alias in Autobuild
|
||||
for building packages against older releases:
|
||||
libattr-devel -> attr-devel [for <= 8.1]
|
||||
* Tue Jan 21 2003 - agruen@suse.de
|
||||
- Remove (Prereq: /sbin/ldconfig) tag, and use %%run_ldconfig
|
||||
in %%post and %%postun instead.
|
||||
- attr-devel was renamed to libattr-devel: add missing
|
||||
`Obsoletes: attr-devel' tag to libattr-devel.
|
||||
* Fri Dec 13 2002 - schwab@suse.de
|
||||
- Fix filelist generation.
|
||||
* Thu Dec 12 2002 - jderfina@suse.cz
|
||||
- upgrading to version 2.1.1
|
||||
- spliting attr to attr (binaries), libattr (libraries, only this package is
|
||||
needed for other packages) and libattr-devel (development stuff). This
|
||||
spliting follows SGI's release.
|
||||
* Thu Sep 05 2002 - agruen@suse.de
|
||||
- Update to version 2.0.11: Adds support for m68k and alpha, minor
|
||||
corrections (see attr-2.0.11/doc/CHANGES for details).
|
||||
* Thu Aug 15 2002 - agruen@suse.de
|
||||
- Remove the suse_update_config macro and the config.* stuff.
|
||||
(According to ro@suse.de this is not necessary.)
|
||||
- Change the documentation path in builddefs.in instead of in
|
||||
configure.in.
|
||||
- Update to version 2.0.9
|
||||
* Thu Jun 20 2002 - lmuelle@suse.de
|
||||
- Remove DESTDIR patch, use DIST_ROOT of package instead
|
||||
- Update to version 2.0.8
|
||||
* Wed Jun 12 2002 - ro@suse.de
|
||||
- fix for ppc64 (it's called powerpc64 in configure)
|
||||
* Tue May 21 2002 - coolo@suse.de
|
||||
- build also on archs without xattr syscalls
|
||||
* Mon May 13 2002 - sf@suse.de
|
||||
- changed configure.in to use */lib64 as pkg_slib_dir and
|
||||
pkg_lib_dir on architectures with lib and lib64
|
||||
* Wed Apr 24 2002 - mls@suse.de
|
||||
- support for mips architecture
|
||||
* Mon Feb 25 2002 - ro@suse.de
|
||||
- initial package (split from xfstools spec)
|
11
builddefs.in.diff
Normal file
11
builddefs.in.diff
Normal file
@ -0,0 +1,11 @@
|
||||
--- attr-2.4.28/include/builddefs.in
|
||||
+++ attr-2.4.28/include/builddefs.in
|
||||
@@ -30,7 +30,7 @@
|
||||
PKG_DEVLIB_DIR = @libexecdir@
|
||||
PKG_INC_DIR = @includedir@/attr
|
||||
PKG_MAN_DIR = @mandir@
|
||||
-PKG_DOC_DIR = @datadir@/doc/@pkg_name@
|
||||
+PKG_DOC_DIR = @datadir@/doc/packages/@pkg_name@
|
||||
PKG_LOCALE_DIR = @datadir@/locale
|
||||
|
||||
CC = @cc@
|
22
xattr.conf
Normal file
22
xattr.conf
Normal file
@ -0,0 +1,22 @@
|
||||
# /etc/xattr.conf
|
||||
#
|
||||
# How to handle extended attributes when copying between files
|
||||
#
|
||||
# Format:
|
||||
# <pattern> <action>
|
||||
#
|
||||
# Actions:
|
||||
# permissions - copy when trying to preserve permissions.
|
||||
# skip - do not copy.
|
||||
|
||||
system.nfs4_acl permissions
|
||||
system.nfs4acl permissions
|
||||
system.posix_acl_access permissions
|
||||
system.posix_acl_default permissions
|
||||
trusted.SGI_ACL_DEFAULT skip # xfs specific
|
||||
trusted.SGI_ACL_FILE skip # xfs specific
|
||||
trusted.SGI_CAP_FILE skip # xfs specific
|
||||
trusted.SGI_DMI_* skip # xfs specific
|
||||
trusted.SGI_MAC_FILE skip # xfs specific
|
||||
xfsroot.* skip # xfs specific; obsolete
|
||||
user.Beagle.* skip # ignore Beagle index data
|
281
xattr_conf.diff
Normal file
281
xattr_conf.diff
Normal file
@ -0,0 +1,281 @@
|
||||
Index: attr-2.4.28/libattr/Makefile
|
||||
===================================================================
|
||||
--- attr-2.4.28.orig/libattr/Makefile
|
||||
+++ attr-2.4.28/libattr/Makefile
|
||||
@@ -13,7 +13,7 @@ LT_CURRENT = 2
|
||||
LT_REVISION = 0
|
||||
LT_AGE = 1
|
||||
|
||||
-CFILES = libattr.c syscalls.c attr_copy_fd.c attr_copy_file.c attr_copy_check.c
|
||||
+CFILES = libattr.c syscalls.c attr_copy_fd.c attr_copy_file.c attr_copy_check.c attr_copy_action.c
|
||||
HFILES = libattr.h
|
||||
|
||||
LCFLAGS = -include libattr.h
|
||||
Index: attr-2.4.28/libattr/attr_copy_action.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ attr-2.4.28/libattr/attr_copy_action.c
|
||||
@@ -0,0 +1,163 @@
|
||||
+/* Copyright (C) 2006 Andreas Gruenbacher <agruen@suse.de>, SuSE Linux AG.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2 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
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with this library; if not, write to the Free Software
|
||||
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+*/
|
||||
+
|
||||
+#include <alloca.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <errno.h>
|
||||
+#include <string.h>
|
||||
+#include <stdarg.h>
|
||||
+#include <fnmatch.h>
|
||||
+
|
||||
+#include "attr/libattr.h"
|
||||
+#define ERROR_CONTEXT_MACROS
|
||||
+#include "error_context.h"
|
||||
+
|
||||
+#define ATTR_CONF "/etc/xattr.conf"
|
||||
+
|
||||
+struct attr_action {
|
||||
+ struct attr_action *next;
|
||||
+ char *pattern;
|
||||
+ int action;
|
||||
+};
|
||||
+
|
||||
+static struct attr_action *attr_actions;
|
||||
+
|
||||
+static void
|
||||
+free_attr_actions(void)
|
||||
+{
|
||||
+ struct attr_action *tmp;
|
||||
+
|
||||
+ while (attr_actions) {
|
||||
+ tmp = attr_actions->next;
|
||||
+ free(attr_actions->pattern);
|
||||
+ free(attr_actions);
|
||||
+ attr_actions = tmp;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+attr_parse_attr_conf(struct error_context *ctx)
|
||||
+{
|
||||
+ char *text, *t;
|
||||
+ size_t size_guess = 4096, len;
|
||||
+ FILE *file;
|
||||
+ char *pattern = NULL;
|
||||
+ struct attr_action *new;
|
||||
+ int action;
|
||||
+
|
||||
+ if (attr_actions)
|
||||
+ return 0;
|
||||
+
|
||||
+repeat:
|
||||
+ text = malloc(size_guess + 1);
|
||||
+ if (!text)
|
||||
+ goto fail;
|
||||
+
|
||||
+ if ((file = fopen(ATTR_CONF, "r")) == NULL) {
|
||||
+ if (errno == ENOENT)
|
||||
+ return 0;
|
||||
+ goto fail;
|
||||
+ }
|
||||
+ len = fread(text, 1, size_guess, file);
|
||||
+ if (ferror(file))
|
||||
+ goto fail;
|
||||
+ if (!feof(file)) {
|
||||
+ fclose(file);
|
||||
+ file = NULL;
|
||||
+ free(text);
|
||||
+ size_guess *= 2;
|
||||
+ goto repeat;
|
||||
+ }
|
||||
+ fclose(file);
|
||||
+ file = NULL;
|
||||
+
|
||||
+ text[len] = 0;
|
||||
+ t = text;
|
||||
+ for (;;) {
|
||||
+ t += strspn(t, " \t\n");
|
||||
+ len = strcspn(t, " \t\n#");
|
||||
+ if (t[len] == '#') {
|
||||
+ if (len)
|
||||
+ goto parse_error;
|
||||
+ t += strcspn(t, "\n");
|
||||
+ continue;
|
||||
+ } else if (t[len] == 0)
|
||||
+ break;
|
||||
+ else if (t[len] == '\n')
|
||||
+ goto parse_error;
|
||||
+ pattern = strndup(t, len);
|
||||
+ if (!pattern)
|
||||
+ goto fail;
|
||||
+ t += len;
|
||||
+
|
||||
+ t += strspn(t, " \t");
|
||||
+ len = strcspn(t, " \t\n#");
|
||||
+ if (len == 4 && !strncmp(t, "skip", 4))
|
||||
+ action = ATTR_ACTION_SKIP;
|
||||
+ else if (len == 11 && !strncmp(t, "permissions", 11))
|
||||
+ action = ATTR_ACTION_PERMISSIONS;
|
||||
+ else
|
||||
+ goto parse_error;
|
||||
+ t += len;
|
||||
+ t += strspn(t, " \t");
|
||||
+ if (*t != '#' && *t != '\n')
|
||||
+ goto parse_error;
|
||||
+
|
||||
+ new = malloc(sizeof(struct attr_action));
|
||||
+ if (!new)
|
||||
+ goto parse_error;
|
||||
+ new->next = attr_actions;
|
||||
+ new->pattern = pattern;
|
||||
+ new->action = action;
|
||||
+ attr_actions = new;
|
||||
+
|
||||
+ t += strcspn(t, "\n");
|
||||
+ }
|
||||
+ return 0;
|
||||
+
|
||||
+parse_error:
|
||||
+ errno = EINVAL;
|
||||
+
|
||||
+fail:
|
||||
+ {
|
||||
+ const char *q = quote (ctx, ATTR_CONF);
|
||||
+ error (ctx, "%s", q);
|
||||
+ quote_free (ctx, q);
|
||||
+ }
|
||||
+
|
||||
+ free(pattern);
|
||||
+ if (file)
|
||||
+ fclose(file);
|
||||
+ free(text);
|
||||
+ free_attr_actions();
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+attr_copy_action(const char *name, struct error_context *ctx)
|
||||
+{
|
||||
+ struct attr_action *action = attr_actions;
|
||||
+
|
||||
+ if (!attr_parse_attr_conf(ctx)) {
|
||||
+ for (action = attr_actions; action; action = action->next) {
|
||||
+ if (!fnmatch(action->pattern, name, 0))
|
||||
+ return action->action;
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
Index: attr-2.4.28/libattr/attr_copy_fd.c
|
||||
===================================================================
|
||||
--- attr-2.4.28.orig/libattr/attr_copy_fd.c
|
||||
+++ attr-2.4.28/libattr/attr_copy_fd.c
|
||||
@@ -120,7 +120,7 @@ attr_copy_fd(const char *src_path, int s
|
||||
quote_free (ctx, qname);
|
||||
quote_free (ctx, qpath);
|
||||
ret = -1;
|
||||
- continue; /* may not have permission to access */
|
||||
+ continue;
|
||||
}
|
||||
value = (char *) realloc (old_value = value, size);
|
||||
if (size != 0 && value == NULL) {
|
||||
@@ -137,6 +137,7 @@ attr_copy_fd(const char *src_path, int s
|
||||
quote_free (ctx, qname);
|
||||
quote_free (ctx, qpath);
|
||||
ret = -1;
|
||||
+ continue;
|
||||
}
|
||||
if (fsetxattr (dst_fd, name, value, size, 0) != 0) {
|
||||
if (errno == ENOTSUP)
|
||||
Index: attr-2.4.28/libattr/attr_copy_file.c
|
||||
===================================================================
|
||||
--- attr-2.4.28.orig/libattr/attr_copy_file.c
|
||||
+++ attr-2.4.28/libattr/attr_copy_file.c
|
||||
@@ -118,7 +118,7 @@ attr_copy_file(const char *src_path, con
|
||||
quote_free (ctx, qname);
|
||||
quote_free (ctx, qpath);
|
||||
ret = -1;
|
||||
- continue; /* may not have permission to access */
|
||||
+ continue;
|
||||
}
|
||||
value = (char *) realloc (old_value = value, size);
|
||||
if (size != 0 && value == NULL) {
|
||||
@@ -135,6 +135,7 @@ attr_copy_file(const char *src_path, con
|
||||
quote_free (ctx, qname);
|
||||
quote_free (ctx, qpath);
|
||||
ret = -1;
|
||||
+ continue;
|
||||
}
|
||||
if (lsetxattr (dst_path, name, value, size, 0) != 0) {
|
||||
if (errno == ENOTSUP)
|
||||
Index: attr-2.4.28/libattr/attr_copy_check.c
|
||||
===================================================================
|
||||
--- attr-2.4.28.orig/libattr/attr_copy_check.c
|
||||
+++ attr-2.4.28/libattr/attr_copy_check.c
|
||||
@@ -23,32 +23,6 @@
|
||||
int
|
||||
attr_copy_check_permissions(const char *name, struct error_context *ctx)
|
||||
{
|
||||
- /* Skip POSIX ACLs. */
|
||||
- if (strncmp(name, "system.posix_acl_", 17) == 0 &&
|
||||
- (strcmp(name+17, "access") == 0 ||
|
||||
- strcmp(name+17, "default") == 0))
|
||||
- return 0;
|
||||
-
|
||||
- /* Skip permissions attributes which are used on IRIX, and
|
||||
- hence are part of the XFS ondisk format (incl. ACLs).
|
||||
- Also skip SGI DMF attributes as they are inappropriate
|
||||
- targets for copying over as well. */
|
||||
- if (strncmp(name, "trusted.SGI_", 12) == 0 &&
|
||||
- (strcmp(name+12, "ACL_DEFAULT") == 0 ||
|
||||
- strcmp(name+12, "ACL_FILE") == 0 ||
|
||||
- strcmp(name+12, "CAP_FILE") == 0 ||
|
||||
- strcmp(name+12, "MAC_FILE") == 0 ||
|
||||
- strncmp(name+12, "DMI_", 4) == 0))
|
||||
- return 0;
|
||||
-
|
||||
- /* The xfsroot namespace mirrored attributes, some of which
|
||||
- are also also available via the system.* and trusted.*
|
||||
- namespaces. To avoid the problems this would cause,
|
||||
- we skip xfsroot altogether.
|
||||
- Note: xfsroot namespace has now been removed from XFS. */
|
||||
- if (strncmp(name, "xfsroot.", 8) == 0)
|
||||
- return 0;
|
||||
-
|
||||
- return 1;
|
||||
+ return attr_copy_action(name, ctx) == 0;
|
||||
}
|
||||
|
||||
Index: attr-2.4.28/include/libattr.h
|
||||
===================================================================
|
||||
--- attr-2.4.28.orig/include/libattr.h
|
||||
+++ attr-2.4.28/include/libattr.h
|
||||
@@ -14,9 +14,14 @@ extern int attr_copy_fd (const char *, i
|
||||
int (*) (const char *, struct error_context *),
|
||||
struct error_context *);
|
||||
|
||||
-/* The default check function used by attr_copy_{fd,file}. */
|
||||
+/* Keep this function for backwards compatibility. */
|
||||
extern int attr_copy_check_permissions(const char *, struct error_context *);
|
||||
|
||||
+#define ATTR_ACTION_SKIP 1
|
||||
+#define ATTR_ACTION_PERMISSIONS 2
|
||||
+
|
||||
+extern int attr_copy_action(const char *, struct error_context *);
|
||||
+
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
31
xfs-cmds-25211a-skip-DMF-attributes-on-copy-also
Normal file
31
xfs-cmds-25211a-skip-DMF-attributes-on-copy-also
Normal file
@ -0,0 +1,31 @@
|
||||
Date: Thu, Feb 16 2006 14:16:37 +1100
|
||||
From: Nathan Scott <nathans@sgi.com>
|
||||
References: 151782, SGI:PV948880
|
||||
Subject: skip DMF attributes on copy also
|
||||
|
||||
Do not copy SGI DMI (data migration) attributes as well.
|
||||
|
||||
===========================================================================
|
||||
Index: attr/libattr/attr_copy_check.c
|
||||
===========================================================================
|
||||
|
||||
--- a/attr/libattr/attr_copy_check.c 2006-02-16 13:47:35.000000000 +1100
|
||||
+++ b/attr/libattr/attr_copy_check.c 2006-02-16 13:47:35.000000000 +1100
|
||||
@@ -30,12 +30,15 @@ attr_copy_check_permissions(const char *
|
||||
return 0;
|
||||
|
||||
/* Skip permissions attributes which are used on IRIX, and
|
||||
- hence are part of the XFS ondisk format (incl. ACLs). */
|
||||
+ hence are part of the XFS ondisk format (incl. ACLs).
|
||||
+ Also skip SGI DMF attributes as they are inappropriate
|
||||
+ targets for copying over as well. */
|
||||
if (strncmp(name, "trusted.SGI_", 12) == 0 &&
|
||||
(strcmp(name+12, "ACL_DEFAULT") == 0 ||
|
||||
strcmp(name+12, "ACL_FILE") == 0 ||
|
||||
strcmp(name+12, "CAP_FILE") == 0 ||
|
||||
- strcmp(name+12, "MAC_FILE") == 0))
|
||||
+ strcmp(name+12, "MAC_FILE") == 0 ||
|
||||
+ strncmp(name+12, "DMI_", 4) == 0))
|
||||
return 0;
|
||||
|
||||
/* The xfsroot namespace mirrored attributes, some of which
|
81
xfs-cmds-25263a-fix-list_attr-segfault
Normal file
81
xfs-cmds-25263a-fix-list_attr-segfault
Normal file
@ -0,0 +1,81 @@
|
||||
Date: Wed, Feb 22 2006 13:56:35 +1100
|
||||
From: Nathan Scott <nathans@sgi.com>
|
||||
References: SGI:PV949977
|
||||
Subject: fix list_attr segfault
|
||||
|
||||
Fix a possible segfault from the attr list compat interfaces,
|
||||
thanks to Simon Munton.
|
||||
|
||||
===========================================================================
|
||||
Index: attr/libattr/libattr.c
|
||||
===========================================================================
|
||||
|
||||
--- a/attr/libattr/libattr.c 2006-02-22 13:28:37.000000000 +1100
|
||||
+++ b/attr/libattr/libattr.c 2006-02-22 13:28:37.000000000 +1100
|
||||
@@ -268,7 +268,7 @@ attr_list(const char *path, char *buffer
|
||||
attrlist_cursor_t *cursor)
|
||||
{
|
||||
const char *l;
|
||||
- int length, count = 0;
|
||||
+ int length, vlength, count = 0;
|
||||
char lbuf[MAXLISTLEN];
|
||||
char name[MAXNAMELEN+16];
|
||||
unsigned int start_offset, end_offset;
|
||||
@@ -293,14 +293,14 @@ attr_list(const char *path, char *buffer
|
||||
if (api_unconvert(name, l, flags))
|
||||
continue;
|
||||
if (flags & ATTR_DONTFOLLOW)
|
||||
- length = lgetxattr(path, l, NULL, 0);
|
||||
+ vlength = lgetxattr(path, l, NULL, 0);
|
||||
else
|
||||
- length = getxattr(path, l, NULL, 0);
|
||||
- if (length < 0 && (errno == ENOATTR || errno == ENOTSUP))
|
||||
+ vlength = getxattr(path, l, NULL, 0);
|
||||
+ if (vlength < 0 && (errno == ENOATTR || errno == ENOTSUP))
|
||||
continue;
|
||||
if (count++ < cursor->opaque[0])
|
||||
continue;
|
||||
- if (attr_list_pack(name, length, buffer, buffersize,
|
||||
+ if (attr_list_pack(name, vlength, buffer, buffersize,
|
||||
&start_offset, &end_offset)) {
|
||||
cursor->opaque[0] = count;
|
||||
break;
|
||||
@@ -314,7 +314,7 @@ attr_listf(int fd, char *buffer, const i
|
||||
attrlist_cursor_t *cursor)
|
||||
{
|
||||
const char *l;
|
||||
- int c, count = 0;
|
||||
+ int length, vlength, count = 0;
|
||||
char lbuf[MAXLISTLEN];
|
||||
char name[MAXNAMELEN+16];
|
||||
unsigned int start_offset, end_offset;
|
||||
@@ -325,22 +325,22 @@ attr_listf(int fd, char *buffer, const i
|
||||
}
|
||||
bzero(buffer, sizeof(attrlist_t));
|
||||
|
||||
- c = flistxattr(fd, lbuf, sizeof(lbuf));
|
||||
- if (c < 0)
|
||||
- return c;
|
||||
+ length = flistxattr(fd, lbuf, sizeof(lbuf));
|
||||
+ if (length < 0)
|
||||
+ return length;
|
||||
|
||||
start_offset = sizeof(attrlist_t);
|
||||
end_offset = buffersize & ~(8-1); /* 8 byte align */
|
||||
|
||||
- for (l = lbuf; l != lbuf + c; l = strchr(l, '\0') + 1) {
|
||||
+ for (l = lbuf; l != lbuf + length; l = strchr(l, '\0') + 1) {
|
||||
if (api_unconvert(name, l, flags))
|
||||
continue;
|
||||
- c = fgetxattr(fd, l, NULL, 0);
|
||||
- if (c < 0 && (errno == ENOATTR || errno == ENOTSUP))
|
||||
+ vlength = fgetxattr(fd, l, NULL, 0);
|
||||
+ if (vlength < 0 && (errno == ENOATTR || errno == ENOTSUP))
|
||||
continue;
|
||||
if (count++ < cursor->opaque[0])
|
||||
continue;
|
||||
- if (attr_list_pack(name, c, buffer, buffersize,
|
||||
+ if (attr_list_pack(name, vlength, buffer, buffersize,
|
||||
&start_offset, &end_offset)) {
|
||||
cursor->opaque[0] = count;
|
||||
break;
|
Loading…
Reference in New Issue
Block a user