Accepting request 641156 from home:jeff_mahoney:branches:Base:System
- Update to v2.2.53. - Removed patches: * 0001-Install-the-libraries-to-the-appropriate-directory.patch * 0001-Use-OS-byteswapping-macros.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 OBS-URL: https://build.opensuse.org/request/show/641156 OBS-URL: https://build.opensuse.org/package/show/Base:System/acl?expand=0&rev=57
This commit is contained in:
parent
bda5454aae
commit
f1c431d2a8
@ -1,25 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
|||||||
From 100baaf89cdcb01a1c8d4b05782d7fba56813f96 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
|
||||||
Date: Wed, 26 Dec 2012 15:16:40 -0300
|
|
||||||
Subject: [PATCH] Use OS byteswapping macros
|
|
||||||
|
|
||||||
while the code already includes "endian.h" it goes ahead
|
|
||||||
redefining byteswapping routines, thus defeating the very purpose
|
|
||||||
of the header.
|
|
||||||
---
|
|
||||||
libacl/byteorder.h | 25 ++++++++-----------------
|
|
||||||
1 file changed, 8 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libacl/byteorder.h b/libacl/byteorder.h
|
|
||||||
index 05f5d87..65c87f3 100644
|
|
||||||
--- a/libacl/byteorder.h
|
|
||||||
+++ b/libacl/byteorder.h
|
|
||||||
@@ -17,21 +17,12 @@
|
|
||||||
|
|
||||||
#include <endian.h>
|
|
||||||
|
|
||||||
-#if __BYTE_ORDER == __BIG_ENDIAN
|
|
||||||
-# define cpu_to_le16(w16) le16_to_cpu(w16)
|
|
||||||
-# define le16_to_cpu(w16) ((u_int16_t)((u_int16_t)(w16) >> 8) | \
|
|
||||||
- (u_int16_t)((u_int16_t)(w16) << 8))
|
|
||||||
-# define cpu_to_le32(w32) le32_to_cpu(w32)
|
|
||||||
-# define le32_to_cpu(w32) ((u_int32_t)( (u_int32_t)(w32) >>24) | \
|
|
||||||
- (u_int32_t)(((u_int32_t)(w32) >> 8) & 0xFF00) | \
|
|
||||||
- (u_int32_t)(((u_int32_t)(w32) << 8) & 0xFF0000) | \
|
|
||||||
- (u_int32_t)( (u_int32_t)(w32) <<24))
|
|
||||||
-#elif __BYTE_ORDER == __LITTLE_ENDIAN
|
|
||||||
-# define cpu_to_le16(w16) ((u_int16_t)(w16))
|
|
||||||
-# define le16_to_cpu(w16) ((u_int16_t)(w16))
|
|
||||||
-# define cpu_to_le32(w32) ((u_int32_t)(w32))
|
|
||||||
-# define le32_to_cpu(w32) ((u_int32_t)(w32))
|
|
||||||
-#else
|
|
||||||
-# error unknown endianess?
|
|
||||||
-#endif
|
|
||||||
+# define cpu_to_le16(w16) htole16(w16)
|
|
||||||
+
|
|
||||||
+# define le16_to_cpu(w16) le16toh(w16)
|
|
||||||
+
|
|
||||||
+# define cpu_to_le32(w32) htole32(w32)
|
|
||||||
+
|
|
||||||
+# define le32_to_cpu(w32) le32toh(w32)
|
|
||||||
+
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.0.2
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,180 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,157 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,41 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,89 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,309 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,236 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
|||||||
From cfd9ba83811189d9e12c86d32b06b5fd15b5f358 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Mon, 20 May 2013 13:49:34 +0200
|
|
||||||
Subject: [PATCH 1/2] make the tests ready for SELinux
|
|
||||||
|
|
||||||
---
|
|
||||||
test/root/permissions.test | 8 ++++----
|
|
||||||
test/root/restore.test | 2 +-
|
|
||||||
test/root/setfacl.test | 2 +-
|
|
||||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
Index: acl-2.2.52/test/root/permissions.test
|
|
||||||
===================================================================
|
|
||||||
--- acl-2.2.52.orig/test/root/permissions.test
|
|
||||||
+++ acl-2.2.52/test/root/permissions.test
|
|
||||||
@@ -19,7 +19,7 @@ defined permissions.
|
|
||||||
$ cd d
|
|
||||||
$ umask 027
|
|
||||||
$ touch f
|
|
||||||
- $ ls -l f | awk -- '{ print $1, $3, $4 }'
|
|
||||||
+ $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
|
|
||||||
> -rw-r----- root root
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ Now, change the ownership of the file to
|
|
||||||
gives user bin write access.
|
|
||||||
|
|
||||||
$ chown bin:bin f
|
|
||||||
- $ ls -l f | awk -- '{ print $1, $3, $4 }'
|
|
||||||
+ $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
|
|
||||||
> -rw-r----- bin bin
|
|
||||||
$ su bin
|
|
||||||
$ echo bin >> f
|
|
||||||
@@ -256,12 +256,12 @@ directories if the file has an ACL and o
|
|
||||||
$ mkdir -m 600 x
|
|
||||||
$ chown daemon:daemon x
|
|
||||||
$ echo j > x/j
|
|
||||||
- $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
|
|
||||||
+ $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
|
|
||||||
> -rw-r----- root root
|
|
||||||
|
|
||||||
$ setfacl -m u:daemon:r x
|
|
||||||
|
|
||||||
- $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
|
|
||||||
+ $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
|
|
||||||
> -rw-r----- root root
|
|
||||||
(With the bug this gives: `ls: x/j: Permission denied'.)
|
|
||||||
|
|
||||||
Index: acl-2.2.52/test/root/restore.test
|
|
||||||
===================================================================
|
|
||||||
--- acl-2.2.52.orig/test/root/restore.test
|
|
||||||
+++ acl-2.2.52/test/root/restore.test
|
|
||||||
@@ -21,7 +21,7 @@ Cry immediately if we are not running as
|
|
||||||
$ chown bin passwd
|
|
||||||
$ chmod u+s passwd
|
|
||||||
$ setfacl --restore passwd.acl
|
|
||||||
- $ ls -dl passwd | awk '{print $1 " " $3 " " $4}'
|
|
||||||
+ $ ls -dl passwd | awk '{print $1 " " $3 " " $4}' | sed 's/\\. root/ root/'
|
|
||||||
> -rwsr-xr-x root root
|
|
||||||
|
|
||||||
$ rm passwd passwd.acl
|
|
||||||
Index: acl-2.2.52/test/root/setfacl.test
|
|
||||||
===================================================================
|
|
||||||
--- acl-2.2.52.orig/test/root/setfacl.test
|
|
||||||
+++ acl-2.2.52/test/root/setfacl.test
|
|
||||||
@@ -12,7 +12,7 @@ Cry immediately if we are not running as
|
|
||||||
$ sg bin
|
|
||||||
$ umask 027
|
|
||||||
$ touch g
|
|
||||||
- $ ls -dl g | awk '{print $1}'
|
|
||||||
+ $ ls -dl g | awk '{print $1}' | sed 's/\\.$//'
|
|
||||||
> -rw-r-----
|
|
||||||
|
|
||||||
$ setfacl -m m:- g
|
|
||||||
Index: acl-2.2.52/test/run
|
|
||||||
===================================================================
|
|
||||||
--- acl-2.2.52.orig/test/run
|
|
||||||
+++ acl-2.2.52/test/run
|
|
||||||
@@ -92,7 +92,7 @@ for (;;) {
|
|
||||||
if (defined $line) {
|
|
||||||
# Substitute %VAR and %{VAR} with environment variables.
|
|
||||||
$line =~ s[%(\w+)][$ENV{$1}]eg;
|
|
||||||
- $line =~ s[%{(\w+)}][$ENV{$1}]eg;
|
|
||||||
+ $line =~ s[%\{(\w+)}][$ENV{$1}]eg;
|
|
||||||
}
|
|
||||||
if (defined $line) {
|
|
||||||
if ($line =~ s/^\s*< ?//) {
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:d7c876ebe03ea7fcadbccc045accf73366345112ad6b7e70a90916d86bb8f262
|
|
||||||
size 108250
|
|
BIN
acl-2.2.53.tar.gz.sig
Normal file
BIN
acl-2.2.53.tar.gz.sig
Normal file
Binary file not shown.
3
acl-2.2.53.tar.xz
Normal file
3
acl-2.2.53.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:503e2ff755b663535f2407184b8b304998f69cee214f352f28b363dced74a01a
|
||||||
|
size 94172
|
40
acl.changes
40
acl.changes
@ -1,3 +1,43 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 11 02:59:31 UTC 2018 - jeffm@suse.com
|
||||||
|
|
||||||
|
- Update to v2.2.53.
|
||||||
|
- Removed patches:
|
||||||
|
* 0001-Install-the-libraries-to-the-appropriate-directory.patch
|
||||||
|
* 0001-Use-OS-byteswapping-macros.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
|
||||||
|
* acl-2.2.52-tests.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Sep 24 08:30:07 UTC 2017 - coolo@suse.com
|
Sun Sep 24 08:30:07 UTC 2017 - coolo@suse.com
|
||||||
|
|
||||||
|
1465
acl.keyring
1465
acl.keyring
File diff suppressed because it is too large
Load Diff
86
acl.spec
86
acl.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package acl
|
# spec file for package acl
|
||||||
#
|
#
|
||||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2018 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
|
||||||
@ -22,59 +22,22 @@
|
|||||||
Name: acl
|
Name: acl
|
||||||
%define lname libacl1
|
%define lname libacl1
|
||||||
Summary: Commands for Manipulating POSIX Access Control Lists
|
Summary: Commands for Manipulating POSIX Access Control Lists
|
||||||
License: GPL-2.0+ and LGPL-2.1+
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
Group: System/Filesystems
|
Group: System/Filesystems
|
||||||
Version: 2.2.52
|
Version: 2.2.53
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://download.savannah.gnu.org/releases-noredirect/acl/
|
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 is generated by git-archive v2.2.52 so that the subsequent commits
|
# Source is generated by git-archive v2.2.53 so that the subsequent commits
|
||||||
# apply cleanly.
|
# apply cleanly.
|
||||||
Source: %name-%version.tar.bz2
|
Source: %name-%version.tar.xz
|
||||||
|
Source1: %name-%version.tar.gz.sig
|
||||||
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
|
||||||
|
|
||||||
# Upstream changes since v2.2.52
|
|
||||||
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: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gettext-tools-mini
|
BuildRequires: gettext-tools-mini
|
||||||
@ -85,7 +48,7 @@ BuildRequires: pkg-config
|
|||||||
BuildRequires: system-user-bin
|
BuildRequires: system-user-bin
|
||||||
BuildRequires: system-user-daemon
|
BuildRequires: system-user-daemon
|
||||||
%endif
|
%endif
|
||||||
#BuildRequires: gpg-offline
|
BuildRequires: xz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -129,41 +92,6 @@ to develop applications that require these.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n acl-%version
|
%setup -q -n acl-%version
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -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
|
chmod a+x po/update-potfiles
|
||||||
|
Loading…
Reference in New Issue
Block a user