One more update after the review in [1]. Patch is updated. [1] https://github.com/praiskup/tar/pull/3
Thanks, Pavel On Wednesday, November 24, 2021 4:06:38 PM CET Pavel Raiskup wrote: > Updated patch is attached (more appropriate place for the second chunk). > > Pavel > > On Wednesday, November 24, 2021 3:32:12 PM CET Pavel Raiskup wrote: > > * doc/tar.texi (Extended File Attributes): The default extraction > > pattern consists of just 'user.*' namespace only. While on it, try > > to explain the reasons for this default behavior. > > --- > > doc/tar.texi | 15 ++++++++++++--- > > 1 file changed, 12 insertions(+), 3 deletions(-) > > > > diff --git a/doc/tar.texi b/doc/tar.texi > > index 389a3448..e03ce3d4 100644 > > --- a/doc/tar.texi > > +++ b/doc/tar.texi > > @@ -5647,9 +5647,14 @@ Disable extended attributes support. This is the > > default. > > Attribute names are strings prefixed by a @dfn{namespace} name and a dot. > > Currently, four namespaces exist: @samp{user}, @samp{trusted}, > > @samp{security} and @samp{system}. By default, when @option{--xattr} > > -is used, all names are stored in the archive (or extracted, if using > > -@option{--extract}). This can be controlled using the following > > -options: > > +is used, all names are stored in the archive (with @option{--create}), > > +but only @samp{user} namespace is extracted (if using @option{--extract}). > > +The reason for this behavior is that any other, system defined attributes > > +don't provide us sufficient compatibility promise. Storing all attributes > > +is safe operation for the archiving purposes. Though extracting those > > +(often security related) attributes on a different system than originally > > +archived can lead to extraction failures, or even misinterpretations. > > +This behavior can be controlled using the following options: > > > > @table @option > > @item --xattrs-exclude=@var{pattern} > > @@ -5659,6 +5664,10 @@ Specify exclude pattern for extended attributes. > > Specify include pattern for extended attributes. > > @end table > > > > +Users shall manually check the attributes are binary compatible with the > > +target system first, before any other namespace is extracted with an > > +explicit @option{--xattr-include} option. > > + > > Here, the @var{pattern} is a globbing pattern. For example, the > > following command: > > > > > >
>From b48a2560096645a0927c8d35c64723a4139eaa62 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup <prais...@redhat.com> Date: Wed, 24 Nov 2021 14:42:07 +0100 Subject: [PATCH] Fix --xattr-include='*' documentation * doc/tar.texi (Extended File Attributes): The default extraction pattern consists of just 'user.*' namespace only. While on it, try to explain the reasons for this default behavior. --- doc/tar.texi | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/tar.texi b/doc/tar.texi index 389a3448..8de34728 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -5646,10 +5646,15 @@ Disable extended attributes support. This is the default. Attribute names are strings prefixed by a @dfn{namespace} name and a dot. Currently, four namespaces exist: @samp{user}, @samp{trusted}, -@samp{security} and @samp{system}. By default, when @option{--xattr} -is used, all names are stored in the archive (or extracted, if using -@option{--extract}). This can be controlled using the following -options: +@samp{security} and @samp{system}. By default, when @option{--xattrs} +is used, all names are stored in the archive (with @option{--create}), +but only @samp{user} namespace is extracted (if using @option{--extract}). +The reason for this behavior is that any other, system defined attributes +don't provide us sufficient compatibility promise. Storing all attributes +is safe operation for the archiving purposes. Though extracting those +(often security related) attributes on a different system than originally +archived can lead to extraction failures, or even misinterpretations. +This behavior can be controlled using the following options: @table @option @item --xattrs-exclude=@var{pattern} @@ -5669,6 +5674,10 @@ $ @kbd{tar --xattrs --xattrs-exclude='user.*' -c a.tar .} will include in the archive @file{a.tar} all attributes, except those from the @samp{user} namespace. +Users shall check the attributes are binary compatible with the target system +before any other namespace is extracted with an explicit +@option{--xattrs-include} option. + Any number of these options can be given, thereby creating lists of include and exclude patterns. -- 2.33.1