Accepting request 347209 from home:jeff_mahoney:branches:Base:System
- Update to git snapshot dated 21 Sep 2015. - Added: * 0001-Install-the-libraries-to-the-appropriate-directory.patch * 0002-setfacl.1-fix-typo-inclu-de-include.patch * 0003-test-fix-insufficient-quoting-of.patch * 0004-Makefile-rename-configure.in-to-configure.ac.patch * 0005-Bad-markup-in-acl.5-page.patch * 0006-.gitignore-ignore-and-config.h.in.patch * 0007-Use-autoreconf-rather-than-autoconf-to-regenerate-th.patch * 0008-libacl-Make-sure-that-acl_from_text-always-sets-errn.patch * 0009-libacl-fix-SIGSEGV-of-getfacl-e-on-overly-long-group.patch * 0010-punt-debian-rpm-packaging-logic.patch * 0011-move-gettext-logic-into-misc.h.patch * 0012-test-make-running-parallel-out-of-tree-safe.patch * 0013-modernize-build-system.patch * 0014-po-regenerate-files-after-move.patch * 0015-build-drop-aclincludedir-use-pkgincludedir.patch * 0016-build-make-use-of-an-aux-dir-to-stow-away-helper-scr.patch * 0017-build-ship-a-pkgconfig-file-for-libacl.patch * 0018-read_acl_-comments-seq-rename-line-to-lineno.patch * 0019-read_acl_-comments-seq-switch-to-next_line.patch * 0020-telldir-return-value-and-seekdir-second-parameters-a.patch * 0021-mark-libmisc-funcs-as-hidden-so-they-are-not-exporte.patch * 0022-add-__acl_-prefixes-to-internal-symbols.patch * 0023-cp.test-Check-permissions-of-the-right-file.patch * 0024-libacl-acl_set_file-Remove-unnecesary-racy-check.patch * 0025-fix-compilation-with-latest-xattr-git.patch * 0026-getfacl-Fix-memory-leak.patch * 0027-Fix-the-display-block-nesting-in-acl.5.patch * 0028-setfacl-man-page-Minor-wording-improvements.patch OBS-URL: https://build.opensuse.org/request/show/347209 OBS-URL: https://build.opensuse.org/package/show/Base:System/acl?expand=0&rev=43
This commit is contained in:
parent
f37faf7e27
commit
5439477a49
@ -0,0 +1,25 @@
|
|||||||
|
From cd76644ce9b9814a856579e2b98d4060d19cb162 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brandon Philips <brandon@ifup.co>
|
||||||
|
Date: Mon, 20 May 2013 06:15:15 -0700
|
||||||
|
Subject: [PATCH 01/34] Install the libraries to the appropriate directory
|
||||||
|
|
||||||
|
---
|
||||||
|
include/builddefs.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/builddefs.in b/include/builddefs.in
|
||||||
|
index 434ce95..5c3e0d6 100644
|
||||||
|
--- a/include/builddefs.in
|
||||||
|
+++ b/include/builddefs.in
|
||||||
|
@@ -31,7 +31,7 @@ PKG_DISTRIBUTION= @pkg_distribution@
|
||||||
|
PKG_BIN_DIR = @bindir@
|
||||||
|
PKG_SBIN_DIR = @sbindir@
|
||||||
|
PKG_LIB_DIR = @libdir@@libdirsuffix@
|
||||||
|
-PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
|
||||||
|
+PKG_DEVLIB_DIR = @libdir@@libdirsuffix@
|
||||||
|
PKG_INC_DIR = @includedir@
|
||||||
|
PKG_MAN_DIR = @mandir@
|
||||||
|
PKG_DOC_DIR = @datadir@/doc/@pkg_name@
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
28
0002-setfacl.1-fix-typo-inclu-de-include.patch
Normal file
28
0002-setfacl.1-fix-typo-inclu-de-include.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 48cd4fe761e396e8897bf661ff81b86331ca2439 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Bradshaw <john@johnbradshaw.org>
|
||||||
|
Date: Mon, 20 May 2013 13:41:32 +0200
|
||||||
|
Subject: [PATCH 02/34] setfacl.1: fix typo 'inclu de' -> 'include'
|
||||||
|
|
||||||
|
Bug: https://bugzilla.redhat.com/675451
|
||||||
|
---
|
||||||
|
man/man1/setfacl.1 | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/man1/setfacl.1 b/man/man1/setfacl.1
|
||||||
|
index 64f0e33..0c7c046 100644
|
||||||
|
--- a/man/man1/setfacl.1
|
||||||
|
+++ b/man/man1/setfacl.1
|
||||||
|
@@ -240,8 +240,8 @@ owner, owning group, or others entry, a copy of the ACL owner, owning group, or
|
||||||
|
.IP * 4
|
||||||
|
If a Default ACL contains named user entries or named group entries, and no mask entry exists, a mask entry containing the same permissions as the default Default ACL's group entry is added. Unless the
|
||||||
|
.I \-n
|
||||||
|
-option is given, the permissions of the mask entry are further adjusted to inclu
|
||||||
|
-de the union of all permissions affected by the mask entry. (See the
|
||||||
|
+option is given, the permissions of the mask entry are further adjusted to
|
||||||
|
+include the union of all permissions affected by the mask entry. (See the
|
||||||
|
.I \-n
|
||||||
|
option description).
|
||||||
|
.PP
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
102
0003-test-fix-insufficient-quoting-of.patch
Normal file
102
0003-test-fix-insufficient-quoting-of.patch
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
From e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Mon, 20 May 2013 16:38:06 +0200
|
||||||
|
Subject: [PATCH 03/34] test: fix insufficient quoting of '\'
|
||||||
|
|
||||||
|
This is a follow-up to 7f2c91b8369242a8dbc2b304a5b71b2a85f5b855, which
|
||||||
|
caused sbits-restore.test to fail in the following way in case SELinux
|
||||||
|
was disabled:
|
||||||
|
|
||||||
|
*** sbits-restore.test ***
|
||||||
|
[3] $ umask 022 -- ok
|
||||||
|
[4] $ mkdir d -- ok
|
||||||
|
[5] $ touch d/g -- ok
|
||||||
|
[6] $ touch d/u -- ok
|
||||||
|
[7] $ chmod u+s d/u -- ok
|
||||||
|
[8] $ chmod g+s d/g -- ok
|
||||||
|
[9] $ chmod +t d -- ok
|
||||||
|
[10] $ getfacl -R d > d.acl -- ok
|
||||||
|
[11] $ rm -R d -- ok
|
||||||
|
[12] $ mkdir d -- ok
|
||||||
|
[13] $ touch d/g -- ok
|
||||||
|
[14] $ touch d/u -- ok
|
||||||
|
[15] $ setfacl --restore d.acl -- ok
|
||||||
|
[16] $ ls -dl d | awk '{print $1}' | sed 's/.$//g' -- failed
|
||||||
|
drwxr-xr- != drwxr-xr-t
|
||||||
|
[18] $ ls -dl d/u | awk '{print $1}' | sed 's/.$//g' -- failed
|
||||||
|
-rwSr--r- != -rwSr--r--
|
||||||
|
[20] $ ls -dl d/g | awk '{print $1}' | sed 's/.$//g' -- failed
|
||||||
|
-rw-r-Sr- != -rw-r-Sr--
|
||||||
|
[22] $ rm -Rf d -- ok
|
||||||
|
17 commands (14 passed, 3 failed)
|
||||||
|
---
|
||||||
|
test/cp.test | 2 +-
|
||||||
|
test/misc.test | 6 +++---
|
||||||
|
test/sbits-restore.test | 6 +++---
|
||||||
|
3 files changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/cp.test b/test/cp.test
|
||||||
|
index 0867f63..a927195 100644
|
||||||
|
--- a/test/cp.test
|
||||||
|
+++ b/test/cp.test
|
||||||
|
@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if `-p' is given.
|
||||||
|
> -rw-rw-r--+
|
||||||
|
|
||||||
|
$ cp f g
|
||||||
|
- $ ls -l g | awk -- '{ print $1 }' | sed 's/\.$//g'
|
||||||
|
+ $ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//g'
|
||||||
|
> -rw-r--r--
|
||||||
|
|
||||||
|
$ rm g
|
||||||
|
diff --git a/test/misc.test b/test/misc.test
|
||||||
|
index 6e98053..29372b7 100644
|
||||||
|
--- a/test/misc.test
|
||||||
|
+++ b/test/misc.test
|
||||||
|
@@ -254,7 +254,7 @@ Add some users and groups
|
||||||
|
Symlink in directory with default ACL?
|
||||||
|
|
||||||
|
$ ln -s d d/l
|
||||||
|
- $ ls -dl d/l | awk '{print $1}' | sed 's/\.$//g'
|
||||||
|
+ $ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//g'
|
||||||
|
> lrwxrwxrwx
|
||||||
|
|
||||||
|
$ ls -dl -L d/l | awk '{print $1}'
|
||||||
|
@@ -343,7 +343,7 @@ Remove the default ACL
|
||||||
|
Reset to base entries
|
||||||
|
|
||||||
|
$ setfacl -b d
|
||||||
|
- $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
|
||||||
|
+ $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
||||||
|
> drwxr-x---
|
||||||
|
|
||||||
|
$ getfacl --omit-header d
|
||||||
|
@@ -355,7 +355,7 @@ Reset to base entries
|
||||||
|
Now, chmod should change the group_obj entry
|
||||||
|
|
||||||
|
$ chmod 775 d
|
||||||
|
- $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
|
||||||
|
+ $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
||||||
|
> drwxrwxr-x
|
||||||
|
|
||||||
|
$ getfacl --omit-header d
|
||||||
|
diff --git a/test/sbits-restore.test b/test/sbits-restore.test
|
||||||
|
index de21340..5899b0a 100644
|
||||||
|
--- a/test/sbits-restore.test
|
||||||
|
+++ b/test/sbits-restore.test
|
||||||
|
@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via --restore works
|
||||||
|
$ touch d/g
|
||||||
|
$ touch d/u
|
||||||
|
$ setfacl --restore d.acl
|
||||||
|
- $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
|
||||||
|
+ $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
||||||
|
> drwxr-xr-t
|
||||||
|
- $ ls -dl d/u | awk '{print $1}' | sed 's/\.$//g'
|
||||||
|
+ $ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//g'
|
||||||
|
> -rwSr--r--
|
||||||
|
- $ ls -dl d/g | awk '{print $1}' | sed 's/\.$//g'
|
||||||
|
+ $ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//g'
|
||||||
|
> -rw-r-Sr--
|
||||||
|
$ rm -Rf d
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
29
0004-Makefile-rename-configure.in-to-configure.ac.patch
Normal file
29
0004-Makefile-rename-configure.in-to-configure.ac.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 57a78716049833b9ed662a0a45b6102e2aa9f970 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Mon, 20 May 2013 14:26:32 -0400
|
||||||
|
Subject: [PATCH 04/34] Makefile: rename configure.in to configure.ac
|
||||||
|
|
||||||
|
The Makefile references the configure source file by name, so update
|
||||||
|
that after the rename.
|
||||||
|
|
||||||
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
---
|
||||||
|
Makefile | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index dce32d3..d1188f2 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -29,7 +29,7 @@ CONFIGURE = \
|
||||||
|
ltmain.sh m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
|
||||||
|
m4/ltversion.m4 m4/lt~obsolete.m4
|
||||||
|
LSRCFILES = \
|
||||||
|
- configure.in Makepkgs install-sh exports README VERSION \
|
||||||
|
+ configure.ac Makepkgs install-sh exports README VERSION \
|
||||||
|
$(CONFIGURE)
|
||||||
|
|
||||||
|
LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
92
0005-Bad-markup-in-acl.5-page.patch
Normal file
92
0005-Bad-markup-in-acl.5-page.patch
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
From c000106df976473a79ec4afcfe0a4c303cafb823 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Eric S. Raymond" <esr@thyrsus.com>
|
||||||
|
Date: Tue, 28 May 2013 15:35:55 +0200
|
||||||
|
Subject: [PATCH 05/34] Bad markup in acl.5 page
|
||||||
|
|
||||||
|
Use of low-level troff hackery to set special indents or breaks can't be
|
||||||
|
translated into HTML or structural markups. This page will have rendering
|
||||||
|
faults in HTML, and probably also under third-party man page browsers such as
|
||||||
|
Xman, Rosetta, and the KDE help browser. This patch eliminates .in in favor of
|
||||||
|
requests like .Bl/.Be that have structural translations.
|
||||||
|
---
|
||||||
|
man/man5/acl.5 | 19 +++++--------------
|
||||||
|
1 file changed, 5 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/man5/acl.5 b/man/man5/acl.5
|
||||||
|
index aec58aa..1e44a31 100644
|
||||||
|
--- a/man/man5/acl.5
|
||||||
|
+++ b/man/man5/acl.5
|
||||||
|
@@ -170,14 +170,12 @@ the object will be granted.
|
||||||
|
the effective user ID of the process matches the user ID of the file object owner,
|
||||||
|
.Sy then
|
||||||
|
.Pp
|
||||||
|
-.in +4
|
||||||
|
-.Bd -filled
|
||||||
|
+.Bd -filled -offset indent
|
||||||
|
.Sy if
|
||||||
|
the ACL_USER_OBJ entry contains the requested permissions, access is granted,
|
||||||
|
.Pp
|
||||||
|
.Sy else
|
||||||
|
access is denied.
|
||||||
|
-.in -4
|
||||||
|
.Ed
|
||||||
|
.It
|
||||||
|
.Sy "else if"
|
||||||
|
@@ -185,15 +183,13 @@ the effective user ID of the process matches the qualifier of any entry
|
||||||
|
of type ACL_USER,
|
||||||
|
.Sy then
|
||||||
|
.Pp
|
||||||
|
-.in +4
|
||||||
|
-.Bd -filled
|
||||||
|
+.Bd -filled -offset indent
|
||||||
|
.Sy if
|
||||||
|
the matching ACL_USER entry and the ACL_MASK entry contain the requested
|
||||||
|
permissions, access is granted,
|
||||||
|
.Pp
|
||||||
|
.Sy else
|
||||||
|
access is denied.
|
||||||
|
-.in -4
|
||||||
|
.Ed
|
||||||
|
.It
|
||||||
|
.Sy else if
|
||||||
|
@@ -201,13 +197,11 @@ the effective group ID or any of the supplementary group IDs of the process
|
||||||
|
match the file group or the qualifier of any entry of type ACL_GROUP,
|
||||||
|
.Sy then
|
||||||
|
.Pp
|
||||||
|
-.in +4
|
||||||
|
-.Bd -filled
|
||||||
|
+.Bd -filled -offset indent
|
||||||
|
.Sy if
|
||||||
|
the ACL contains an ACL_MASK entry,
|
||||||
|
.Sy then
|
||||||
|
-.in +4
|
||||||
|
-.Bd -filled
|
||||||
|
+.Bd -filled -offset indent
|
||||||
|
.Sy if
|
||||||
|
the ACL_MASK entry and any of the matching ACL_GROUP_OBJ or ACL_GROUP entries
|
||||||
|
contain
|
||||||
|
@@ -216,12 +210,10 @@ the requested permissions, access is granted,
|
||||||
|
.Sy else
|
||||||
|
access is denied.
|
||||||
|
.Pp
|
||||||
|
-.in -4
|
||||||
|
.Ed
|
||||||
|
.Sy else
|
||||||
|
(note that there can be no ACL_GROUP entries without an ACL_MASK entry)
|
||||||
|
-.in +4
|
||||||
|
-.Bd -filled
|
||||||
|
+.Bd -filled -offset indent
|
||||||
|
.Sy if
|
||||||
|
the ACL_GROUP_OBJ entry contains the requested permissions,
|
||||||
|
access is granted,
|
||||||
|
@@ -230,7 +222,6 @@ access is granted,
|
||||||
|
.Sy else
|
||||||
|
access is denied.
|
||||||
|
.Pp
|
||||||
|
-.in -4
|
||||||
|
.Ed
|
||||||
|
.It
|
||||||
|
.Sy else if
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
22
0006-.gitignore-ignore-and-config.h.in.patch
Normal file
22
0006-.gitignore-ignore-and-config.h.in.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
From 63237b6d5a5ad1d5cc76d432336d904c3c567fd9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabrice Bauzac <fbauzac@amadeus.com>
|
||||||
|
Date: Mon, 5 Aug 2013 15:22:40 +0200
|
||||||
|
Subject: [PATCH 06/34] .gitignore: ignore *~ and config.h.in.
|
||||||
|
|
||||||
|
---
|
||||||
|
.gitignore | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/.gitignore b/.gitignore
|
||||||
|
index 6113c60..0f018b9 100644
|
||||||
|
--- a/.gitignore
|
||||||
|
+++ b/.gitignore
|
||||||
|
@@ -37,3 +37,5 @@ m4/ltoptions.m4
|
||||||
|
m4/ltsugar.m4
|
||||||
|
m4/ltversion.m4
|
||||||
|
m4/lt~obsolete.m4
|
||||||
|
+config.h.in
|
||||||
|
+*~
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
From c3ce1b78025002a404e5486bf8522ecf812cadcb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabrice Bauzac <fbauzac@amadeus.com>
|
||||||
|
Date: Mon, 5 Aug 2013 15:23:17 +0200
|
||||||
|
Subject: [PATCH 07/34] Use autoreconf rather than autoconf to regenerate the
|
||||||
|
files.
|
||||||
|
|
||||||
|
---
|
||||||
|
doc/INSTALL | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/doc/INSTALL b/doc/INSTALL
|
||||||
|
index de99605..1e6ee51 100644
|
||||||
|
--- a/doc/INSTALL
|
||||||
|
+++ b/doc/INSTALL
|
||||||
|
@@ -26,7 +26,7 @@ attribute library and utility from source, and how to install them.
|
||||||
|
If you want to build the package and install it manually, use the
|
||||||
|
following steps:
|
||||||
|
|
||||||
|
- # make configure (or run autoconf; ./configure)
|
||||||
|
+ # make configure (or run autoreconf; ./configure)
|
||||||
|
# make
|
||||||
|
# su root
|
||||||
|
# make install install-lib
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,50 @@
|
|||||||
|
From 3f079d4e0512c9a241fb23c56a0421441c83621e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <agruen@linbit.com>
|
||||||
|
Date: Wed, 23 Oct 2013 19:40:57 +0200
|
||||||
|
Subject: [PATCH 08/34] libacl: Make sure that acl_from_text() always sets
|
||||||
|
errno when it fails
|
||||||
|
|
||||||
|
The getpwnam() and getgrnam() functions may or may not set errno when
|
||||||
|
they fail. If they don't, set it to EINVAL so that errno is always set
|
||||||
|
when acl_from_text() fails.
|
||||||
|
---
|
||||||
|
libacl/acl_from_text.c | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
|
||||||
|
index 1e05322..c08bd3b 100644
|
||||||
|
--- a/libacl/acl_from_text.c
|
||||||
|
+++ b/libacl/acl_from_text.c
|
||||||
|
@@ -152,11 +152,14 @@ get_uid(const char *token, uid_t *uid_p)
|
||||||
|
|
||||||
|
if (get_id(token, uid_p) == 0)
|
||||||
|
return 0;
|
||||||
|
+ errno = 0;
|
||||||
|
passwd = getpwnam(token);
|
||||||
|
if (passwd) {
|
||||||
|
*uid_p = passwd->pw_uid;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
+ if (errno == 0)
|
||||||
|
+ errno = EINVAL;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -168,11 +171,14 @@ get_gid(const char *token, gid_t *gid_p)
|
||||||
|
|
||||||
|
if (get_id(token, (uid_t *)gid_p) == 0)
|
||||||
|
return 0;
|
||||||
|
+ errno = 0;
|
||||||
|
group = getgrnam(token);
|
||||||
|
if (group) {
|
||||||
|
*gid_p = group->gr_gid;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
+ if (errno == 0)
|
||||||
|
+ errno = EINVAL;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,55 @@
|
|||||||
|
From fb071c302b8cad8837bc1e57407dc3ffa14d3f99 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Thu, 31 Oct 2013 19:24:35 +0100
|
||||||
|
Subject: [PATCH 09/34] libacl: fix SIGSEGV of getfacl -e on overly long group
|
||||||
|
name
|
||||||
|
|
||||||
|
We simply make sure that at least one tab is used for indentation.
|
||||||
|
---
|
||||||
|
libacl/__acl_to_any_text.c | 5 +++++
|
||||||
|
test/root/getfacl.test | 17 +++++++++++++++++
|
||||||
|
2 files changed, 22 insertions(+)
|
||||||
|
create mode 100644 test/root/getfacl.test
|
||||||
|
|
||||||
|
diff --git a/libacl/__acl_to_any_text.c b/libacl/__acl_to_any_text.c
|
||||||
|
index a4f9c34..1d10e81 100644
|
||||||
|
--- a/libacl/__acl_to_any_text.c
|
||||||
|
+++ b/libacl/__acl_to_any_text.c
|
||||||
|
@@ -247,6 +247,11 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
|
||||||
|
options & TEXT_ALL_EFFECTIVE) {
|
||||||
|
x = (options & TEXT_SMART_INDENT) ?
|
||||||
|
((text_p - orig_text_p)/8) : TABS-1;
|
||||||
|
+
|
||||||
|
+ /* use at least one tab for indentation */
|
||||||
|
+ if (x > (TABS-1))
|
||||||
|
+ x = (TABS-1);
|
||||||
|
+
|
||||||
|
strncpy(text_p, tabs+x, size);
|
||||||
|
ADVANCE(TABS-x);
|
||||||
|
|
||||||
|
diff --git a/test/root/getfacl.test b/test/root/getfacl.test
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..f84e25d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/test/root/getfacl.test
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+Make sure that getfacl always adds at least one space between the permissions
|
||||||
|
+in an acl entry and the effective permissions comment.
|
||||||
|
+
|
||||||
|
+ $ umask 022
|
||||||
|
+ $ mkdir d
|
||||||
|
+ $ groupadd loooooooooooooooooooooooonggroup
|
||||||
|
+ $ setfacl -dm group:loooooooooooooooooooooooonggroup:rwx d
|
||||||
|
+ $ getfacl -cde d
|
||||||
|
+ > user::rwx
|
||||||
|
+ > group::r-x #effective:r-x
|
||||||
|
+ > group:loooooooooooooooooooooooonggroup:rwx #effective:rwx
|
||||||
|
+ > mask::rwx
|
||||||
|
+ > other::r-x
|
||||||
|
+ >
|
||||||
|
+
|
||||||
|
+ $ groupdel loooooooooooooooooooooooonggroup
|
||||||
|
+ $ rm -r d
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
1005
0010-punt-debian-rpm-packaging-logic.patch
Normal file
1005
0010-punt-debian-rpm-packaging-logic.patch
Normal file
File diff suppressed because it is too large
Load Diff
180
0011-move-gettext-logic-into-misc.h.patch
Normal file
180
0011-move-gettext-logic-into-misc.h.patch
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
From 602dbcb26e9591922ca94f5b326694a2309fff18 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Fri, 10 Jan 2014 10:07:39 -0500
|
||||||
|
Subject: [PATCH 11/34] move gettext logic into misc.h
|
||||||
|
|
||||||
|
This lets us autogenerate config.h using autoheader rather than
|
||||||
|
hand maintain it.
|
||||||
|
---
|
||||||
|
chacl/chacl.c | 4 ++--
|
||||||
|
getfacl/getfacl.c | 5 ++---
|
||||||
|
include/config.h.in | 10 ----------
|
||||||
|
include/misc.h | 17 +++++++++++++++++
|
||||||
|
libacl/perm_copy.h | 2 ++
|
||||||
|
setfacl/do_set.c | 3 ++-
|
||||||
|
setfacl/setfacl.c | 5 ++---
|
||||||
|
7 files changed, 27 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/chacl/chacl.c b/chacl/chacl.c
|
||||||
|
index 854a620..525a7ff 100644
|
||||||
|
--- a/chacl/chacl.c
|
||||||
|
+++ b/chacl/chacl.c
|
||||||
|
@@ -17,6 +17,7 @@
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
@@ -29,8 +30,7 @@
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/acl.h>
|
||||||
|
#include <acl/libacl.h>
|
||||||
|
-#include <locale.h>
|
||||||
|
-#include "config.h"
|
||||||
|
+#include "misc.h"
|
||||||
|
|
||||||
|
static int acl_delete_file (const char * path, acl_type_t type);
|
||||||
|
static int list_acl(char *file);
|
||||||
|
diff --git a/getfacl/getfacl.c b/getfacl/getfacl.c
|
||||||
|
index f8eaf25..22cc1c7 100644
|
||||||
|
--- a/getfacl/getfacl.c
|
||||||
|
+++ b/getfacl/getfacl.c
|
||||||
|
@@ -21,6 +21,7 @@
|
||||||
|
USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sys/acl.h>
|
||||||
|
@@ -34,11 +35,9 @@
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <libgen.h>
|
||||||
|
#include <getopt.h>
|
||||||
|
-#include <locale.h>
|
||||||
|
-#include "config.h"
|
||||||
|
+#include "misc.h"
|
||||||
|
#include "user_group.h"
|
||||||
|
#include "walk_tree.h"
|
||||||
|
-#include "misc.h"
|
||||||
|
|
||||||
|
#define POSIXLY_CORRECT_STR "POSIXLY_CORRECT"
|
||||||
|
|
||||||
|
diff --git a/include/config.h.in b/include/config.h.in
|
||||||
|
index 6787b6e..6a720ac 100644
|
||||||
|
--- a/include/config.h.in
|
||||||
|
+++ b/include/config.h.in
|
||||||
|
@@ -39,16 +39,6 @@
|
||||||
|
/* Define if you want gettext (I18N) support */
|
||||||
|
#undef ENABLE_GETTEXT
|
||||||
|
|
||||||
|
-#ifdef ENABLE_GETTEXT
|
||||||
|
-# include <libintl.h>
|
||||||
|
-# define _(x) gettext(x)
|
||||||
|
-#else
|
||||||
|
-# define _(x) (x)
|
||||||
|
-# define textdomain(d) do { } while (0)
|
||||||
|
-# define bindtextdomain(d,dir) do { } while (0)
|
||||||
|
-#endif
|
||||||
|
-#include <locale.h>
|
||||||
|
-
|
||||||
|
/* On GNU/kFreeBSD, ENODATA is not defined in the system headers */
|
||||||
|
#include <errno.h>
|
||||||
|
#ifndef ENODATA
|
||||||
|
diff --git a/include/misc.h b/include/misc.h
|
||||||
|
index 0c5fdcc..a4fa70e 100644
|
||||||
|
--- a/include/misc.h
|
||||||
|
+++ b/include/misc.h
|
||||||
|
@@ -15,9 +15,26 @@
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#ifndef __MISC_H
|
||||||
|
+#define __MISC_H
|
||||||
|
+
|
||||||
|
+#include <stdio.h>
|
||||||
|
+
|
||||||
|
extern int high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||||
|
|
||||||
|
extern const char *quote(const char *str, const char *quote_chars);
|
||||||
|
extern char *unquote(char *str);
|
||||||
|
|
||||||
|
extern char *next_line(FILE *file);
|
||||||
|
+
|
||||||
|
+#ifdef ENABLE_NLS
|
||||||
|
+# include <libintl.h>
|
||||||
|
+# define _(x) gettext(x)
|
||||||
|
+#else
|
||||||
|
+# define _(x) (x)
|
||||||
|
+# define textdomain(d) do { } while (0)
|
||||||
|
+# define bindtextdomain(d,dir) do { } while (0)
|
||||||
|
+#endif
|
||||||
|
+#include <locale.h>
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
diff --git a/libacl/perm_copy.h b/libacl/perm_copy.h
|
||||||
|
index 87b1566..350ae6a 100644
|
||||||
|
--- a/libacl/perm_copy.h
|
||||||
|
+++ b/libacl/perm_copy.h
|
||||||
|
@@ -35,3 +35,5 @@
|
||||||
|
#define HAVE_ACL_GET_TAG_TYPE 1
|
||||||
|
#define HAVE_ACL_SET_FD 1
|
||||||
|
#define HAVE_ACL_SET_FILE 1
|
||||||
|
+
|
||||||
|
+#include "misc.h"
|
||||||
|
diff --git a/setfacl/do_set.c b/setfacl/do_set.c
|
||||||
|
index 3e7e982..60da837 100644
|
||||||
|
--- a/setfacl/do_set.c
|
||||||
|
+++ b/setfacl/do_set.c
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sys/acl.h>
|
||||||
|
@@ -33,10 +34,10 @@
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <ftw.h>
|
||||||
|
+#include "misc.h"
|
||||||
|
#include "sequence.h"
|
||||||
|
#include "do_set.h"
|
||||||
|
#include "parse.h"
|
||||||
|
-#include "config.h"
|
||||||
|
#include "walk_tree.h"
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c
|
||||||
|
index 81062a6..f6135b7 100644
|
||||||
|
--- a/setfacl/setfacl.c
|
||||||
|
+++ b/setfacl/setfacl.c
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
#include <limits.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
@@ -29,13 +30,11 @@
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <libgen.h>
|
||||||
|
#include <getopt.h>
|
||||||
|
-#include <locale.h>
|
||||||
|
-#include "config.h"
|
||||||
|
+#include "misc.h"
|
||||||
|
#include "sequence.h"
|
||||||
|
#include "parse.h"
|
||||||
|
#include "do_set.h"
|
||||||
|
#include "walk_tree.h"
|
||||||
|
-#include "misc.h"
|
||||||
|
|
||||||
|
#define POSIXLY_CORRECT_STR "POSIXLY_CORRECT"
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
157
0012-test-make-running-parallel-out-of-tree-safe.patch
Normal file
157
0012-test-make-running-parallel-out-of-tree-safe.patch
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
From 2d13383b7fbcc04fc16681caa4f43d9d9083cca1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Fri, 10 Jan 2014 10:07:40 -0500
|
||||||
|
Subject: [PATCH 12/34] test: make running parallel/out-of-tree safe
|
||||||
|
|
||||||
|
Change the run program to update PATH to find the tools locally
|
||||||
|
automatically. This lets us avoid having to always build in the
|
||||||
|
tree and allows for direct running.
|
||||||
|
|
||||||
|
Also update the program to create a tempdir for each test to run
|
||||||
|
inside of. This way we can run all the tests in parallel without
|
||||||
|
randomly clobbering each other.
|
||||||
|
---
|
||||||
|
test/getfacl-recursive.test | 12 ++++++------
|
||||||
|
test/malformed-restore.test | 2 +-
|
||||||
|
test/run | 29 ++++++++++++++++++++++++++++-
|
||||||
|
3 files changed, 35 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/getfacl-recursive.test b/test/getfacl-recursive.test
|
||||||
|
index a72192e..8f5dd4e 100644
|
||||||
|
--- a/test/getfacl-recursive.test
|
||||||
|
+++ b/test/getfacl-recursive.test
|
||||||
|
@@ -5,7 +5,7 @@ Tests for proper path recursion
|
||||||
|
$ mkdir 1/link
|
||||||
|
$ touch 1/link/file
|
||||||
|
$ ln -s `pwd`/1/link 1/2/link
|
||||||
|
- $ getfacl -P -R 1/2 | ./sort-getfacl-output
|
||||||
|
+ $ getfacl -P -R 1/2 | sort-getfacl-output
|
||||||
|
> # file: 1/2
|
||||||
|
> # owner: %TUSER
|
||||||
|
> # group: %TGROUP
|
||||||
|
@@ -21,7 +21,7 @@ Tests for proper path recursion
|
||||||
|
> other::r-x
|
||||||
|
>
|
||||||
|
|
||||||
|
- $ getfacl -R 1/2 | ./sort-getfacl-output
|
||||||
|
+ $ getfacl -R 1/2 | sort-getfacl-output
|
||||||
|
> # file: 1/2
|
||||||
|
> # owner: %TUSER
|
||||||
|
> # group: %TGROUP
|
||||||
|
@@ -37,7 +37,7 @@ Tests for proper path recursion
|
||||||
|
> other::r-x
|
||||||
|
>
|
||||||
|
|
||||||
|
- $ getfacl -R -L 1/2 | ./sort-getfacl-output
|
||||||
|
+ $ getfacl -R -L 1/2 | sort-getfacl-output
|
||||||
|
> # file: 1/2
|
||||||
|
> # owner: %TUSER
|
||||||
|
> # group: %TGROUP
|
||||||
|
@@ -67,7 +67,7 @@ Tests for proper path recursion
|
||||||
|
> other::r--
|
||||||
|
>
|
||||||
|
|
||||||
|
- $ getfacl -P -R 1 | ./sort-getfacl-output
|
||||||
|
+ $ getfacl -P -R 1 | sort-getfacl-output
|
||||||
|
> # file: 1
|
||||||
|
> # owner: %TUSER
|
||||||
|
> # group: %TGROUP
|
||||||
|
@@ -104,7 +104,7 @@ Tests for proper path recursion
|
||||||
|
> other::r--
|
||||||
|
>
|
||||||
|
|
||||||
|
- $ getfacl -R 1 | ./sort-getfacl-output
|
||||||
|
+ $ getfacl -R 1 | sort-getfacl-output
|
||||||
|
> # file: 1
|
||||||
|
> # owner: %TUSER
|
||||||
|
> # group: %TGROUP
|
||||||
|
@@ -141,7 +141,7 @@ Tests for proper path recursion
|
||||||
|
> other::r--
|
||||||
|
>
|
||||||
|
|
||||||
|
- $ getfacl -R -L 1 | ./sort-getfacl-output
|
||||||
|
+ $ getfacl -R -L 1 | sort-getfacl-output
|
||||||
|
> # file: 1
|
||||||
|
> # owner: %TUSER
|
||||||
|
> # group: %TGROUP
|
||||||
|
diff --git a/test/malformed-restore.test b/test/malformed-restore.test
|
||||||
|
index e92b75b..5e5391c 100644
|
||||||
|
--- a/test/malformed-restore.test
|
||||||
|
+++ b/test/malformed-restore.test
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
Test for malformed input to --restore
|
||||||
|
https://savannah.nongnu.org/bugs/index.php?28185
|
||||||
|
|
||||||
|
- $ cp malformed-restore-double-owner.acl tmp.acl
|
||||||
|
+ $ cp "%TESTDIR/malformed-restore-double-owner.acl" tmp.acl
|
||||||
|
$ sed -i "s/USER/%TUSER/g" tmp.acl
|
||||||
|
$ sed -i "s/GROUP/%TGROUP/g" tmp.acl
|
||||||
|
$ touch tmp
|
||||||
|
diff --git a/test/run b/test/run
|
||||||
|
index 2cf52e8..0a12be6 100755
|
||||||
|
--- a/test/run
|
||||||
|
+++ b/test/run
|
||||||
|
@@ -37,7 +37,10 @@
|
||||||
|
#
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
+use Cwd qw(abs_path);
|
||||||
|
use FileHandle;
|
||||||
|
+use File::Basename qw(basename dirname);
|
||||||
|
+use File::Path qw(rmtree);
|
||||||
|
use Getopt::Std;
|
||||||
|
use POSIX qw(isatty setuid getcwd);
|
||||||
|
use vars qw($opt_l $opt_v);
|
||||||
|
@@ -53,9 +56,28 @@ if (isatty(fileno(STDOUT))) {
|
||||||
|
$FAILED = "\033[31m\033[1m" . $FAILED . "\033[m";
|
||||||
|
}
|
||||||
|
|
||||||
|
+# Export this dir to tests so they can access data files if needed.
|
||||||
|
+$ENV{"TESTDIR"} = abs_path(dirname($0));
|
||||||
|
+# Add the current dir to PATH so we can find sort-getfattr-output and such.
|
||||||
|
+$ENV{"PATH"} = $ENV{"TESTDIR"} . ":$ENV{PATH}";
|
||||||
|
+# Add the parent dir to PATH so we can find the compiled tools.
|
||||||
|
+$ENV{"PATH"} = dirname(abs_path(dirname($0))) . ":$ENV{PATH}";
|
||||||
|
$ENV{"TUSER"} = getpwuid($>);
|
||||||
|
$ENV{"TGROUP"} = getgrgid($));
|
||||||
|
|
||||||
|
+open(TEST_FILE, $ARGV[0]);
|
||||||
|
+
|
||||||
|
+# Create a tempdir to run in for parallel test execution.
|
||||||
|
+my $tmpdir = $ARGV[0] . ".dir";
|
||||||
|
+rmtree($tmpdir);
|
||||||
|
+if (!mkdir($tmpdir)) {
|
||||||
|
+ $tmpdir = getcwd() . "/" . basename($ARGV[0]) . ".dir";
|
||||||
|
+ rmtree($tmpdir);
|
||||||
|
+ mkdir($tmpdir) or die "could not create $tmpdir";
|
||||||
|
+}
|
||||||
|
+my $pretmpdir = getcwd();
|
||||||
|
+chdir($tmpdir) or die "could not enter $tmpdir";
|
||||||
|
+
|
||||||
|
sub exec_test($$);
|
||||||
|
sub process_test($$$$);
|
||||||
|
|
||||||
|
@@ -66,7 +88,7 @@ my $lineno;
|
||||||
|
my $width = ($ENV{COLUMNS} || 80) >> 1;
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
- my $line = <>; $lineno++;
|
||||||
|
+ my $line = <TEST_FILE>; $lineno++;
|
||||||
|
if (defined $line) {
|
||||||
|
# Substitute %VAR and %{VAR} with environment variables.
|
||||||
|
$line =~ s[%(\w+)][$ENV{$1}]eg;
|
||||||
|
@@ -106,6 +128,11 @@ if (isatty(fileno(STDOUT))) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print $status, "\n";
|
||||||
|
+
|
||||||
|
+# Now clean up the testdir.
|
||||||
|
+chdir($pretmpdir);
|
||||||
|
+rmtree($tmpdir);
|
||||||
|
+
|
||||||
|
exit $failed ? 1 : 0;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
9834
0013-modernize-build-system.patch
Normal file
9834
0013-modernize-build-system.patch
Normal file
File diff suppressed because it is too large
Load Diff
3073
0014-po-regenerate-files-after-move.patch
Normal file
3073
0014-po-regenerate-files-after-move.patch
Normal file
File diff suppressed because it is too large
Load Diff
41
0015-build-drop-aclincludedir-use-pkgincludedir.patch
Normal file
41
0015-build-drop-aclincludedir-use-pkgincludedir.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 3d6d241eb1931d7f0be5a755c4c04daac0fde6bb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Sat, 18 Jan 2014 23:11:23 -0500
|
||||||
|
Subject: [PATCH 15/34] build: drop aclincludedir, use pkgincludedir
|
||||||
|
|
||||||
|
Automake already provides a variable for
|
||||||
|
${includedir}/${PACKAGE_NAME}; use it.
|
||||||
|
---
|
||||||
|
Makefile.am | 3 +--
|
||||||
|
include/Makemodule.am | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 40d6ae5..915ab2a 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -10,10 +10,9 @@ AM_CPPFLAGS = \
|
||||||
|
-I$(top_srcdir)/include \
|
||||||
|
-DLOCALEDIR=\"$(localedir)\"
|
||||||
|
|
||||||
|
-aclincludedir = $(includedir)/acl
|
||||||
|
sysincludedir = $(includedir)/sys
|
||||||
|
|
||||||
|
-aclinclude_HEADERS =
|
||||||
|
+pkginclude_HEADERS =
|
||||||
|
sysinclude_HEADERS =
|
||||||
|
bin_PROGRAMS =
|
||||||
|
lib_LTLIBRARIES =
|
||||||
|
diff --git a/include/Makemodule.am b/include/Makemodule.am
|
||||||
|
index 2596f5e..37364d3 100644
|
||||||
|
--- a/include/Makemodule.am
|
||||||
|
+++ b/include/Makemodule.am
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-aclinclude_HEADERS += \
|
||||||
|
+pkginclude_HEADERS += \
|
||||||
|
include/libacl.h
|
||||||
|
|
||||||
|
sysinclude_HEADERS += \
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
From 3ae49e0a0b4bf22f137ec9a85f147815c972fdf0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Sat, 18 Jan 2014 23:21:58 -0500
|
||||||
|
Subject: [PATCH 16/34] build: make use of an aux-dir to stow away helper
|
||||||
|
scripts
|
||||||
|
|
||||||
|
---
|
||||||
|
.gitignore | 15 ++-------------
|
||||||
|
configure.ac | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/.gitignore b/.gitignore
|
||||||
|
index d907d15..307fbe9 100644
|
||||||
|
--- a/.gitignore
|
||||||
|
+++ b/.gitignore
|
||||||
|
@@ -17,22 +17,11 @@
|
||||||
|
/ABOUT-NLS
|
||||||
|
/aclocal.m4
|
||||||
|
/autom4te.cache/
|
||||||
|
-/ar-lib
|
||||||
|
-/config.cache
|
||||||
|
-/config.guess
|
||||||
|
-/config.log
|
||||||
|
-/config.rpath
|
||||||
|
-/config.status
|
||||||
|
-/config.sub
|
||||||
|
+/build-aux/
|
||||||
|
+/config.*
|
||||||
|
/configure
|
||||||
|
-/compile
|
||||||
|
-/depcomp
|
||||||
|
-/install-sh
|
||||||
|
/libtool
|
||||||
|
-/ltmain.sh
|
||||||
|
/m4/
|
||||||
|
-/missing
|
||||||
|
-/test-driver
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
stamp-h1
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 1ca2a3c..27ea05d 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
#
|
||||||
|
|
||||||
|
AC_INIT([acl], [2.2.53], [acl-devel@nongnu.org])
|
||||||
|
-AC_CONFIG_AUX_DIR([.])
|
||||||
|
+AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
AC_CONFIG_HEADER([include/config.h])
|
||||||
|
AC_PREFIX_DEFAULT(/usr)
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
71
0017-build-ship-a-pkgconfig-file-for-libacl.patch
Normal file
71
0017-build-ship-a-pkgconfig-file-for-libacl.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
From 90742e38c6b932d3c8182785f164c9ca282ea57e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Sat, 18 Jan 2014 23:28:14 -0500
|
||||||
|
Subject: [PATCH 17/34] build: ship a pkgconfig file for libacl
|
||||||
|
|
||||||
|
---
|
||||||
|
.gitignore | 1 +
|
||||||
|
Makefile.am | 2 ++
|
||||||
|
configure.ac | 1 +
|
||||||
|
libacl.pc.in | 10 ++++++++++
|
||||||
|
4 files changed, 14 insertions(+)
|
||||||
|
create mode 100644 libacl.pc.in
|
||||||
|
|
||||||
|
diff --git a/.gitignore b/.gitignore
|
||||||
|
index 307fbe9..7a19031 100644
|
||||||
|
--- a/.gitignore
|
||||||
|
+++ b/.gitignore
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
*.lo
|
||||||
|
*.mo
|
||||||
|
*.o
|
||||||
|
+*.pc
|
||||||
|
.dirstamp
|
||||||
|
.deps/
|
||||||
|
.libs/
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 915ab2a..47d2a4e 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -10,8 +10,10 @@ AM_CPPFLAGS = \
|
||||||
|
-I$(top_srcdir)/include \
|
||||||
|
-DLOCALEDIR=\"$(localedir)\"
|
||||||
|
|
||||||
|
+pkgconfdir = $(libdir)/pkgconfig
|
||||||
|
sysincludedir = $(includedir)/sys
|
||||||
|
|
||||||
|
+pkgconf_DATA = libacl.pc
|
||||||
|
pkginclude_HEADERS =
|
||||||
|
sysinclude_HEADERS =
|
||||||
|
bin_PROGRAMS =
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 27ea05d..2182e81 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -59,6 +59,7 @@ AC_CONFIG_COMMANDS([include/sys],
|
||||||
|
$as_ln_s "$ac_abs_top_srcdir/include" include/sys
|
||||||
|
])
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
+ libacl.pc
|
||||||
|
Makefile
|
||||||
|
po/Makefile.in
|
||||||
|
])
|
||||||
|
diff --git a/libacl.pc.in b/libacl.pc.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..707a887
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libacl.pc.in
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+prefix=@prefix@
|
||||||
|
+exec_prefix=@exec_prefix@
|
||||||
|
+libdir=@libdir@
|
||||||
|
+includedir=@includedir@
|
||||||
|
+
|
||||||
|
+Name: libacl
|
||||||
|
+Description: A library for POSIX Access Control Lists
|
||||||
|
+Version: @PACKAGE_VERSION@
|
||||||
|
+Cflags: -I${includedir}
|
||||||
|
+Libs: -L${libdir} -lacl
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
128
0018-read_acl_-comments-seq-rename-line-to-lineno.patch
Normal file
128
0018-read_acl_-comments-seq-rename-line-to-lineno.patch
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
From 3d615724df45f9d7b3438ce7aa2d4f1704aad7d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Sun, 19 Jan 2014 00:35:13 -0500
|
||||||
|
Subject: [PATCH 18/34] read_acl_{comments,seq}: rename "line" to "lineno"
|
||||||
|
|
||||||
|
The word "line" is used to refer to the content of a line, and a few
|
||||||
|
places are already using "lineno". Change all to "lineno" so that we
|
||||||
|
can use "line" consistently.
|
||||||
|
---
|
||||||
|
tools/parse.c | 14 +++++++-------
|
||||||
|
tools/parse.h | 4 ++--
|
||||||
|
tools/setfacl.c | 10 +++++-----
|
||||||
|
3 files changed, 14 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/parse.c b/tools/parse.c
|
||||||
|
index e7e6add..6f30cf5 100644
|
||||||
|
--- a/tools/parse.c
|
||||||
|
+++ b/tools/parse.c
|
||||||
|
@@ -407,7 +407,7 @@ fail:
|
||||||
|
int
|
||||||
|
read_acl_comments(
|
||||||
|
FILE *file,
|
||||||
|
- int *line,
|
||||||
|
+ int *lineno,
|
||||||
|
char **path_p,
|
||||||
|
uid_t *uid_p,
|
||||||
|
gid_t *gid_p,
|
||||||
|
@@ -439,15 +439,15 @@ read_acl_comments(
|
||||||
|
break;
|
||||||
|
if (c==' ' || c=='\t' || c=='\r' || c=='\n') {
|
||||||
|
if (c=='\n')
|
||||||
|
- (*line)++;
|
||||||
|
+ (*lineno)++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (c != '#') {
|
||||||
|
ungetc(c, file);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- if (line)
|
||||||
|
- (*line)++;
|
||||||
|
+ if (lineno)
|
||||||
|
+ (*lineno)++;
|
||||||
|
|
||||||
|
if (fgets(linebuf, sizeof(linebuf), file) == NULL)
|
||||||
|
break;
|
||||||
|
@@ -539,7 +539,7 @@ read_acl_seq(
|
||||||
|
seq_t seq,
|
||||||
|
int seq_cmd,
|
||||||
|
int parse_mode,
|
||||||
|
- int *line,
|
||||||
|
+ int *lineno,
|
||||||
|
int *which)
|
||||||
|
{
|
||||||
|
char linebuf[1024];
|
||||||
|
@@ -552,8 +552,8 @@ read_acl_seq(
|
||||||
|
for(;;) {
|
||||||
|
if (fgets(linebuf, sizeof(linebuf), file) == NULL)
|
||||||
|
break;
|
||||||
|
- if (line)
|
||||||
|
- (*line)++;
|
||||||
|
+ if (lineno)
|
||||||
|
+ (*lineno)++;
|
||||||
|
|
||||||
|
cp = linebuf;
|
||||||
|
SKIP_WS(cp);
|
||||||
|
diff --git a/tools/parse.h b/tools/parse.h
|
||||||
|
index b2e68b4..2549753 100644
|
||||||
|
--- a/tools/parse.h
|
||||||
|
+++ b/tools/parse.h
|
||||||
|
@@ -61,7 +61,7 @@ parse_acl_seq(
|
||||||
|
int
|
||||||
|
read_acl_comments(
|
||||||
|
FILE *file,
|
||||||
|
- int *line,
|
||||||
|
+ int *lineno,
|
||||||
|
char **path_p,
|
||||||
|
uid_t *uid_p,
|
||||||
|
gid_t *gid_p,
|
||||||
|
@@ -72,7 +72,7 @@ read_acl_seq(
|
||||||
|
seq_t seq,
|
||||||
|
int seq_cmd,
|
||||||
|
int parse_mode,
|
||||||
|
- int *line,
|
||||||
|
+ int *lineno,
|
||||||
|
int *which);
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/tools/setfacl.c b/tools/setfacl.c
|
||||||
|
index f6135b7..b0ddedf 100644
|
||||||
|
--- a/tools/setfacl.c
|
||||||
|
+++ b/tools/setfacl.c
|
||||||
|
@@ -125,15 +125,15 @@ restore(
|
||||||
|
gid_t gid;
|
||||||
|
mode_t mask, flags;
|
||||||
|
struct do_set_args args = { };
|
||||||
|
- int line = 0, backup_line;
|
||||||
|
+ int lineno = 0, backup_line;
|
||||||
|
int error, status = 0;
|
||||||
|
int chmod_required = 0;
|
||||||
|
|
||||||
|
memset(&st, 0, sizeof(st));
|
||||||
|
|
||||||
|
for(;;) {
|
||||||
|
- backup_line = line;
|
||||||
|
- error = read_acl_comments(file, &line, &path_p, &uid, &gid,
|
||||||
|
+ backup_line = lineno;
|
||||||
|
+ error = read_acl_comments(file, &lineno, &path_p, &uid, &gid,
|
||||||
|
&flags);
|
||||||
|
if (error < 0) {
|
||||||
|
error = -error;
|
||||||
|
@@ -168,11 +168,11 @@ restore(
|
||||||
|
SEQ_PARSE_WITH_PERM |
|
||||||
|
SEQ_PARSE_DEFAULT |
|
||||||
|
SEQ_PARSE_MULTI,
|
||||||
|
- &line, NULL);
|
||||||
|
+ &lineno, NULL);
|
||||||
|
if (error != 0) {
|
||||||
|
fprintf(stderr, _("%s: %s: %s in line %d\n"),
|
||||||
|
progname, xquote(filename, "\n\r"), strerror(errno),
|
||||||
|
- line);
|
||||||
|
+ lineno);
|
||||||
|
status = 1;
|
||||||
|
goto getout;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
89
0019-read_acl_-comments-seq-switch-to-next_line.patch
Normal file
89
0019-read_acl_-comments-seq-switch-to-next_line.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
From 34d5069ab4187aece1b711a86af705ff121ac62d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Sun, 19 Jan 2014 01:05:11 -0500
|
||||||
|
Subject: [PATCH 19/34] read_acl_{comments,seq}: switch to next_line
|
||||||
|
|
||||||
|
Rather than use a fixed length buffer, use next_line. This let's us
|
||||||
|
handle any arbitrary length and avoid the non-portable PATH_MAX.
|
||||||
|
|
||||||
|
Fixes bug 27388 in the acl tracker.
|
||||||
|
---
|
||||||
|
tools/parse.c | 23 ++++++++++-------------
|
||||||
|
1 file changed, 10 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/parse.c b/tools/parse.c
|
||||||
|
index 6f30cf5..df69c26 100644
|
||||||
|
--- a/tools/parse.c
|
||||||
|
+++ b/tools/parse.c
|
||||||
|
@@ -419,9 +419,7 @@ read_acl_comments(
|
||||||
|
bytes for "# file: ". Not a good solution but for now it is the
|
||||||
|
best I can do without too much impact on the code. [tw]
|
||||||
|
*/
|
||||||
|
- char linebuf[(4*PATH_MAX)+9];
|
||||||
|
- char *cp;
|
||||||
|
- char *p;
|
||||||
|
+ char *line, *cp, *p;
|
||||||
|
int comments_read = 0;
|
||||||
|
|
||||||
|
if (path_p)
|
||||||
|
@@ -449,19 +447,20 @@ read_acl_comments(
|
||||||
|
if (lineno)
|
||||||
|
(*lineno)++;
|
||||||
|
|
||||||
|
- if (fgets(linebuf, sizeof(linebuf), file) == NULL)
|
||||||
|
+ line = next_line(file);
|
||||||
|
+ if (line == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
comments_read = 1;
|
||||||
|
|
||||||
|
- p = strrchr(linebuf, '\0');
|
||||||
|
- while (p > linebuf &&
|
||||||
|
+ p = strrchr(line, '\0');
|
||||||
|
+ while (p > line &&
|
||||||
|
(*(p-1)=='\r' || *(p-1)=='\n')) {
|
||||||
|
p--;
|
||||||
|
*p = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
- cp = linebuf;
|
||||||
|
+ cp = line;
|
||||||
|
SKIP_WS(cp);
|
||||||
|
if (strncmp(cp, "file:", 5) == 0) {
|
||||||
|
cp += 5;
|
||||||
|
@@ -542,20 +541,18 @@ read_acl_seq(
|
||||||
|
int *lineno,
|
||||||
|
int *which)
|
||||||
|
{
|
||||||
|
- char linebuf[1024];
|
||||||
|
+ char *line;
|
||||||
|
const char *cp;
|
||||||
|
cmd_t cmd;
|
||||||
|
|
||||||
|
if (which)
|
||||||
|
*which = -1;
|
||||||
|
|
||||||
|
- for(;;) {
|
||||||
|
- if (fgets(linebuf, sizeof(linebuf), file) == NULL)
|
||||||
|
- break;
|
||||||
|
+ while ((line = next_line(file))) {
|
||||||
|
if (lineno)
|
||||||
|
(*lineno)++;
|
||||||
|
|
||||||
|
- cp = linebuf;
|
||||||
|
+ cp = line;
|
||||||
|
SKIP_WS(cp);
|
||||||
|
if (*cp == '\0') {
|
||||||
|
if (!(parse_mode & SEQ_PARSE_MULTI))
|
||||||
|
@@ -588,7 +585,7 @@ read_acl_seq(
|
||||||
|
|
||||||
|
fail:
|
||||||
|
if (which)
|
||||||
|
- *which = (cp - linebuf);
|
||||||
|
+ *which = (cp - line);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
From f2a5f57a20ffa007abc1fa24df1f76e18b74a425 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
||||||
|
Date: Tue, 10 Jun 2014 14:34:50 -0400
|
||||||
|
Subject: [PATCH 20/34] telldir return value and seekdir second parameters are
|
||||||
|
of type long
|
||||||
|
|
||||||
|
not off_t .. since a pretty long time.
|
||||||
|
---
|
||||||
|
libmisc/walk_tree.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libmisc/walk_tree.c b/libmisc/walk_tree.c
|
||||||
|
index 2be9d47..a93a662 100644
|
||||||
|
--- a/libmisc/walk_tree.c
|
||||||
|
+++ b/libmisc/walk_tree.c
|
||||||
|
@@ -34,7 +34,7 @@ struct entry_handle {
|
||||||
|
dev_t dev;
|
||||||
|
ino_t ino;
|
||||||
|
DIR *stream;
|
||||||
|
- off_t pos;
|
||||||
|
+ long pos;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct entry_handle head = {
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,65 @@
|
|||||||
|
From 809584283a3ce5b0250656faefb23a821782adbe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Tue, 12 Aug 2014 08:32:26 -0400
|
||||||
|
Subject: [PATCH 21/34] mark libmisc funcs as hidden so they are not exported
|
||||||
|
|
||||||
|
---
|
||||||
|
include/misc.h | 17 +++++++++++++----
|
||||||
|
libacl/libobj.h | 9 +--------
|
||||||
|
2 files changed, 14 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/misc.h b/include/misc.h
|
||||||
|
index a4fa70e..f5c0dae 100644
|
||||||
|
--- a/include/misc.h
|
||||||
|
+++ b/include/misc.h
|
||||||
|
@@ -18,14 +18,23 @@
|
||||||
|
#ifndef __MISC_H
|
||||||
|
#define __MISC_H
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
-extern int high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||||
|
+/* Mark library internal functions as hidden */
|
||||||
|
+#if defined(HAVE_VISIBILITY_ATTRIBUTE)
|
||||||
|
+# define hidden __attribute__((visibility("hidden")))
|
||||||
|
+#else
|
||||||
|
+# define hidden /* hidden */
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+hidden int high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||||
|
|
||||||
|
-extern const char *quote(const char *str, const char *quote_chars);
|
||||||
|
-extern char *unquote(char *str);
|
||||||
|
+hidden const char *quote(const char *str, const char *quote_chars);
|
||||||
|
+hidden char *unquote(char *str);
|
||||||
|
|
||||||
|
-extern char *next_line(FILE *file);
|
||||||
|
+hidden char *next_line(FILE *file);
|
||||||
|
|
||||||
|
#ifdef ENABLE_NLS
|
||||||
|
# include <libintl.h>
|
||||||
|
diff --git a/libacl/libobj.h b/libacl/libobj.h
|
||||||
|
index 5480a0e..c41d5f9 100644
|
||||||
|
--- a/libacl/libobj.h
|
||||||
|
+++ b/libacl/libobj.h
|
||||||
|
@@ -20,14 +20,7 @@
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
-#include "config.h"
|
||||||
|
-
|
||||||
|
-/* Mark library internal functions as hidden */
|
||||||
|
-#if defined(HAVE_VISIBILITY_ATTRIBUTE)
|
||||||
|
-# define hidden __attribute__((visibility("hidden")))
|
||||||
|
-#else
|
||||||
|
-# define hidden /* hidden */
|
||||||
|
-#endif
|
||||||
|
+#include "misc.h"
|
||||||
|
|
||||||
|
/* Ugly pointer manipulation */
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
309
0022-add-__acl_-prefixes-to-internal-symbols.patch
Normal file
309
0022-add-__acl_-prefixes-to-internal-symbols.patch
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
From a2c4d71c2e84419a49db503ed59de4d3d1dca7dd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Tue, 12 Aug 2014 08:37:25 -0400
|
||||||
|
Subject: [PATCH 22/34] add __acl_ prefixes to internal symbols
|
||||||
|
|
||||||
|
When static linking libacl, people sometimes run into symbol collisions
|
||||||
|
because their own code defines symbols like "quote". So for acl internal
|
||||||
|
symbols, use an __acl_ prefix.
|
||||||
|
---
|
||||||
|
exports | 12 ++----------
|
||||||
|
include/misc.h | 8 ++++----
|
||||||
|
libacl/__acl_to_any_text.c | 4 ++--
|
||||||
|
libacl/acl_from_text.c | 4 ++--
|
||||||
|
libmisc/high_water_alloc.c | 2 +-
|
||||||
|
libmisc/next_line.c | 6 +++---
|
||||||
|
libmisc/quote.c | 4 ++--
|
||||||
|
libmisc/unquote.c | 2 +-
|
||||||
|
tools/getfacl.c | 4 ++--
|
||||||
|
tools/parse.c | 14 +++++++-------
|
||||||
|
tools/setfacl.c | 4 ++--
|
||||||
|
11 files changed, 28 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/exports b/exports
|
||||||
|
index 7d8e69e..bf15d84 100644
|
||||||
|
--- a/exports
|
||||||
|
+++ b/exports
|
||||||
|
@@ -59,22 +59,14 @@ ACL_1.0 {
|
||||||
|
acl_to_any_text;
|
||||||
|
|
||||||
|
local:
|
||||||
|
- # Library internal stuff
|
||||||
|
+ # Library internal stuff
|
||||||
|
__new_var_obj_p;
|
||||||
|
__new_obj_p_here;
|
||||||
|
__free_obj_p;
|
||||||
|
__check_obj_p;
|
||||||
|
__ext2int_and_check;
|
||||||
|
- __acl_reorder_entry_obj_p;
|
||||||
|
- __acl_reorder_obj_p;
|
||||||
|
- __acl_init_obj;
|
||||||
|
- __acl_create_entry_obj;
|
||||||
|
- __acl_free_acl_obj;
|
||||||
|
- __acl_to_any_text;
|
||||||
|
+ __acl_*;
|
||||||
|
__apply_mask_to_mode;
|
||||||
|
-
|
||||||
|
- quote;
|
||||||
|
- unquote;
|
||||||
|
};
|
||||||
|
|
||||||
|
ACL_1.1 {
|
||||||
|
diff --git a/include/misc.h b/include/misc.h
|
||||||
|
index f5c0dae..24b65d2 100644
|
||||||
|
--- a/include/misc.h
|
||||||
|
+++ b/include/misc.h
|
||||||
|
@@ -29,12 +29,12 @@
|
||||||
|
# define hidden /* hidden */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-hidden int high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||||
|
+hidden int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
|
||||||
|
|
||||||
|
-hidden const char *quote(const char *str, const char *quote_chars);
|
||||||
|
-hidden char *unquote(char *str);
|
||||||
|
+hidden const char *__acl_quote(const char *str, const char *quote_chars);
|
||||||
|
+hidden char *__acl_unquote(char *str);
|
||||||
|
|
||||||
|
-hidden char *next_line(FILE *file);
|
||||||
|
+hidden char *__acl_next_line(FILE *file);
|
||||||
|
|
||||||
|
#ifdef ENABLE_NLS
|
||||||
|
# include <libintl.h>
|
||||||
|
diff --git a/libacl/__acl_to_any_text.c b/libacl/__acl_to_any_text.c
|
||||||
|
index 1d10e81..de3925e 100644
|
||||||
|
--- a/libacl/__acl_to_any_text.c
|
||||||
|
+++ b/libacl/__acl_to_any_text.c
|
||||||
|
@@ -159,7 +159,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
|
||||||
|
if (options & TEXT_NUMERIC_IDS)
|
||||||
|
str = NULL;
|
||||||
|
else
|
||||||
|
- str = quote(user_name(
|
||||||
|
+ str = __acl_quote(user_name(
|
||||||
|
entry_obj_p->eid.qid), ":, \t\n\r");
|
||||||
|
if (str != NULL) {
|
||||||
|
strncpy(text_p, str, size);
|
||||||
|
@@ -182,7 +182,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
|
||||||
|
if (options & TEXT_NUMERIC_IDS)
|
||||||
|
str = NULL;
|
||||||
|
else
|
||||||
|
- str = quote(group_name(
|
||||||
|
+ str = __acl_quote(group_name(
|
||||||
|
entry_obj_p->eid.qid), ":, \t\n\r");
|
||||||
|
if (str != NULL) {
|
||||||
|
strncpy(text_p, str, size);
|
||||||
|
diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
|
||||||
|
index c08bd3b..83a4d21 100644
|
||||||
|
--- a/libacl/acl_from_text.c
|
||||||
|
+++ b/libacl/acl_from_text.c
|
||||||
|
@@ -212,7 +212,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
|
||||||
|
str = get_token(text_p);
|
||||||
|
if (str) {
|
||||||
|
entry_obj.etag = ACL_USER;
|
||||||
|
- error = get_uid(unquote(str),
|
||||||
|
+ error = get_uid(__acl_unquote(str),
|
||||||
|
&entry_obj.eid.qid);
|
||||||
|
free(str);
|
||||||
|
if (error) {
|
||||||
|
@@ -231,7 +231,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
|
||||||
|
str = get_token(text_p);
|
||||||
|
if (str) {
|
||||||
|
entry_obj.etag = ACL_GROUP;
|
||||||
|
- error = get_gid(unquote(str),
|
||||||
|
+ error = get_gid(__acl_unquote(str),
|
||||||
|
&entry_obj.eid.qid);
|
||||||
|
free(str);
|
||||||
|
if (error) {
|
||||||
|
diff --git a/libmisc/high_water_alloc.c b/libmisc/high_water_alloc.c
|
||||||
|
index c127dc1..951f4bb 100644
|
||||||
|
--- a/libmisc/high_water_alloc.c
|
||||||
|
+++ b/libmisc/high_water_alloc.c
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
|
-int high_water_alloc(void **buf, size_t *bufsize, size_t newsize)
|
||||||
|
+int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize)
|
||||||
|
{
|
||||||
|
#define CHUNK_SIZE 256
|
||||||
|
/*
|
||||||
|
diff --git a/libmisc/next_line.c b/libmisc/next_line.c
|
||||||
|
index 0566d7a..126a364 100644
|
||||||
|
--- a/libmisc/next_line.c
|
||||||
|
+++ b/libmisc/next_line.c
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
|
||||||
|
#define LINE_SIZE getpagesize()
|
||||||
|
|
||||||
|
-char *next_line(FILE *file)
|
||||||
|
+char *__acl_next_line(FILE *file)
|
||||||
|
{
|
||||||
|
static char *line;
|
||||||
|
static size_t line_size;
|
||||||
|
@@ -31,7 +31,7 @@ char *next_line(FILE *file)
|
||||||
|
int eol = 0;
|
||||||
|
|
||||||
|
if (!line) {
|
||||||
|
- if (high_water_alloc((void **)&line, &line_size, LINE_SIZE))
|
||||||
|
+ if (__acl_high_water_alloc((void **)&line, &line_size, LINE_SIZE))
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
c = line;
|
||||||
|
@@ -47,7 +47,7 @@ char *next_line(FILE *file)
|
||||||
|
if (feof(file))
|
||||||
|
break;
|
||||||
|
if (!eol) {
|
||||||
|
- if (high_water_alloc((void **)&line, &line_size,
|
||||||
|
+ if (__acl_high_water_alloc((void **)&line, &line_size,
|
||||||
|
2 * line_size))
|
||||||
|
return NULL;
|
||||||
|
c = strrchr(line, '\0');
|
||||||
|
diff --git a/libmisc/quote.c b/libmisc/quote.c
|
||||||
|
index bf8f9eb..a28800c 100644
|
||||||
|
--- a/libmisc/quote.c
|
||||||
|
+++ b/libmisc/quote.c
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#include <string.h>
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
|
-const char *quote(const char *str, const char *quote_chars)
|
||||||
|
+const char *__acl_quote(const char *str, const char *quote_chars)
|
||||||
|
{
|
||||||
|
static char *quoted_str;
|
||||||
|
static size_t quoted_str_len;
|
||||||
|
@@ -40,7 +40,7 @@ const char *quote(const char *str, const char *quote_chars)
|
||||||
|
if (nonpr == 0)
|
||||||
|
return str;
|
||||||
|
|
||||||
|
- if (high_water_alloc((void **)"ed_str, "ed_str_len,
|
||||||
|
+ if (__acl_high_water_alloc((void **)"ed_str, "ed_str_len,
|
||||||
|
(s - (unsigned char *)str) + nonpr * 3 + 1))
|
||||||
|
return NULL;
|
||||||
|
for (s = (unsigned char *)str, q = quoted_str; *s != '\0'; s++) {
|
||||||
|
diff --git a/libmisc/unquote.c b/libmisc/unquote.c
|
||||||
|
index bffebf9..4f4ce7c 100644
|
||||||
|
--- a/libmisc/unquote.c
|
||||||
|
+++ b/libmisc/unquote.c
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#include <ctype.h>
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
|
-char *unquote(char *str)
|
||||||
|
+char *__acl_unquote(char *str)
|
||||||
|
{
|
||||||
|
unsigned char *s, *t;
|
||||||
|
|
||||||
|
diff --git a/tools/getfacl.c b/tools/getfacl.c
|
||||||
|
index 22cc1c7..679affa 100644
|
||||||
|
--- a/tools/getfacl.c
|
||||||
|
+++ b/tools/getfacl.c
|
||||||
|
@@ -89,7 +89,7 @@ int opt_numeric; /* don't convert id's to symbolic names */
|
||||||
|
|
||||||
|
static const char *xquote(const char *str, const char *quote_chars)
|
||||||
|
{
|
||||||
|
- const char *q = quote(str, quote_chars);
|
||||||
|
+ const char *q = __acl_quote(str, quote_chars);
|
||||||
|
if (q == NULL) {
|
||||||
|
fprintf(stderr, "%s: %s\n", progname, strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
@@ -717,7 +717,7 @@ int main(int argc, char *argv[])
|
||||||
|
do {
|
||||||
|
if (optind == argc ||
|
||||||
|
strcmp(argv[optind], "-") == 0) {
|
||||||
|
- while ((line = next_line(stdin)) != NULL) {
|
||||||
|
+ while ((line = __acl_next_line(stdin)) != NULL) {
|
||||||
|
if (*line == '\0')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
diff --git a/tools/parse.c b/tools/parse.c
|
||||||
|
index df69c26..823bfeb 100644
|
||||||
|
--- a/tools/parse.c
|
||||||
|
+++ b/tools/parse.c
|
||||||
|
@@ -226,7 +226,7 @@ user_entry:
|
||||||
|
str = get_token(text_p);
|
||||||
|
if (str) {
|
||||||
|
cmd->c_tag = ACL_USER;
|
||||||
|
- error = get_uid(unquote(str), &cmd->c_id);
|
||||||
|
+ error = get_uid(__acl_unquote(str), &cmd->c_id);
|
||||||
|
free(str);
|
||||||
|
if (error) {
|
||||||
|
*text_p = backup;
|
||||||
|
@@ -245,7 +245,7 @@ user_entry:
|
||||||
|
str = get_token(text_p);
|
||||||
|
if (str) {
|
||||||
|
cmd->c_tag = ACL_GROUP;
|
||||||
|
- error = get_gid(unquote(str), &cmd->c_id);
|
||||||
|
+ error = get_gid(__acl_unquote(str), &cmd->c_id);
|
||||||
|
free(str);
|
||||||
|
if (error) {
|
||||||
|
*text_p = backup;
|
||||||
|
@@ -447,7 +447,7 @@ read_acl_comments(
|
||||||
|
if (lineno)
|
||||||
|
(*lineno)++;
|
||||||
|
|
||||||
|
- line = next_line(file);
|
||||||
|
+ line = __acl_next_line(file);
|
||||||
|
if (line == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
@@ -465,7 +465,7 @@ read_acl_comments(
|
||||||
|
if (strncmp(cp, "file:", 5) == 0) {
|
||||||
|
cp += 5;
|
||||||
|
SKIP_WS(cp);
|
||||||
|
- cp = unquote(cp);
|
||||||
|
+ cp = __acl_unquote(cp);
|
||||||
|
|
||||||
|
if (path_p) {
|
||||||
|
if (*path_p)
|
||||||
|
@@ -482,7 +482,7 @@ read_acl_comments(
|
||||||
|
if (uid_p) {
|
||||||
|
if (*uid_p != ACL_UNDEFINED_ID)
|
||||||
|
goto fail;
|
||||||
|
- if (get_uid(unquote(cp), uid_p) != 0)
|
||||||
|
+ if (get_uid(__acl_unquote(cp), uid_p) != 0)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (strncmp(cp, "group:", 6) == 0) {
|
||||||
|
@@ -492,7 +492,7 @@ read_acl_comments(
|
||||||
|
if (gid_p) {
|
||||||
|
if (*gid_p != ACL_UNDEFINED_ID)
|
||||||
|
goto fail;
|
||||||
|
- if (get_gid(unquote(cp), gid_p) != 0)
|
||||||
|
+ if (get_gid(__acl_unquote(cp), gid_p) != 0)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (strncmp(cp, "flags:", 6) == 0) {
|
||||||
|
@@ -548,7 +548,7 @@ read_acl_seq(
|
||||||
|
if (which)
|
||||||
|
*which = -1;
|
||||||
|
|
||||||
|
- while ((line = next_line(file))) {
|
||||||
|
+ while ((line = __acl_next_line(file))) {
|
||||||
|
if (lineno)
|
||||||
|
(*lineno)++;
|
||||||
|
|
||||||
|
diff --git a/tools/setfacl.c b/tools/setfacl.c
|
||||||
|
index b0ddedf..880bd1e 100644
|
||||||
|
--- a/tools/setfacl.c
|
||||||
|
+++ b/tools/setfacl.c
|
||||||
|
@@ -91,7 +91,7 @@ int promote_warning;
|
||||||
|
|
||||||
|
static const char *xquote(const char *str, const char *quote_chars)
|
||||||
|
{
|
||||||
|
- const char *q = quote(str, quote_chars);
|
||||||
|
+ const char *q = __acl_quote(str, quote_chars);
|
||||||
|
if (q == NULL) {
|
||||||
|
fprintf(stderr, "%s: %s\n", progname, strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
@@ -310,7 +310,7 @@ int next_file(const char *arg, seq_t seq)
|
||||||
|
args.seq = seq;
|
||||||
|
|
||||||
|
if (strcmp(arg, "-") == 0) {
|
||||||
|
- while ((line = next_line(stdin)))
|
||||||
|
+ while ((line = __acl_next_line(stdin)))
|
||||||
|
errors = walk_tree(line, walk_flags, 0, do_set, &args);
|
||||||
|
if (!feof(stdin)) {
|
||||||
|
fprintf(stderr, _("%s: Standard input: %s\n"),
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
29
0023-cp.test-Check-permissions-of-the-right-file.patch
Normal file
29
0023-cp.test-Check-permissions-of-the-right-file.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 62ce6354ef5a8eb5644908748f79c8cd18474d4c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <agruen@linbit.com>
|
||||||
|
Date: Wed, 13 Aug 2014 01:25:12 +0200
|
||||||
|
Subject: [PATCH 23/34] cp.test: Check permissions of the right file
|
||||||
|
|
||||||
|
After "cp -p", the cp.test case was checking the permissions
|
||||||
|
of the source file instead of the target file.
|
||||||
|
|
||||||
|
Reported by: Nic <nic.henke@versity.com>
|
||||||
|
---
|
||||||
|
test/cp.test | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/test/cp.test b/test/cp.test
|
||||||
|
index a927195..449e2eb 100644
|
||||||
|
--- a/test/cp.test
|
||||||
|
+++ b/test/cp.test
|
||||||
|
@@ -14,7 +14,7 @@ The cp utility should only copy ACLs if `-p' is given.
|
||||||
|
|
||||||
|
$ rm g
|
||||||
|
$ cp -p f g
|
||||||
|
- $ ls -l f | awk -- '{ print $1 }'
|
||||||
|
+ $ ls -l g | awk -- '{ print $1 }'
|
||||||
|
> -rw-rw-r--+
|
||||||
|
|
||||||
|
$ mkdir h
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
42
0024-libacl-acl_set_file-Remove-unnecesary-racy-check.patch
Normal file
42
0024-libacl-acl_set_file-Remove-unnecesary-racy-check.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 124e431e677f5ed3c45f71105a6770ceb96199dd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
|
||||||
|
Date: Mon, 13 Apr 2015 11:56:05 +0200
|
||||||
|
Subject: [PATCH 24/34] libacl: acl_set_file: Remove unnecesary racy check
|
||||||
|
|
||||||
|
Only directories can have default acls. This is checked in the kernel, and
|
||||||
|
unnecessarily also in acl_set_file. There is a window between checking the file
|
||||||
|
type and setting the acl, so the check in acl_set_file isn't even safe. Remove
|
||||||
|
it.
|
||||||
|
|
||||||
|
Reported by Lennart Poettering <lpoetter@redhat.com>.
|
||||||
|
---
|
||||||
|
libacl/acl_set_file.c | 13 -------------
|
||||||
|
1 file changed, 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libacl/acl_set_file.c b/libacl/acl_set_file.c
|
||||||
|
index 6821851..a7e368f 100644
|
||||||
|
--- a/libacl/acl_set_file.c
|
||||||
|
+++ b/libacl/acl_set_file.c
|
||||||
|
@@ -54,19 +54,6 @@ acl_set_file(const char *path_p, acl_type_t type, acl_t acl)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (type == ACL_TYPE_DEFAULT) {
|
||||||
|
- struct stat st;
|
||||||
|
-
|
||||||
|
- if (stat(path_p, &st) != 0)
|
||||||
|
- return -1;
|
||||||
|
-
|
||||||
|
- /* Only directories may have default ACLs. */
|
||||||
|
- if (!S_ISDIR(st.st_mode)) {
|
||||||
|
- errno = EACCES;
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
ext_acl_p = __acl_to_xattr(acl_obj_p, &size);
|
||||||
|
if (!ext_acl_p)
|
||||||
|
return -1;
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
236
0025-fix-compilation-with-latest-xattr-git.patch
Normal file
236
0025-fix-compilation-with-latest-xattr-git.patch
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
From 79f563779b9b9ba89cc2352d70e3cdf27acff513 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brice De Bruyne <bricedb@gmail.com>
|
||||||
|
Date: Mon, 27 Apr 2015 14:57:56 +0200
|
||||||
|
Subject: [PATCH 25/34] fix compilation with latest xattr git
|
||||||
|
|
||||||
|
The attr package has <attr/xattr.h> removed, but acl has not been adapted yet.
|
||||||
|
|
||||||
|
I took the liberty to cook up this patch that includes <sys/xattr.h> instead of
|
||||||
|
<attr/xattr.h> in affected c files and I added errno.h plus a define of ENOATTR
|
||||||
|
to c files where needed.
|
||||||
|
|
||||||
|
I also removed the AC_PACKAGE_NEED_ATTR_XATTR_H definition from
|
||||||
|
package_attrdev.m4, and changed configure to skip this test.
|
||||||
|
|
||||||
|
Further changes by Andreas: Move the ENOATTR check into libacl.h.
|
||||||
|
---
|
||||||
|
configure.ac | 1 -
|
||||||
|
libacl/__acl_extended_file.c | 3 +--
|
||||||
|
libacl/acl_delete_def_file.c | 4 ++--
|
||||||
|
libacl/acl_extended_fd.c | 3 +--
|
||||||
|
libacl/acl_extended_file.c | 2 +-
|
||||||
|
libacl/acl_extended_file_nofollow.c | 2 +-
|
||||||
|
libacl/acl_get_fd.c | 3 +--
|
||||||
|
libacl/acl_get_file.c | 3 +--
|
||||||
|
libacl/acl_set_fd.c | 2 +-
|
||||||
|
libacl/acl_set_file.c | 2 +-
|
||||||
|
libacl/libacl.h | 5 +++++
|
||||||
|
m4/package_attrdev.m4 | 11 -----------
|
||||||
|
12 files changed, 15 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 2182e81..cd3c680 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -44,7 +44,6 @@ dnl Automatically increment the revision for every release.
|
||||||
|
LT_REVISION=$(echo "${PACKAGE_VERSION}" | tr -d .)
|
||||||
|
AC_SUBST(LT_REVISION)
|
||||||
|
|
||||||
|
-AC_PACKAGE_NEED_ATTR_XATTR_H
|
||||||
|
AC_PACKAGE_NEED_ATTR_ERROR_H
|
||||||
|
AC_PACKAGE_NEED_GETXATTR_LIBATTR
|
||||||
|
|
||||||
|
diff --git a/libacl/__acl_extended_file.c b/libacl/__acl_extended_file.c
|
||||||
|
index 3e45abd..c81dc8f 100644
|
||||||
|
--- a/libacl/__acl_extended_file.c
|
||||||
|
+++ b/libacl/__acl_extended_file.c
|
||||||
|
@@ -20,14 +20,13 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
|
||||||
|
#include "byteorder.h"
|
||||||
|
#include "acl_ea.h"
|
||||||
|
#include "__acl_extended_file.h"
|
||||||
|
|
||||||
|
-
|
||||||
|
int
|
||||||
|
__acl_extended_file(const char *path_p,
|
||||||
|
ssize_t (*fun)(const char *, const char *,
|
||||||
|
diff --git a/libacl/acl_delete_def_file.c b/libacl/acl_delete_def_file.c
|
||||||
|
index fae4460..845940c 100644
|
||||||
|
--- a/libacl/acl_delete_def_file.c
|
||||||
|
+++ b/libacl/acl_delete_def_file.c
|
||||||
|
@@ -20,11 +20,11 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "byteorder.h"
|
||||||
|
#include "acl_ea.h"
|
||||||
|
#include "config.h"
|
||||||
|
-
|
||||||
|
+#include "libacl.h"
|
||||||
|
|
||||||
|
/* 23.4.8 */
|
||||||
|
int
|
||||||
|
diff --git a/libacl/acl_extended_fd.c b/libacl/acl_extended_fd.c
|
||||||
|
index f19ad7b..bbf9055 100644
|
||||||
|
--- a/libacl/acl_extended_fd.c
|
||||||
|
+++ b/libacl/acl_extended_fd.c
|
||||||
|
@@ -20,13 +20,12 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
|
||||||
|
#include "byteorder.h"
|
||||||
|
#include "acl_ea.h"
|
||||||
|
|
||||||
|
-
|
||||||
|
int
|
||||||
|
acl_extended_fd(int fd)
|
||||||
|
{
|
||||||
|
diff --git a/libacl/acl_extended_file.c b/libacl/acl_extended_file.c
|
||||||
|
index f417784..87f8e6e 100644
|
||||||
|
--- a/libacl/acl_extended_file.c
|
||||||
|
+++ b/libacl/acl_extended_file.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
|
||||||
|
#include "__acl_extended_file.h"
|
||||||
|
diff --git a/libacl/acl_extended_file_nofollow.c b/libacl/acl_extended_file_nofollow.c
|
||||||
|
index c253e4d..a15b076 100644
|
||||||
|
--- a/libacl/acl_extended_file_nofollow.c
|
||||||
|
+++ b/libacl/acl_extended_file_nofollow.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
|
||||||
|
#include "__acl_extended_file.h"
|
||||||
|
diff --git a/libacl/acl_get_fd.c b/libacl/acl_get_fd.c
|
||||||
|
index f2525ef..15e3880 100644
|
||||||
|
--- a/libacl/acl_get_fd.c
|
||||||
|
+++ b/libacl/acl_get_fd.c
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include <acl/libacl.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
#include "__acl_from_xattr.h"
|
||||||
|
@@ -31,7 +31,6 @@
|
||||||
|
#include "byteorder.h"
|
||||||
|
#include "acl_ea.h"
|
||||||
|
|
||||||
|
-
|
||||||
|
/* 23.4.15 */
|
||||||
|
acl_t
|
||||||
|
acl_get_fd(int fd)
|
||||||
|
diff --git a/libacl/acl_get_file.c b/libacl/acl_get_file.c
|
||||||
|
index 110ef2e..d3131bc 100644
|
||||||
|
--- a/libacl/acl_get_file.c
|
||||||
|
+++ b/libacl/acl_get_file.c
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include <acl/libacl.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
#include "__acl_from_xattr.h"
|
||||||
|
@@ -31,7 +31,6 @@
|
||||||
|
#include "byteorder.h"
|
||||||
|
#include "acl_ea.h"
|
||||||
|
|
||||||
|
-
|
||||||
|
/* 23.4.16 */
|
||||||
|
acl_t
|
||||||
|
acl_get_file(const char *path_p, acl_type_t type)
|
||||||
|
diff --git a/libacl/acl_set_fd.c b/libacl/acl_set_fd.c
|
||||||
|
index e6413ad..38dcd4a 100644
|
||||||
|
--- a/libacl/acl_set_fd.c
|
||||||
|
+++ b/libacl/acl_set_fd.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
#include "__acl_to_xattr.h"
|
||||||
|
|
||||||
|
diff --git a/libacl/acl_set_file.c b/libacl/acl_set_file.c
|
||||||
|
index a7e368f..c234b4a 100644
|
||||||
|
--- a/libacl/acl_set_file.c
|
||||||
|
+++ b/libacl/acl_set_file.c
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
-#include <attr/xattr.h>
|
||||||
|
+#include <sys/xattr.h>
|
||||||
|
#include "libacl.h"
|
||||||
|
#include "__acl_to_xattr.h"
|
||||||
|
|
||||||
|
diff --git a/libacl/libacl.h b/libacl/libacl.h
|
||||||
|
index e79575d..08ba905 100644
|
||||||
|
--- a/libacl/libacl.h
|
||||||
|
+++ b/libacl/libacl.h
|
||||||
|
@@ -17,8 +17,13 @@
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sys/acl.h>
|
||||||
|
+#include <errno.h>
|
||||||
|
#include "libobj.h"
|
||||||
|
|
||||||
|
+#ifndef ENOATTR
|
||||||
|
+# define ENOATTR ENODATA
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
typedef unsigned int permset_t;
|
||||||
|
|
||||||
|
#define ACL_PERM_NONE (0x0000)
|
||||||
|
diff --git a/m4/package_attrdev.m4 b/m4/package_attrdev.m4
|
||||||
|
index 92c9135..1891bb2 100644
|
||||||
|
--- a/m4/package_attrdev.m4
|
||||||
|
+++ b/m4/package_attrdev.m4
|
||||||
|
@@ -12,17 +12,6 @@ dnl GNU General Public License for more details.
|
||||||
|
dnl
|
||||||
|
dnl You should have received a copy of the GNU General Public License
|
||||||
|
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
-AC_DEFUN([AC_PACKAGE_NEED_ATTR_XATTR_H],
|
||||||
|
- [ AC_CHECK_HEADERS([attr/xattr.h])
|
||||||
|
- if test "$ac_cv_header_attr_xattr_h" != "yes"; then
|
||||||
|
- echo
|
||||||
|
- echo 'FATAL ERROR: attr/xattr.h does not exist.'
|
||||||
|
- echo 'Install the extended attributes (attr) development package.'
|
||||||
|
- echo 'Alternatively, run "make install-dev" from the attr source.'
|
||||||
|
- exit 1
|
||||||
|
- fi
|
||||||
|
- ])
|
||||||
|
-
|
||||||
|
AC_DEFUN([AC_PACKAGE_NEED_ATTR_ERROR_H],
|
||||||
|
[ AC_CHECK_HEADERS([attr/error_context.h])
|
||||||
|
if test "$ac_cv_header_attr_error_context_h" != "yes"; then
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
28
0026-getfacl-Fix-memory-leak.patch
Normal file
28
0026-getfacl-Fix-memory-leak.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 5d8de21bef5ee62ebca93ae81515b6065626e559 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
|
||||||
|
Date: Thu, 16 Jul 2015 14:04:20 +0200
|
||||||
|
Subject: [PATCH 26/34] getfacl: Fix memory leak
|
||||||
|
|
||||||
|
Reported by Andreas Stieger <astieger@suse.com>
|
||||||
|
(https://bugzilla.suse.com/show_bug.cgi?id=929108): Fix a memory leak in
|
||||||
|
getfacl (allocated acl not being freed).
|
||||||
|
---
|
||||||
|
tools/getfacl.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tools/getfacl.c b/tools/getfacl.c
|
||||||
|
index 679affa..e44b572 100644
|
||||||
|
--- a/tools/getfacl.c
|
||||||
|
+++ b/tools/getfacl.c
|
||||||
|
@@ -477,7 +477,7 @@ int do_print(const char *path_p, const struct stat *st, int walk_flags, void *un
|
||||||
|
|
||||||
|
if (opt_skip_base &&
|
||||||
|
(!acl || acl_equiv_mode(acl, NULL) == 0) && !default_acl)
|
||||||
|
- return 0;
|
||||||
|
+ goto cleanup;
|
||||||
|
|
||||||
|
if (opt_print_acl && opt_print_default_acl)
|
||||||
|
default_prefix = "default:";
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
31
0027-Fix-the-display-block-nesting-in-acl.5.patch
Normal file
31
0027-Fix-the-display-block-nesting-in-acl.5.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
From 226e93f4d17b68f4cca02fb7b34f22fd9a7ab237 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
|
||||||
|
Date: Wed, 26 Aug 2015 12:16:38 +0200
|
||||||
|
Subject: [PATCH 27/34] Fix the display block nesting in acl.5
|
||||||
|
|
||||||
|
---
|
||||||
|
man/man5/acl.5 | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/man5/acl.5 b/man/man5/acl.5
|
||||||
|
index 1e44a31..c045726 100644
|
||||||
|
--- a/man/man5/acl.5
|
||||||
|
+++ b/man/man5/acl.5
|
||||||
|
@@ -217,12 +217,12 @@ access is denied.
|
||||||
|
.Sy if
|
||||||
|
the ACL_GROUP_OBJ entry contains the requested permissions,
|
||||||
|
access is granted,
|
||||||
|
-.Ed
|
||||||
|
.Pp
|
||||||
|
.Sy else
|
||||||
|
access is denied.
|
||||||
|
-.Pp
|
||||||
|
.Ed
|
||||||
|
+.Ed
|
||||||
|
+.Pp
|
||||||
|
.It
|
||||||
|
.Sy else if
|
||||||
|
the ACL_OTHER entry contains the requested permissions, access is granted.
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
50
0028-setfacl-man-page-Minor-wording-improvements.patch
Normal file
50
0028-setfacl-man-page-Minor-wording-improvements.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From f05131d8d16751dbb586058fabc8cb404dec23a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
|
||||||
|
Date: Tue, 1 Sep 2015 22:37:17 +0200
|
||||||
|
Subject: [PATCH 28/34] setfacl man page: Minor wording improvements
|
||||||
|
|
||||||
|
---
|
||||||
|
man/man1/setfacl.1 | 16 ++++++++--------
|
||||||
|
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/man1/setfacl.1 b/man/man1/setfacl.1
|
||||||
|
index 0c7c046..a73d122 100644
|
||||||
|
--- a/man/man1/setfacl.1
|
||||||
|
+++ b/man/man1/setfacl.1
|
||||||
|
@@ -37,17 +37,17 @@ This utility sets Access Control Lists (ACLs) of files and directories.
|
||||||
|
On the command line, a sequence of commands is followed by a sequence of
|
||||||
|
files (which in turn can be followed by another sequence of commands, ...).
|
||||||
|
|
||||||
|
-The options
|
||||||
|
-.I \-m,
|
||||||
|
+The
|
||||||
|
+.I \-m
|
||||||
|
and
|
||||||
|
.I \-x
|
||||||
|
-expect an ACL on the command line. Multiple ACL entries are separated
|
||||||
|
-by comma characters (`,'). The options
|
||||||
|
-.I \-M,
|
||||||
|
+options expect an ACL on the command line. Multiple ACL entries are separated
|
||||||
|
+by comma characters (`,'). The
|
||||||
|
+.I \-M
|
||||||
|
and
|
||||||
|
.I \-X
|
||||||
|
-read an ACL from a file or from standard input. The ACL entry format is described in Section
|
||||||
|
-ACL ENTRIES.
|
||||||
|
+options read an ACL from a file or from standard input. The ACL entry format is
|
||||||
|
+described in Section ACL ENTRIES.
|
||||||
|
|
||||||
|
The
|
||||||
|
.IR "\-\-set" " and " "\-\-set-file"
|
||||||
|
@@ -68,7 +68,7 @@ does not exist. Only ACL entries without the
|
||||||
|
field are accepted as parameters, unless POSIXLY_CORRECT is defined.
|
||||||
|
|
||||||
|
When reading from files using the
|
||||||
|
-.I \-M,
|
||||||
|
+.I \-M
|
||||||
|
and
|
||||||
|
.IR \-X
|
||||||
|
options, setfacl accepts the output getfacl produces.
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
85
0029-getfacl-Fix-minor-resource-leak.patch
Normal file
85
0029-getfacl-Fix-minor-resource-leak.patch
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
From 519e3932898baba1e7eeb0d9d89acee796da61f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Gruenbacher <agruenba@redhat.com>
|
||||||
|
Date: Tue, 8 Sep 2015 14:23:58 +0200
|
||||||
|
Subject: [PATCH 29/34] getfacl: Fix minor resource leak
|
||||||
|
|
||||||
|
The return value of of acl_get_qualifier needs to be acl_freed.
|
||||||
|
|
||||||
|
Reported by Jaska Uimonen <jaska.uimonen@helsinki.fi>.
|
||||||
|
---
|
||||||
|
tools/getfacl.c | 31 ++++++++++++++++++++-----------
|
||||||
|
1 file changed, 20 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/getfacl.c b/tools/getfacl.c
|
||||||
|
index e44b572..3d8f1b8 100644
|
||||||
|
--- a/tools/getfacl.c
|
||||||
|
+++ b/tools/getfacl.c
|
||||||
|
@@ -125,7 +125,7 @@ struct name_list *get_list(const struct stat *st, acl_t acl)
|
||||||
|
return NULL;
|
||||||
|
while (ret > 0) {
|
||||||
|
acl_tag_t e_type;
|
||||||
|
- const id_t *id_p;
|
||||||
|
+ id_t *id_p;
|
||||||
|
const char *name = "";
|
||||||
|
int len;
|
||||||
|
|
||||||
|
@@ -137,8 +137,10 @@ struct name_list *get_list(const struct stat *st, acl_t acl)
|
||||||
|
|
||||||
|
case ACL_USER:
|
||||||
|
id_p = acl_get_qualifier(ent);
|
||||||
|
- if (id_p != NULL)
|
||||||
|
+ if (id_p != NULL) {
|
||||||
|
name = user_name(*id_p, opt_numeric);
|
||||||
|
+ acl_free(id_p);
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ACL_GROUP_OBJ:
|
||||||
|
@@ -147,8 +149,10 @@ struct name_list *get_list(const struct stat *st, acl_t acl)
|
||||||
|
|
||||||
|
case ACL_GROUP:
|
||||||
|
id_p = acl_get_qualifier(ent);
|
||||||
|
- if (id_p != NULL)
|
||||||
|
+ if (id_p != NULL) {
|
||||||
|
name = group_name(*id_p, opt_numeric);
|
||||||
|
+ acl_free(id_p);
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
name = xquote(name, "\t\n\r");
|
||||||
|
@@ -378,19 +382,24 @@ int do_show(FILE *stream, const char *path_p, const struct stat *st,
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
if (acl_tag == ACL_USER || acl_tag == ACL_GROUP) {
|
||||||
|
- id_t *acl_id_p = NULL, *dacl_id_p = NULL;
|
||||||
|
- if (acl_ent)
|
||||||
|
- acl_id_p = acl_get_qualifier(acl_ent);
|
||||||
|
- if (dacl_ent)
|
||||||
|
- dacl_id_p = acl_get_qualifier(dacl_ent);
|
||||||
|
+ int id_cmp = 0;
|
||||||
|
+
|
||||||
|
+ if (acl_ent && dacl_ent) {
|
||||||
|
+ id_t *acl_id_p = acl_get_qualifier(acl_ent);
|
||||||
|
+ id_t *dacl_id_p = acl_get_qualifier(dacl_ent);
|
||||||
|
+
|
||||||
|
+ id_cmp = (*acl_id_p > *dacl_id_p) -
|
||||||
|
+ (*acl_id_p < *dacl_id_p);
|
||||||
|
+ acl_free(acl_id_p);
|
||||||
|
+ acl_free(dacl_id_p);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- if (acl && (!dacl || *acl_id_p < *dacl_id_p)) {
|
||||||
|
+ if (acl && (!dacl || id_cmp < 0)) {
|
||||||
|
show_line(stream, &acl_names, acl,
|
||||||
|
&acl_ent, acl_mask,
|
||||||
|
NULL, NULL, NULL, NULL);
|
||||||
|
continue;
|
||||||
|
- } else if (dacl &&
|
||||||
|
- (!acl || *dacl_id_p < *acl_id_p)) {
|
||||||
|
+ } else if (dacl && (!acl || id_cmp > 0)) {
|
||||||
|
show_line(stream, NULL, NULL, NULL,
|
||||||
|
NULL, &dacl_names, dacl,
|
||||||
|
&dacl_ent, dacl_mask);
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From fc027ffa5eefe6d563328059348a8929c4789c17 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dmitry V. Levin" <ldv@altlinux.org>
|
||||||
|
Date: Tue, 15 Sep 2015 19:47:54 +0300
|
||||||
|
Subject: [PATCH 30/34] Do not export symbols that are not supposed to be
|
||||||
|
exported
|
||||||
|
|
||||||
|
As all symbols that are part of public interface are explicitly exported
|
||||||
|
with corresponding versioning, mark all remaining symbols as local.
|
||||||
|
---
|
||||||
|
exports | 8 +-------
|
||||||
|
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/exports b/exports
|
||||||
|
index bf15d84..830a2b9 100644
|
||||||
|
--- a/exports
|
||||||
|
+++ b/exports
|
||||||
|
@@ -60,13 +60,7 @@ ACL_1.0 {
|
||||||
|
|
||||||
|
local:
|
||||||
|
# Library internal stuff
|
||||||
|
- __new_var_obj_p;
|
||||||
|
- __new_obj_p_here;
|
||||||
|
- __free_obj_p;
|
||||||
|
- __check_obj_p;
|
||||||
|
- __ext2int_and_check;
|
||||||
|
- __acl_*;
|
||||||
|
- __apply_mask_to_mode;
|
||||||
|
+ *;
|
||||||
|
};
|
||||||
|
|
||||||
|
ACL_1.1 {
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
34
0031-walk_tree-mark-internal-variables-as-static.patch
Normal file
34
0031-walk_tree-mark-internal-variables-as-static.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 4a5140636e487aeb1a8a43dbecae3ab395d31392 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dmitry V. Levin" <ldv@altlinux.org>
|
||||||
|
Date: Tue, 15 Sep 2015 23:03:08 +0300
|
||||||
|
Subject: [PATCH 31/34] walk_tree: mark internal variables as static
|
||||||
|
|
||||||
|
walk_tree.c internal variables should not be exposed to libmisc users.
|
||||||
|
---
|
||||||
|
libmisc/walk_tree.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libmisc/walk_tree.c b/libmisc/walk_tree.c
|
||||||
|
index a93a662..d753dc7 100644
|
||||||
|
--- a/libmisc/walk_tree.c
|
||||||
|
+++ b/libmisc/walk_tree.c
|
||||||
|
@@ -37,13 +37,13 @@ struct entry_handle {
|
||||||
|
long pos;
|
||||||
|
};
|
||||||
|
|
||||||
|
-struct entry_handle head = {
|
||||||
|
+static struct entry_handle head = {
|
||||||
|
.next = &head,
|
||||||
|
.prev = &head,
|
||||||
|
/* The other fields are unused. */
|
||||||
|
};
|
||||||
|
-struct entry_handle *closed = &head;
|
||||||
|
-unsigned int num_dir_handles;
|
||||||
|
+static struct entry_handle *closed = &head;
|
||||||
|
+static unsigned int num_dir_handles;
|
||||||
|
|
||||||
|
static int walk_tree_visited(dev_t dev, ino_t ino)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
25
0032-ignore-configure.lineno.patch
Normal file
25
0032-ignore-configure.lineno.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From fa03d2475682e4ab345c9a63bd6b88117bd45f0f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Date: Mon, 21 Sep 2015 17:07:11 -0400
|
||||||
|
Subject: [PATCH 32/34] ignore configure.lineno
|
||||||
|
|
||||||
|
Newer autoconf sometimes generates this file.
|
||||||
|
---
|
||||||
|
.gitignore | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/.gitignore b/.gitignore
|
||||||
|
index 7a19031..71d529c 100644
|
||||||
|
--- a/.gitignore
|
||||||
|
+++ b/.gitignore
|
||||||
|
@@ -21,6 +21,7 @@
|
||||||
|
/build-aux/
|
||||||
|
/config.*
|
||||||
|
/configure
|
||||||
|
+/configure.lineno
|
||||||
|
/libtool
|
||||||
|
/m4/
|
||||||
|
Makefile
|
||||||
|
--
|
||||||
|
2.5.2
|
||||||
|
|
@ -76,105 +76,3 @@ index 630e9fb..dd7fe08 100644
|
|||||||
1.7.1
|
1.7.1
|
||||||
|
|
||||||
|
|
||||||
From 3720a8a3cf55e295eca55457fad8177f6277f620 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Mon, 20 May 2013 15:00:47 +0200
|
|
||||||
Subject: [PATCH 2/2] test: fix insufficient quoting of '\'
|
|
||||||
|
|
||||||
This is a follow-up to 7f2c91b8369242a8dbc2b304a5b71b2a85f5b855, which
|
|
||||||
caused sbits-restore.test to fail in the following way in case SELinux
|
|
||||||
was disabled:
|
|
||||||
|
|
||||||
*** sbits-restore.test ***
|
|
||||||
[3] $ umask 022 -- ok
|
|
||||||
[4] $ mkdir d -- ok
|
|
||||||
[5] $ touch d/g -- ok
|
|
||||||
[6] $ touch d/u -- ok
|
|
||||||
[7] $ chmod u+s d/u -- ok
|
|
||||||
[8] $ chmod g+s d/g -- ok
|
|
||||||
[9] $ chmod +t d -- ok
|
|
||||||
[10] $ getfacl -R d > d.acl -- ok
|
|
||||||
[11] $ rm -R d -- ok
|
|
||||||
[12] $ mkdir d -- ok
|
|
||||||
[13] $ touch d/g -- ok
|
|
||||||
[14] $ touch d/u -- ok
|
|
||||||
[15] $ setfacl --restore d.acl -- ok
|
|
||||||
[16] $ ls -dl d | awk '{print $1}' | sed 's/.$//g' -- failed
|
|
||||||
drwxr-xr- != drwxr-xr-t
|
|
||||||
[18] $ ls -dl d/u | awk '{print $1}' | sed 's/.$//g' -- failed
|
|
||||||
-rwSr--r- != -rwSr--r--
|
|
||||||
[20] $ ls -dl d/g | awk '{print $1}' | sed 's/.$//g' -- failed
|
|
||||||
-rw-r-Sr- != -rw-r-Sr--
|
|
||||||
[22] $ rm -Rf d -- ok
|
|
||||||
17 commands (14 passed, 3 failed)
|
|
||||||
---
|
|
||||||
test/cp.test | 2 +-
|
|
||||||
test/misc.test | 6 +++---
|
|
||||||
test/sbits-restore.test | 6 +++---
|
|
||||||
3 files changed, 7 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/cp.test b/test/cp.test
|
|
||||||
index 0867f63..a927195 100644
|
|
||||||
--- a/test/cp.test
|
|
||||||
+++ b/test/cp.test
|
|
||||||
@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if `-p' is given.
|
|
||||||
> -rw-rw-r--+
|
|
||||||
|
|
||||||
$ cp f g
|
|
||||||
- $ ls -l g | awk -- '{ print $1 }' | sed 's/\.$//g'
|
|
||||||
+ $ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//g'
|
|
||||||
> -rw-r--r--
|
|
||||||
|
|
||||||
$ rm g
|
|
||||||
diff --git a/test/misc.test b/test/misc.test
|
|
||||||
index 6e98053..29372b7 100644
|
|
||||||
--- a/test/misc.test
|
|
||||||
+++ b/test/misc.test
|
|
||||||
@@ -254,7 +254,7 @@ Add some users and groups
|
|
||||||
Symlink in directory with default ACL?
|
|
||||||
|
|
||||||
$ ln -s d d/l
|
|
||||||
- $ ls -dl d/l | awk '{print $1}' | sed 's/\.$//g'
|
|
||||||
+ $ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//g'
|
|
||||||
> lrwxrwxrwx
|
|
||||||
|
|
||||||
$ ls -dl -L d/l | awk '{print $1}'
|
|
||||||
@@ -343,7 +343,7 @@ Remove the default ACL
|
|
||||||
Reset to base entries
|
|
||||||
|
|
||||||
$ setfacl -b d
|
|
||||||
- $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
|
|
||||||
+ $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
|
||||||
> drwxr-x---
|
|
||||||
|
|
||||||
$ getfacl --omit-header d
|
|
||||||
@@ -355,7 +355,7 @@ Reset to base entries
|
|
||||||
Now, chmod should change the group_obj entry
|
|
||||||
|
|
||||||
$ chmod 775 d
|
|
||||||
- $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
|
|
||||||
+ $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
|
||||||
> drwxrwxr-x
|
|
||||||
|
|
||||||
$ getfacl --omit-header d
|
|
||||||
diff --git a/test/sbits-restore.test b/test/sbits-restore.test
|
|
||||||
index de21340..5899b0a 100644
|
|
||||||
--- a/test/sbits-restore.test
|
|
||||||
+++ b/test/sbits-restore.test
|
|
||||||
@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via --restore works
|
|
||||||
$ touch d/g
|
|
||||||
$ touch d/u
|
|
||||||
$ setfacl --restore d.acl
|
|
||||||
- $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
|
|
||||||
+ $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
|
||||||
> drwxr-xr-t
|
|
||||||
- $ ls -dl d/u | awk '{print $1}' | sed 's/\.$//g'
|
|
||||||
+ $ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//g'
|
|
||||||
> -rwSr--r--
|
|
||||||
- $ ls -dl d/g | awk '{print $1}' | sed 's/\.$//g'
|
|
||||||
+ $ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//g'
|
|
||||||
> -rw-r-Sr--
|
|
||||||
$ rm -Rf d
|
|
||||||
--
|
|
||||||
1.7.1
|
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23
|
|
||||||
size 386604
|
|
Binary file not shown.
3
acl-2.2.52.tar.bz2
Normal file
3
acl-2.2.52.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d7c876ebe03ea7fcadbccc045accf73366345112ad6b7e70a90916d86bb8f262
|
||||||
|
size 108250
|
38
acl.changes
38
acl.changes
@ -1,4 +1,42 @@
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 2 16:13:20 UTC 2015 - jeffm@suse.com
|
||||||
|
|
||||||
|
- Update to git snapshot dated 21 Sep 2015.
|
||||||
|
- Added:
|
||||||
|
* 0001-Install-the-libraries-to-the-appropriate-directory.patch
|
||||||
|
* 0002-setfacl.1-fix-typo-inclu-de-include.patch
|
||||||
|
* 0003-test-fix-insufficient-quoting-of.patch
|
||||||
|
* 0004-Makefile-rename-configure.in-to-configure.ac.patch
|
||||||
|
* 0005-Bad-markup-in-acl.5-page.patch
|
||||||
|
* 0006-.gitignore-ignore-and-config.h.in.patch
|
||||||
|
* 0007-Use-autoreconf-rather-than-autoconf-to-regenerate-th.patch
|
||||||
|
* 0008-libacl-Make-sure-that-acl_from_text-always-sets-errn.patch
|
||||||
|
* 0009-libacl-fix-SIGSEGV-of-getfacl-e-on-overly-long-group.patch
|
||||||
|
* 0010-punt-debian-rpm-packaging-logic.patch
|
||||||
|
* 0011-move-gettext-logic-into-misc.h.patch
|
||||||
|
* 0012-test-make-running-parallel-out-of-tree-safe.patch
|
||||||
|
* 0013-modernize-build-system.patch
|
||||||
|
* 0014-po-regenerate-files-after-move.patch
|
||||||
|
* 0015-build-drop-aclincludedir-use-pkgincludedir.patch
|
||||||
|
* 0016-build-make-use-of-an-aux-dir-to-stow-away-helper-scr.patch
|
||||||
|
* 0017-build-ship-a-pkgconfig-file-for-libacl.patch
|
||||||
|
* 0018-read_acl_-comments-seq-rename-line-to-lineno.patch
|
||||||
|
* 0019-read_acl_-comments-seq-switch-to-next_line.patch
|
||||||
|
* 0020-telldir-return-value-and-seekdir-second-parameters-a.patch
|
||||||
|
* 0021-mark-libmisc-funcs-as-hidden-so-they-are-not-exporte.patch
|
||||||
|
* 0022-add-__acl_-prefixes-to-internal-symbols.patch
|
||||||
|
* 0023-cp.test-Check-permissions-of-the-right-file.patch
|
||||||
|
* 0024-libacl-acl_set_file-Remove-unnecesary-racy-check.patch
|
||||||
|
* 0025-fix-compilation-with-latest-xattr-git.patch
|
||||||
|
* 0026-getfacl-Fix-memory-leak.patch
|
||||||
|
* 0027-Fix-the-display-block-nesting-in-acl.5.patch
|
||||||
|
* 0028-setfacl-man-page-Minor-wording-improvements.patch
|
||||||
|
* 0029-getfacl-Fix-minor-resource-leak.patch
|
||||||
|
* 0030-Do-not-export-symbols-that-are-not-supposed-to-be-ex.patch
|
||||||
|
* 0031-walk_tree-mark-internal-variables-as-static.patch
|
||||||
|
* 0032-ignore-configure.lineno.patch
|
||||||
|
- Signficant spec file restructuring due to 0013-modernize-build-system.patch
|
||||||
|
-------------------------------------------------------------------
|
||||||
Tue Sep 23 15:32:17 UTC 2014 - jengelh@inai.de
|
Tue Sep 23 15:32:17 UTC 2014 - jengelh@inai.de
|
||||||
|
|
||||||
- Reduce size of filelist by using wildcards;
|
- Reduce size of filelist by using wildcards;
|
||||||
|
119
acl.spec
119
acl.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package acl
|
# spec file for package acl
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -27,15 +27,57 @@ Url: http://download.savannah.gnu.org/releases-noredirect/acl/
|
|||||||
|
|
||||||
#Git-Web: http://git.savannah.gnu.org/cgit/acl.git/
|
#Git-Web: http://git.savannah.gnu.org/cgit/acl.git/
|
||||||
#Git-Clone: git://git.sv.gnu.org/acl
|
#Git-Clone: git://git.sv.gnu.org/acl
|
||||||
Source: http://download.savannah.gnu.org/releases-noredirect/acl/%name-%version.src.tar.gz
|
# Source is generated by git-archive v2.2.52 so that the subsequent commits
|
||||||
Source1: http://download.savannah.gnu.org/releases-noredirect/acl/%name-%version.src.tar.gz.sig
|
# apply cleanly.
|
||||||
|
Source: %name-%version.tar.bz2
|
||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
# http://savannah.nongnu.org/project/memberlist-gpgkeys.php?group=acl
|
# http://savannah.nongnu.org/project/memberlist-gpgkeys.php?group=acl
|
||||||
Source3: %name.keyring
|
Source3: %name.keyring
|
||||||
Patch0: builddefs.in.diff
|
|
||||||
Patch2: 0001-Use-OS-byteswapping-macros.patch
|
# Upstream changes since v2.2.52
|
||||||
Patch3: acl-2.2.52-tests.patch
|
Patch1: 0001-Install-the-libraries-to-the-appropriate-directory.patch
|
||||||
|
Patch2: 0002-setfacl.1-fix-typo-inclu-de-include.patch
|
||||||
|
Patch3: 0003-test-fix-insufficient-quoting-of.patch
|
||||||
|
Patch4: 0004-Makefile-rename-configure.in-to-configure.ac.patch
|
||||||
|
Patch5: 0005-Bad-markup-in-acl.5-page.patch
|
||||||
|
Patch6: 0006-.gitignore-ignore-and-config.h.in.patch
|
||||||
|
Patch7: 0007-Use-autoreconf-rather-than-autoconf-to-regenerate-th.patch
|
||||||
|
Patch8: 0008-libacl-Make-sure-that-acl_from_text-always-sets-errn.patch
|
||||||
|
Patch9: 0009-libacl-fix-SIGSEGV-of-getfacl-e-on-overly-long-group.patch
|
||||||
|
Patch10: 0010-punt-debian-rpm-packaging-logic.patch
|
||||||
|
Patch11: 0011-move-gettext-logic-into-misc.h.patch
|
||||||
|
Patch12: 0012-test-make-running-parallel-out-of-tree-safe.patch
|
||||||
|
Patch13: 0013-modernize-build-system.patch
|
||||||
|
Patch14: 0014-po-regenerate-files-after-move.patch
|
||||||
|
Patch15: 0015-build-drop-aclincludedir-use-pkgincludedir.patch
|
||||||
|
Patch16: 0016-build-make-use-of-an-aux-dir-to-stow-away-helper-scr.patch
|
||||||
|
Patch17: 0017-build-ship-a-pkgconfig-file-for-libacl.patch
|
||||||
|
Patch18: 0018-read_acl_-comments-seq-rename-line-to-lineno.patch
|
||||||
|
Patch19: 0019-read_acl_-comments-seq-switch-to-next_line.patch
|
||||||
|
Patch20: 0020-telldir-return-value-and-seekdir-second-parameters-a.patch
|
||||||
|
Patch21: 0021-mark-libmisc-funcs-as-hidden-so-they-are-not-exporte.patch
|
||||||
|
Patch22: 0022-add-__acl_-prefixes-to-internal-symbols.patch
|
||||||
|
Patch23: 0023-cp.test-Check-permissions-of-the-right-file.patch
|
||||||
|
Patch24: 0024-libacl-acl_set_file-Remove-unnecesary-racy-check.patch
|
||||||
|
Patch25: 0025-fix-compilation-with-latest-xattr-git.patch
|
||||||
|
Patch26: 0026-getfacl-Fix-memory-leak.patch
|
||||||
|
Patch27: 0027-Fix-the-display-block-nesting-in-acl.5.patch
|
||||||
|
Patch28: 0028-setfacl-man-page-Minor-wording-improvements.patch
|
||||||
|
Patch29: 0029-getfacl-Fix-minor-resource-leak.patch
|
||||||
|
Patch30: 0030-Do-not-export-symbols-that-are-not-supposed-to-be-ex.patch
|
||||||
|
Patch31: 0031-walk_tree-mark-internal-variables-as-static.patch
|
||||||
|
Patch32: 0032-ignore-configure.lineno.patch
|
||||||
|
|
||||||
|
# Local changes
|
||||||
|
Patch100: 0001-Use-OS-byteswapping-macros.patch
|
||||||
|
Patch101: acl-2.2.52-tests.patch
|
||||||
|
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: gettext-tools
|
||||||
BuildRequires: libattr-devel
|
BuildRequires: libattr-devel
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: pkg-config
|
||||||
#BuildRequires: gpg-offline
|
#BuildRequires: gpg-offline
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
@ -80,47 +122,73 @@ to develop applications that require these.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n acl-%version
|
%setup -q -n acl-%version
|
||||||
%patch0 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
%patch6 -p1
|
||||||
|
%patch7 -p1
|
||||||
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
%patch10 -p1
|
||||||
|
%patch11 -p1
|
||||||
|
%patch12 -p1
|
||||||
|
%patch13 -p1
|
||||||
|
%patch14 -p1
|
||||||
|
%patch15 -p1
|
||||||
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
|
%patch18 -p1
|
||||||
|
%patch19 -p1
|
||||||
|
%patch20 -p1
|
||||||
|
%patch21 -p1
|
||||||
|
%patch22 -p1
|
||||||
|
%patch23 -p1
|
||||||
|
%patch24 -p1
|
||||||
|
%patch25 -p1
|
||||||
|
%patch26 -p1
|
||||||
|
%patch27 -p1
|
||||||
|
%patch28 -p1
|
||||||
|
%patch29 -p1
|
||||||
|
%patch30 -p1
|
||||||
|
%patch31 -p1
|
||||||
|
%patch32 -p1
|
||||||
|
|
||||||
|
%patch100 -p1
|
||||||
|
%patch101 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
chmod a+x po/update-potfiles
|
||||||
|
sh autogen.sh
|
||||||
export OPTIMIZER="$RPM_OPT_FLAGS -fPIC"
|
export OPTIMIZER="$RPM_OPT_FLAGS -fPIC"
|
||||||
export DEBUG=-DNDEBUG
|
export DEBUG=-DNDEBUG
|
||||||
CFLAGS="$RPM_OPT_FLAGS"
|
CFLAGS="$RPM_OPT_FLAGS"
|
||||||
%configure \
|
%configure \
|
||||||
--prefix=/ \
|
--prefix=/usr \
|
||||||
--exec-prefix=/ \
|
--exec-prefix=/usr \
|
||||||
--sbindir=/bin \
|
|
||||||
--libdir=/%{_lib} \
|
--libdir=/%{_lib} \
|
||||||
--libexecdir=/%{_lib} \
|
--libexecdir=/%{_lib} \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
|
--docdir=%{_defaultdocdir}/%{name} \
|
||||||
--with-pic
|
--with-pic
|
||||||
%{__make} %{?_smp_mflags}
|
%{__make} %{?_smp_mflags}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
if ./setfacl/setfacl -m u:`id -u`:rwx .; then
|
if ./setfacl -m u:`id -u`:rwx .; then
|
||||||
make tests || exit $?
|
make check || (cat test-suite.log ; false)
|
||||||
if test 0 = `id -u`; then
|
|
||||||
make root-tests || exit $?
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo '*** ACLs are probably not supported by the file system,' \
|
echo '*** ACLs are probably not supported by the file system,' \
|
||||||
'the test-suite will NOT run ***'
|
'the test-suite will NOT run ***'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%install
|
%install
|
||||||
DIST_ROOT="$RPM_BUILD_ROOT"
|
%make_install
|
||||||
DIST_INSTALL=`pwd`/install.manifest
|
%{__mkdir_p} %buildroot%{_libdir}
|
||||||
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"
|
|
||||||
%{__mkdir_p} %{buildroot}%{_libdir}
|
|
||||||
%{__ln_s} -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/lib%{name}.so) %{buildroot}%{_libdir}/lib%{name}.so
|
%{__ln_s} -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/lib%{name}.so) %{buildroot}%{_libdir}/lib%{name}.so
|
||||||
%{__rm} -v %{buildroot}/%{_lib}/lib%{name}.{la,so}
|
%{__rm} -v %{buildroot}/%{_lib}/lib%{name}.{la,so}
|
||||||
|
# The library stays in /lib* but the pkgconfig file needs to go under /usr
|
||||||
|
mv -f %{buildroot}/%{_lib}/pkgconfig/ %{buildroot}%{_libdir}
|
||||||
%find_lang %name
|
%find_lang %name
|
||||||
|
|
||||||
%post -n %lname -p /sbin/ldconfig
|
%post -n %lname -p /sbin/ldconfig
|
||||||
@ -142,6 +210,7 @@ export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV DIST_INSTALL_LIB
|
|||||||
%_includedir/sys/acl.h
|
%_includedir/sys/acl.h
|
||||||
%_libdir/libacl.so
|
%_libdir/libacl.so
|
||||||
%_mandir/man3/*.3*
|
%_mandir/man3/*.3*
|
||||||
|
%_libdir/pkgconfig/libacl.pc
|
||||||
|
|
||||||
%files -n %lname
|
%files -n %lname
|
||||||
%defattr(755,root,root,755)
|
%defattr(755,root,root,755)
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
Index: acl-2.2.45/include/builddefs.in
|
|
||||||
===================================================================
|
|
||||||
--- acl-2.2.45.orig/include/builddefs.in
|
|
||||||
+++ acl-2.2.45/include/builddefs.in
|
|
||||||
@@ -33,7 +33,7 @@ PKG_LIB_DIR = @libdir@@libdirsuffix@
|
|
||||||
PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
|
|
||||||
PKG_INC_DIR = @includedir@
|
|
||||||
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@
|
|
Loading…
Reference in New Issue
Block a user