import nfs4-acl-tools-0.3.5-3.el8

This commit is contained in:
CentOS Sources 2019-11-05 17:01:16 -05:00 committed by Andrew Lukoshko
parent 21f27579ae
commit 81039571a5
3 changed files with 226 additions and 2 deletions

View File

@ -0,0 +1,76 @@
diff -up nfs4-acl-tools-0.3.5/man/man1/nfs4_getfacl.1.orig nfs4-acl-tools-0.3.5/man/man1/nfs4_getfacl.1
--- nfs4-acl-tools-0.3.5/man/man1/nfs4_getfacl.1.orig 2018-08-21 12:07:51.000000000 -0400
+++ nfs4-acl-tools-0.3.5/man/man1/nfs4_getfacl.1 2019-07-17 13:21:14.920774997 -0400
@@ -28,6 +28,12 @@ flag is specified,
.B nfs4_getfacl
will list the NFSv4 ACLs of all files and directories recursively.
+If the
+.BR -c / --omit-header
+flag is specified,
+.B nfs4_getfacl
+will not display the comment header (Do not print filename).
+
The output format for an NFSv4 file ACL, e.g., is:
.RS
.nf
diff -up nfs4-acl-tools-0.3.5/nfs4_getfacl/nfs4_getfacl.c.orig nfs4-acl-tools-0.3.5/nfs4_getfacl/nfs4_getfacl.c
--- nfs4-acl-tools-0.3.5/nfs4_getfacl/nfs4_getfacl.c.orig 2019-07-17 13:23:47.030033107 -0400
+++ nfs4-acl-tools-0.3.5/nfs4_getfacl/nfs4_getfacl.c 2019-07-17 13:23:12.818750147 -0400
@@ -46,6 +46,7 @@ static void usage(int);
static void more_help();
static char *execname;
static void print_acl_from_path();
+static int ignore_comment = 0;
static int recursive(const char *fpath, const struct stat *sb, int tflag, struct FTW *ftwbuf)
{
@@ -57,6 +58,7 @@ static struct option long_options[] = {
{"more-help", 0, 0, 'H' },
{"help", 0, 0, 'h' },
{"recursive", 0, 0, 'R' },
+ {"omit-header", 0, 0, 'c'},
{ NULL, 0, 0, 0, },
};
@@ -73,7 +75,7 @@ int main(int argc, char **argv)
goto out;
}
- while ((opt = getopt_long(argc, argv, "HR?h", long_options, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "HR?hc", long_options, NULL)) != -1) {
switch(opt) {
case 'H':
more_help();
@@ -83,7 +85,9 @@ int main(int argc, char **argv)
case 'R':
do_recursive = 1;
break;
-
+ case 'c':
+ ignore_comment = 1;
+ break;
default:
usage(1);
res = 0;
@@ -115,8 +119,10 @@ static void print_acl_from_path(const ch
struct nfs4_acl *acl;
acl = nfs4_acl_for_path(fpath);
if (acl != NULL) {
- printf("\n# file: %s\n", fpath);
+ if (ignore_comment == 0)
+ printf("# file: %s\n", fpath);
nfs4_print_acl(stdout, acl);
+ printf("\n");
nfs4_free_acl(acl);
}
}
@@ -125,7 +131,7 @@ static void usage(int label)
{
if (label)
fprintf(stderr, "%s %s -- get NFSv4 file or directory access control lists.\n", execname, VERSION);
- fprintf(stderr, "Usage: %s [-R] file ...\n -H, --more-help\tdisplay ACL format information\n -?, -h, --help\tdisplay this help text\n -R --recursive\trecurse into subdirectories\n", execname);
+ fprintf(stderr, "Usage: %s [-R] file ...\n -H, --more-help\tdisplay ACL format information\n -?, -h, --help\tdisplay this help text\n -R --recursive\trecurse into subdirectories\n -c, --omit-header\tDo not display the comment header (Do not print filename)\n", execname);
}
static void more_help()

View File

@ -0,0 +1,135 @@
commit c9335db249eac09306a1432ebb2c4424bb30eb6f
Author: Paul B. Henson <henson@acm.org>
Date: Thu Aug 23 00:25:58 2018 +0000
Remove OWNER_AT, GROUP_AT, EVERYONE_AT flags
It's possible to set these bits using the "O", "G", and "E" in the flag
field on the commandline. The bits are not part of the protocol and
should not be sent or recieved. They have never been documented, and we
don't know why they were added in the first place.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
diff --git a/include/libacl_nfs4.h b/include/libacl_nfs4.h
index 654061c..d3786c3 100644
--- a/include/libacl_nfs4.h
+++ b/include/libacl_nfs4.h
@@ -54,9 +54,6 @@
#define FLAG_SUCCESSFUL_ACCESS 'S'
#define FLAG_FAILED_ACCESS 'F'
#define FLAG_GROUP 'g'
-#define FLAG_OWNER_AT 'O'
-#define FLAG_GROUP_AT 'G'
-#define FLAG_EVERYONE_AT 'E'
#define PERM_READ_DATA 'r'
#define PERM_WRITE_DATA 'w'
diff --git a/include/nfs4.h b/include/nfs4.h
index c6d5b62..da6eefb 100644
--- a/include/nfs4.h
+++ b/include/nfs4.h
@@ -62,9 +62,6 @@
#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010
#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG 0x00000020
#define NFS4_ACE_IDENTIFIER_GROUP 0x00000040
-#define NFS4_ACE_OWNER 0x00000080
-#define NFS4_ACE_GROUP 0x00000100
-#define NFS4_ACE_EVERYONE 0x00000200
#define NFS4_ACE_READ_DATA 0x00000001
#define NFS4_ACE_LIST_DIRECTORY 0x00000001
diff --git a/libnfs4acl/nfs4_ace_from_string.c b/libnfs4acl/nfs4_ace_from_string.c
index a7a3036..ab8401a 100644
--- a/libnfs4acl/nfs4_ace_from_string.c
+++ b/libnfs4acl/nfs4_ace_from_string.c
@@ -209,15 +209,6 @@ struct nfs4_ace * nfs4_ace_from_string(char *ace_buf, int is_dir)
case FLAG_GROUP:
flags |= NFS4_ACE_IDENTIFIER_GROUP;
break;
- case FLAG_OWNER_AT:
- flags |= NFS4_ACE_OWNER;
- break;
- case FLAG_GROUP_AT:
- flags |= NFS4_ACE_GROUP;
- break;
- case FLAG_EVERYONE_AT:
- flags |= NFS4_ACE_EVERYONE;
- break;
default:
fprintf(stderr,"Bad Ace Flag:%c\n", *field);
goto out_free;
diff --git a/libnfs4acl/nfs4_get_ace_flags.c b/libnfs4acl/nfs4_get_ace_flags.c
index 339a838..1d28ed4 100644
--- a/libnfs4acl/nfs4_get_ace_flags.c
+++ b/libnfs4acl/nfs4_get_ace_flags.c
@@ -53,12 +53,6 @@ char* nfs4_get_ace_flags(struct nfs4_ace *ace, char *buf)
*buf++ = FLAG_FAILED_ACCESS;;
if (flags & NFS4_ACE_IDENTIFIER_GROUP)
*buf++ = FLAG_GROUP;
- if (flags & NFS4_ACE_OWNER)
- *buf++ = FLAG_OWNER_AT;
- if (flags & NFS4_ACE_GROUP)
- *buf++ = FLAG_GROUP_AT;
- if (flags & NFS4_ACE_EVERYONE)
- *buf++ = FLAG_EVERYONE_AT;
*buf = '\0';
return bp;
diff --git a/libnfs4acl/nfs4_print_ace_verbose.c b/libnfs4acl/nfs4_print_ace_verbose.c
index de9b424..96a6573 100644
--- a/libnfs4acl/nfs4_print_ace_verbose.c
+++ b/libnfs4acl/nfs4_print_ace_verbose.c
@@ -131,12 +131,6 @@ int nfs4_print_ace_verbose(struct nfs4_ace * ace, u32 is_dir)
printf("\t\tNFS4_ACE_FAILED_ACCESS_ACE_FLAG\n");
if (flag & NFS4_ACE_IDENTIFIER_GROUP)
printf("\t\tNFS4_ACE_IDENTIFIER_GROUP\n");
- if (flag & NFS4_ACE_OWNER)
- printf("\t\tNFS4_ACE_OWNER\n");
- if (flag & NFS4_ACE_GROUP)
- printf("\t\tNFS4_ACE_GROUP\n");
- if (flag & NFS4_ACE_EVERYONE)
- printf("\t\tNFS4_ACE_EVERYONE\n");
mask = ace->access_mask;
commit 5236e718f0d5dfb9008d3afed64aa642ea38d32e
Author: Kenneth D'souza <kdsouza@redhat.com>
Date: Tue Mar 26 19:41:09 2019 +0530
nfs4_setfacl: Skip comment field while reading ACE(s).
With commit 6630629bb661a7f48fb9856f7fd9616ce1499efa an additional field for filename
was added due to which nfs4_setfacl failed to handle comments while reading ACE(s)
from nfs4_getfacl output.
This patch resolves the issue by skipping comment header.
With fix:
$ nfs4_setfacl --test -s "$(nfs4_getfacl file1)" file2
## Test mode only - the resulting ACL for "/test/file2":
A::OWNER@:rwatTcCy
A:g:GROUP@:rtcy
A::EVERYONE@:rtcy
Without fix:
$ nfs4_setfacl --test -s "$(nfs4_getfacl file1)" file2
Failed while inserting ACE(s).
Signed-off-by: Kenneth D'souza <kdsouza@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
diff --git a/libnfs4acl/nfs4_insert_string_aces.c b/libnfs4acl/nfs4_insert_string_aces.c
index 5a482d5..f93c3e9 100644
--- a/libnfs4acl/nfs4_insert_string_aces.c
+++ b/libnfs4acl/nfs4_insert_string_aces.c
@@ -48,6 +48,8 @@ int nfs4_insert_string_aces(struct nfs4_acl *acl, const char *acl_spec, unsigned
while ((ssp = strsep(&sp, ",\t\n\r")) != NULL) {
if (!strlen(ssp))
continue;
+ if (*ssp == '#')
+ continue;
if ((ace = nfs4_ace_from_string(ssp, acl->is_directory)) == NULL)
goto out_failed;

View File

@ -1,6 +1,6 @@
Name: nfs4-acl-tools
Version: 0.3.5
Release: 0%{?dist}
Release: 3%{?dist}
Summary: The nfs4 ACL tools
Group: Applications/System
License: BSD
@ -10,12 +10,15 @@ Source0: http://linux-nfs.org/~bfields/nfs4-acl-tools/%{name}-%{version}.
BuildRequires: libtool
BuildRequires: libattr-devel
Patch001: nfs4-acl-tools-0.3.5-c-option.patch
Patch002: nfs4-acl-tools-0.3.5-setfacl-skip-comment.patch
%description
This package contains commandline ACL utilities for the Linux
NFSv4 client.
%prep
%setup -q
%autosetup -p1
%build
%configure \
@ -41,6 +44,16 @@ rm -rf %{buildroot}
%{_mandir}/man5/*
%changelog
* Thu Jul 18 2019 Steve Dickson <steved@redhat.com> 0.3.5-2
Gating tests: add gating.yaml (bz 1681966)
* Wed Jul 17 2019 Steve Dickson <steved@redhat.com> 0.3.5-2
- nfs4_getfacl: Add new option -c/--omit-header (bz 1698281)
- nfs4_setfacl: Skip comment field while reading ACE(s) (bz 1687299)
* Wed Jul 17 2019 Steve Dickson <steved@redhat.com> 0.3.5-1
- Gating tests: run tests from tests namespace (bz 1681966)
* Sat Oct 6 2018 Steve Dickson <steved@redhat.com> 0.3.5-0
- Updated to the latest upstream release: 0.3.5 (bz 1630606)