Thanks for taking care of this. On Wed, Apr 10, 2019 at 2:20 AM J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > Applied, with some fixes: > > On Tue, Mar 26, 2019 at 07:41:09PM +0530, Kenneth D'souza wrote: > > 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 > > Skipping comment # file: file1 > > Just skip it silently, there's not need to print anything. > > > ## 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@xxxxxxxxxx> > > --- > > libnfs4acl/nfs4_insert_string_aces.c | 16 ++++++++++------ > > 1 file changed, 10 insertions(+), 6 deletions(-) > > > > diff --git a/libnfs4acl/nfs4_insert_string_aces.c b/libnfs4acl/nfs4_insert_string_aces.c > > index 5a482d5..50b7bbf 100644 > > --- a/libnfs4acl/nfs4_insert_string_aces.c > > +++ b/libnfs4acl/nfs4_insert_string_aces.c > > @@ -45,21 +45,25 @@ int nfs4_insert_string_aces(struct nfs4_acl *acl, const char *acl_spec, unsigned > > if ((s = sp = strdup(acl_spec)) == NULL) > > goto out_failed; > > > > + > > while ((ssp = strsep(&sp, ",\t\n\r")) != NULL) { > > if (!strlen(ssp)) > > continue; > > > > - if ((ace = nfs4_ace_from_string(ssp, acl->is_directory)) == NULL) > > - goto out_failed; > > + if(*ssp == '#') > > + printf("Skipping comment %s\n", ssp); > > So let's just do a "continue" here, as above. Also notice we usually > leave a space after "if". > > --b. > > > + else { > > + if ((ace = nfs4_ace_from_string(ssp, acl->is_directory)) == NULL) > > + goto out_failed; > > > > - if (nfs4_insert_ace_at(acl, ace, index++)) { > > - free(ace); > > - goto out_failed; > > + if (nfs4_insert_ace_at(acl, ace, index++)) { > > + free(ace); > > + goto out_failed; > > + } > > } > > } > > if (acl->naces == 0) > > goto out_failed; > > - > > out: > > if (s) > > free(s); > > -- > > 2.20.1