Compare commits

...

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

6 changed files with 73 additions and 235 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/nfs4-acl-tools-0.3.5.tar.gz
SOURCES/nfs4-acl-tools-0.4.2.tar.gz

View File

@ -1 +1 @@
07e075ee51921ecb7529840919d62170a28b8762 SOURCES/nfs4-acl-tools-0.3.5.tar.gz
9ca3d1e11ccfe372c99f2fbe0398806d814fa285 SOURCES/nfs4-acl-tools-0.4.2.tar.gz

View File

@ -1,76 +0,0 @@
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

@ -1,135 +0,0 @@
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

@ -0,0 +1,25 @@
commit ea0d882fa8c226ac27be4651f9550aa17d75462a
Author: Steve Dickson <steved@redhat.com>
Date: Mon Nov 21 14:07:58 2022 -0500
nfs4_getfacl: Initialize acl pointer to NULL
nfs4_getfacl.c: scope_hint: In function 'print_acl_from_path'
nfs4_getfacl.c:168:17: warning[-Wmaybe-uninitialized]:
'acl' may be used uninitialized in this function
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/nfs4_getfacl/nfs4_getfacl.c b/nfs4_getfacl/nfs4_getfacl.c
index 954cf7e..ddb3005 100644
--- a/nfs4_getfacl/nfs4_getfacl.c
+++ b/nfs4_getfacl/nfs4_getfacl.c
@@ -148,7 +148,7 @@ out:
static void print_acl_from_path(const char *fpath, enum acl_type type)
{
- struct nfs4_acl *acl;
+ struct nfs4_acl *acl = NULL;
switch (type) {
case ACL_TYPE_ACL:

View File

@ -1,17 +1,16 @@
Name: nfs4-acl-tools
Version: 0.3.5
Version: 0.4.2
Release: 3%{?dist}
Summary: The nfs4 ACL tools
Group: Applications/System
License: BSD
URL: http://git.linux-nfs.org/?p=bfields/nfs4-acl-tools.git;a=summary
Source0: http://linux-nfs.org/~bfields/nfs4-acl-tools/%{name}-%{version}.tar.gz
BuildRequires: make
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
Patch01: nfs4-acl-tools-0.4.2-acl-ptr-null.patch
%description
This package contains commandline ACL utilities for the Linux
@ -31,11 +30,7 @@ NFSv4 client.
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc COPYING INSTALL README TODO VERSION
%{_bindir}/nfs4_editfacl
%{_bindir}/nfs4_getfacl
@ -44,25 +39,54 @@ 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 Feb 21 2024 Pavel Reichl <preichl@redhat.com> - 0.4.2-3
- Prepare gating tests (rhel-26256)
* 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)
* Tue Jun 6 2023 Steve Dickson <steved@redhat.com> - 0.4.2-2
- Rebuild: nfs4_getfacl: Initialize acl pointer to NULL (bz 2144829)
* Wed Jul 17 2019 Steve Dickson <steved@redhat.com> 0.3.5-1
- Gating tests: run tests from tests namespace (bz 1681966)
* Mon Feb 13 2023 Steve Dickson <steved@redhat.com> - 0.4.2-1
- nfs4_getfacl: Initialize acl pointer to NULL (bz 2144829)
* Sat Oct 6 2018 Steve Dickson <steved@redhat.com> 0.3.5-0
- Updated to the latest upstream release: 0.3.5 (bz 1630606)
* Tue Nov 15 2022 Steve Dickson <steved@redhat.com> - 0.4.2-0
- Updated to the latest upstream release: nfs4-acl-tools-0.4.2 (bz 2059052)
* Tue Sep 18 2018 Troy Dawson <tdawson@redhat.com> - 0.3.4-1
- Remove gui which was still a proof of concept
- Resolves: bug#1542228
* Wed Aug 18 2021 Steve Dickson <steved@redhat.com> - 0.3.5-8
- nfs4_setfacl: Skip comment field while reading ACE(s) (bz 1970815)
* Tue Aug 14 2018 Steve Dickson <steved@redhat.com> 0.3.4-0
- Updated to the latest upstream release: 0.3.4 (bz 1602029)
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.5-7
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.5-6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Oct 6 2018 Steve Dickson <steved@redhat.com> - 0.3.5-0
- Updated to the latest upstream release: 0.3.5
* Sat Aug 4 2018 Steve Dickson <steved@redhat.com> - 0.3.4-0
- Updated to latest upstream release: 0.3.4
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.3-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.3-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.3-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild