rpms/tar/FC-6 tar-1.15.1-xattrs.patch,1.5,1.6 tar.spec,1.53,1.54

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Jan 11 12:02:28 UTC 2007


Author: pvrabec

Update of /cvs/dist/rpms/tar/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv18467

Modified Files:
	tar-1.15.1-xattrs.patch tar.spec 
Log Message:
- Fix default ACLs on files problem. Header fixes. root => trusted.
- Fix NIL termination for ACLs.
- Fix star/POSIX compat. for ACLs
- Resolves: #221971


tar-1.15.1-xattrs.patch:
 Makefile.in         |   24 +
 aclocal.m4          |  386 +++++++------------------
 config.hin          |   45 ++
 config/config.guess |  141 +++------
 config/config.sub   |  111 +------
 configure           |  790 +++++++++++++++++++++++++++++++++++++++++++++++++---
 configure.ac        |    9 
 doc/Makefile.in     |   17 -
 doc/header.texi     |   22 +
 doc/stamp-vti       |    4 
 doc/tar.info        |  409 +++++++++++++++-----------
 doc/tar.texi        |   47 +++
 doc/version.texi    |    4 
 lib/Makefile.in     |    6 
 lib/localedir.h     |    2 
 rmt/Makefile.in     |    9 
 scripts/Makefile.in |   10 
 src/Makefile.am     |    7 
 src/Makefile.in     |   23 -
 src/common.h        |   24 +
 src/create.c        |   36 ++
 src/extract.c       |  124 ++++++--
 src/list.c          |    7 
 src/misc.c          |    4 
 src/tar.c           |   80 +++++
 src/tar.h           |   22 +
 src/xattrs.c        |  457 ++++++++++++++++++++++++++++++
 src/xattrs.h        |   14 
 src/xheader.c       |  327 +++++++++++++++++----
 tests/Makefile.in   |    6 
 30 files changed, 2370 insertions(+), 797 deletions(-)

Index: tar-1.15.1-xattrs.patch
===================================================================
RCS file: /cvs/dist/rpms/tar/FC-6/tar-1.15.1-xattrs.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- tar-1.15.1-xattrs.patch	3 Jan 2007 09:44:08 -0000	1.5
+++ tar-1.15.1-xattrs.patch	11 Jan 2007 12:02:25 -0000	1.6
@@ -1,5 +1,5 @@
 --- tar-1.15.1/config/config.sub.xattrs	2004-12-15 09:55:00.000000000 +0100
-+++ tar-1.15.1/config/config.sub	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/config/config.sub	2007-01-11 11:39:22.000000000 +0100
 @@ -1,9 +1,9 @@
  #! /bin/sh
  # Configuration validation subroutine script.
@@ -334,7 +334,7 @@
  				vendor=wrs
  				;;
 --- tar-1.15.1/config/config.guess.xattrs	2004-12-15 09:55:00.000000000 +0100
-+++ tar-1.15.1/config/config.guess	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/config/config.guess	2007-01-11 11:39:22.000000000 +0100
 @@ -1,9 +1,9 @@
  #! /bin/sh
  # Attempt to guess a canonical system name.
@@ -669,7 +669,7 @@
  
  #echo '(No uname command or uname output not recognized.)' 1>&2
 --- tar-1.15.1/tests/Makefile.in.xattrs	2004-12-21 14:31:03.000000000 +0100
-+++ tar-1.15.1/tests/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/tests/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -691,7 +691,7 @@
  top_srcdir = @top_srcdir@
  VPATH = @srcdir@
 --- tar-1.15.1/doc/tar.texi.xattrs	2004-12-18 20:20:19.000000000 +0100
-+++ tar-1.15.1/doc/tar.texi	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/doc/tar.texi	2007-01-11 11:39:22.000000000 +0100
 @@ -7012,6 +7012,8 @@
  Notice, that currently @acronym{GNU} extensions are not
  allowed with this format. Following is the list of options that
@@ -721,7 +721,7 @@
 + at opindex xattrs
 + at item --xattrs
 +This option causes @command{tar} to store each file's extended attributes in
-+the archive. This option also enables @option{--acls} and @option{--selinux} if they haven't been set already, due to the fact that the data for those are
++the archive. This option also enables @option{--acls} and @option{--selinux} if+they haven't been set already, due to the fact that the data for those are
 +stored in special xattrs.
 +
 +The @option{--xattrs} option has no equivalent short option name.
@@ -745,7 +745,7 @@
 + at item --no-xattrs
 +This option causes @command{tar} not to store each file's extended attributes in
 +the archive and not to extract any extended attributes in an archive. This
-+option also enables @option{--no-acls} and @option{--no-selinux} if
++option also enables @option{--acls} and @option{--selinux} if
 +they haven't been set already.
 +
 +The @option{--xattrs} option has no equivalent short option name.
@@ -754,7 +754,7 @@
  
  @node Standard
 --- tar-1.15.1/doc/Makefile.in.xattrs	2004-12-21 14:30:58.000000000 +0100
-+++ tar-1.15.1/doc/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/doc/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -804,7 +804,7 @@
  	   else :; fi); \
  	done
 --- tar-1.15.1/doc/header.texi.xattrs	2004-04-04 11:53:48.000000000 +0200
-+++ tar-1.15.1/doc/header.texi	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/doc/header.texi	2007-01-11 11:39:22.000000000 +0100
 @@ -265,6 +265,14 @@
      size_t numbytes;
    @};
@@ -849,7 +849,7 @@
  
  union block
 --- tar-1.15.1/doc/stamp-vti.xattrs	2004-12-21 14:33:12.000000000 +0100
-+++ tar-1.15.1/doc/stamp-vti	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/doc/stamp-vti	2007-01-11 11:39:22.000000000 +0100
 @@ -1,4 +1,4 @@
 - at set UPDATED 18 December 2004
 - at set UPDATED-MONTH December 2004
@@ -858,7 +858,7 @@
  @set EDITION 1.15.1
  @set VERSION 1.15.1
 --- tar-1.15.1/doc/version.texi.xattrs	2004-12-21 14:03:18.000000000 +0100
-+++ tar-1.15.1/doc/version.texi	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/doc/version.texi	2007-01-11 11:39:22.000000000 +0100
 @@ -1,4 +1,4 @@
 - at set UPDATED 18 December 2004
 - at set UPDATED-MONTH December 2004
@@ -867,7 +867,7 @@
  @set EDITION 1.15.1
  @set VERSION 1.15.1
 --- tar-1.15.1/doc/tar.info.xattrs	2004-12-21 14:03:19.000000000 +0100
-+++ tar-1.15.1/doc/tar.info	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/doc/tar.info	2007-01-11 11:39:22.000000000 +0100
 @@ -1,6 +1,6 @@
 -This is tar.info, produced by makeinfo version 4.7 from tar.texi.
 +This is tar.info, produced by makeinfo version 4.8 from tar.texi.
@@ -1359,7 +1359,7 @@
  
  End Tag Table
 --- tar-1.15.1/lib/localedir.h.xattrs	2004-12-21 15:01:12.000000000 +0100
-+++ tar-1.15.1/lib/localedir.h	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/lib/localedir.h	2007-01-11 11:39:22.000000000 +0100
 @@ -1,4 +1,4 @@
  #define LOCALEDIR "/usr/share/locale"
  #ifndef DEFAULT_RMT_COMMAND
@@ -1367,7 +1367,7 @@
 +# define DEFAULT_RMT_COMMAND "/sbin/rmt"
  #endif
 --- tar-1.15.1/lib/Makefile.in.xattrs	2004-12-21 14:31:00.000000000 +0100
-+++ tar-1.15.1/lib/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/lib/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -1389,7 +1389,7 @@
  top_srcdir = @top_srcdir@
  VPATH = @srcdir@
 --- tar-1.15.1/rmt/Makefile.in.xattrs	2004-12-21 14:31:01.000000000 +0100
-+++ tar-1.15.1/rmt/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/rmt/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -1420,8 +1420,8 @@
  		 && test -n "`cat c$${pid}_.out`" \
  		 && test -z "`cat c$${pid}_.err`"; then :; \
  	    else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
---- tar-1.15.1/src/list.c.xattrs	2006-10-04 11:52:36.000000000 +0200
-+++ tar-1.15.1/src/list.c	2006-10-04 11:52:36.000000000 +0200
+--- tar-1.15.1/src/list.c.xattrs	2007-01-11 11:39:22.000000000 +0100
++++ tar-1.15.1/src/list.c	2007-01-11 11:39:22.000000000 +0100
 @@ -563,6 +563,13 @@
    stat_info->stat.st_atime = start_time;
    stat_info->stat.st_ctime = start_time;
@@ -1436,8 +1436,8 @@
    if (format == OLDGNU_FORMAT && incremental_option)
      {
        stat_info->stat.st_atime = TIME_FROM_HEADER (header->oldgnu_header.atime);
---- tar-1.15.1/src/extract.c.xattrs	2006-10-04 11:52:36.000000000 +0200
-+++ tar-1.15.1/src/extract.c	2006-10-04 11:54:47.000000000 +0200
+--- tar-1.15.1/src/extract.c.xattrs	2007-01-11 11:39:22.000000000 +0100
++++ tar-1.15.1/src/extract.c	2007-01-11 11:39:22.000000000 +0100
 @@ -71,6 +71,13 @@
      mode_t invert_permissions;
      enum permstatus permstatus;
@@ -1709,7 +1709,7 @@
  	    }
  	}
 --- tar-1.15.1/src/misc.c.xattrs	2004-09-13 10:12:05.000000000 +0200
-+++ tar-1.15.1/src/misc.c	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/src/misc.c	2007-01-11 11:39:22.000000000 +0100
 @@ -545,7 +545,7 @@
  
  /* Report an error associated with the system call CALL and the
@@ -1728,12 +1728,12 @@
  call_arg_warn (char const *call, char const *name)
  {
    int e = errno;
---- /dev/null	2006-10-03 09:18:45.784834250 +0200
-+++ tar-1.15.1/src/xattrs.h	2006-10-04 11:52:36.000000000 +0200
+--- /dev/null	2007-01-11 09:59:01.766767000 +0100
++++ tar-1.15.1/src/xattrs.h	2007-01-11 11:39:37.000000000 +0100
 @@ -0,0 +1,14 @@
 +
 +extern void xattrs_acls_get(struct tar_stat_info *st,
-+                            char const *file_name, int fd);
++                            char const *file_name, int fd, int xisfile);
 +extern void xattrs_selinux_get(struct tar_stat_info *st,
 +                               char const *file_name, int fd);
 +extern void xattrs_xattrs_get(struct tar_stat_info *st,
@@ -1746,7 +1746,7 @@
 +extern void xattrs_xattrs_set(struct tar_stat_info const *st,
 +                              char const *file_name, char typeflag);
 --- tar-1.15.1/src/Makefile.am.xattrs	2004-10-25 16:55:49.000000000 +0200
-+++ tar-1.15.1/src/Makefile.am	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/src/Makefile.am	2007-01-11 11:39:22.000000000 +0100
 @@ -20,7 +20,7 @@
  
  bin_PROGRAMS = tar
@@ -1772,9 +1772,9 @@
  
 -tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME)
 +tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME)
---- /dev/null	2006-10-03 09:18:45.784834250 +0200
-+++ tar-1.15.1/src/xattrs.c	2006-10-04 11:54:47.000000000 +0200
-@@ -0,0 +1,402 @@
+--- /dev/null	2007-01-11 09:59:01.766767000 +0100
++++ tar-1.15.1/src/xattrs.c	2007-01-11 11:39:37.000000000 +0100
+@@ -0,0 +1,457 @@
 +/* Create a tar archive.
 +
 +   Copyright (C) 2006 Free Software Foundation, Inc.
@@ -1929,13 +1929,14 @@
 +#endif
 +}
 +
-+void xattrs_acls_get(struct tar_stat_info *st, char const *file_name, int fd)
++void xattrs_acls_get(struct tar_stat_info *st, char const *file_name, int fd,
++                     int xisfile)
 +{
 +  if (acls_option > 0)
 +    {
 +      xattrs__acls_get_a (st, file_name, fd,
 +                          &st->acls_a_ptr, &st->acls_a_len);
-+      if (fd == -1) /* Hack: default is on directories only */
++      if (!xisfile)
 +        xattrs__acls_get_d (st, file_name,
 +                            &st->acls_d_ptr, &st->acls_d_len);
 +    }
@@ -1994,7 +1995,7 @@
 +              ssize_t aret = 0;
 +              
 +              if (strncmp (attr, "user.", strlen("user.")) &&
-+                  strncmp (attr, "root.", strlen("root.")))
++                  strncmp (attr, "trusted.", strlen("trusted.")))
 +                goto next_attr; /* only store normal xattrs */
 +              
 +              while (((fd == -1) ? 
@@ -2073,6 +2074,58 @@
 +}
 +#endif
 +
++static char *skip_to_ext_fields(char *ptr)
++{
++  ptr += strcspn(ptr, ":,\n"); /* skip tag name. Ie. user/group/default/mask */
++
++  if (*ptr != ':')
++    return (ptr); /* error? no user/group field */
++  ++ptr;
++  
++  ptr += strcspn(ptr, ":,\n"); /* skip user/group name */
++
++  if (*ptr != ':')
++    return (ptr); /* error? no perms field */
++  ++ptr;
++  
++  ptr += strcspn(ptr, ":,\n"); /* skip perms */
++
++  if (*ptr != ':')
++    return (ptr); /* no extra fields */
++
++  return (ptr);
++}
++
++/* The POSIX draft allows extra fields after the three main ones. Star
++   uses this to add a fourth field for user/group which is the numeric ID.
++   We just skip all extra fields atm. */
++static const char *fixup_extra_acl_fields(const char *ptr)
++{
++  char *src = (char *)ptr;
++  char *dst = (char *)ptr;
++
++  while (*src)
++  {
++    const char *old = src;
++    size_t len = 0;
++
++    src = skip_to_ext_fields(src);
++    len = src - old;
++    if (old != dst) memmove(dst, old, len);
++    dst += len;
++
++    if (*src == ':') /* We have extra fields, skip them all */
++      src += strcspn(src, "\n,");
++    
++    if ((*src == '\n') || (*src == ','))
++      *dst++ = *src++; /* also done when dst == src, but that's ok */
++  }
++  if (src != dst)
++    *dst = 0;
++  
++  return ptr;
++}
++
 +static void xattrs__acls_set(struct tar_stat_info const *st,
 +                             char const *file_name, int type,
 +                             const char *ptr, size_t len)
@@ -2083,6 +2136,8 @@
 +  if (ptr)
 +    {
 +      /* assert (strlen (ptr) == len); */
++      ptr = fixup_extra_acl_fields(ptr);
++      
 +      acl = acl_from_text (ptr);
 +      acls_option = 1;
 +    }
@@ -2163,10 +2218,10 @@
 +          keyword += strlen("SCHILY.xattr.");
 +
 +          if (strncmp (keyword, "user.", strlen("user.")) &&
-+              strncmp (keyword, "root.", strlen("root.")))
++              strncmp (keyword, "trusted.", strlen("trusted.")))
 +            continue; /* don't try and set anything but normal xattrs */
 +            
-+          /* should we ignore root.* EPERM errors when not root ? */
++          /* should we ignore trusted.* EPERM errors when not root ? */
 +          xattrs__fd_set (st, file_name, typeflag, keyword,
 +                          st->xattr_map[scan].xval_ptr,
 +                          st->xattr_map[scan].xval_len);
@@ -2178,7 +2233,7 @@
 +}
 +
 --- tar-1.15.1/src/Makefile.in.xattrs	2004-12-21 14:31:02.000000000 +0100
-+++ tar-1.15.1/src/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/src/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -2258,8 +2313,8 @@
  @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xheader.Po at am__quote@
  
  .c.o:
---- tar-1.15.1/src/xheader.c.xattrs	2006-10-04 11:52:36.000000000 +0200
-+++ tar-1.15.1/src/xheader.c	2006-10-04 11:52:36.000000000 +0200
+--- tar-1.15.1/src/xheader.c.xattrs	2007-01-11 11:39:22.000000000 +0100
++++ tar-1.15.1/src/xheader.c	2007-01-11 11:39:37.000000000 +0100
 @@ -414,6 +414,74 @@
    global_header_count++;
  }
@@ -2293,7 +2348,7 @@
 +  *xattr_map = xrealloc (*xattr_map,
 +                         *xattr_map_size * sizeof(struct xattr_array));
 +  (*xattr_map)[pos].xkey = xstrdup (key);
-+  (*xattr_map)[pos].xval_ptr = xmemdup (val, len);
++  (*xattr_map)[pos].xval_ptr = xmemdup (val, len + 1);
 +  (*xattr_map)[pos].xval_len = len;
 +}
 +
@@ -2735,7 +2790,7 @@
 +xattr_acls_a_decoder (struct tar_stat_info *st,
 +                      char const *keyword, char const *arg, size_t size)
 +{
-+  st->acls_a_ptr = xmemdup (arg, size);
++  st->acls_a_ptr = xmemdup (arg, size + 1);
 +  st->acls_a_len = size;
 +}
 +
@@ -2750,7 +2805,7 @@
 +xattr_acls_d_decoder (struct tar_stat_info *st,
 +                      char const *keyword, char const *arg, size_t size)
 +{
-+  st->acls_d_ptr = xmemdup (arg, size);
++  st->acls_d_ptr = xmemdup (arg, size + 1);
 +  st->acls_d_len = size;
 +}
 +
@@ -2817,30 +2872,39 @@
  
  #if 0 /* GNU private keywords (not yet implemented) */
  
-@@ -1086,5 +1274,21 @@
+@@ -1086,5 +1274,30 @@
    { "GNU.volume.offset", volume_offset_coder, volume_offset_decoder, false },
  #endif
  
-+  /* SELinux, use the star format... */
-+  { "SCHILY.xattr.security.selinux",
++  /* We get the SELinux value from filecon, so "extend" the star naming. */
++  { "RHT.security.selinux",
 +    xattr_selinux_coder, xattr_selinux_decoder, false, false },
 +
 +  /* ACLs, use the star format... */
-+  { "SCHILY.xattr.system.posix_acl_access",
++  { "SCHILY.acl.access",
 +    xattr_acls_a_coder, xattr_acls_a_decoder, false, false },
 +
++  { "SCHILY.acl.default",
++    xattr_acls_d_coder, xattr_acls_d_decoder, false, false },
++
++  /* FIXME: These are compat. for FC-6 ... we shipped a tar using the generic
++     header names by accident. */
++  { "SCHILY.xattr.security.selinux",
++    xattr_selinux_coder, xattr_selinux_decoder, false, false },
++  { "SCHILY.xattr.system.posix_acl_access",
++    xattr_acls_a_coder, xattr_acls_a_decoder, false, false },
 +  { "SCHILY.xattr.system.posix_acl_default",
 +    xattr_acls_d_coder, xattr_acls_d_decoder, false, false },
 +
 +  /* xattr's, use the star format note we only save the user/root varients... */
-+  { "SCHILY.xattr.user",  xattr_coder, xattr_decoder, false, true },
-+  { "SCHILY.xattr.root",  xattr_coder, xattr_decoder, false, true },
-+  { "SCHILY.xattr",       dummy_coder, dummy_decoder, false, true },
++  { "SCHILY.xattr.user",    xattr_coder, xattr_decoder, false, true },
++  { "SCHILY.xattr.trusted", xattr_coder, xattr_decoder, false, true },
++  { "SCHILY.xattr",         dummy_coder, dummy_decoder, false, true },
 +
    { NULL, NULL, NULL, false }
  };
 --- tar-1.15.1/src/common.h.xattrs	2004-12-21 15:31:58.000000000 +0100
-+++ tar-1.15.1/src/common.h	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/src/common.h	2007-01-11 11:39:22.000000000 +0100
 @@ -247,6 +247,15 @@
  /* If positive, preserve permissions when extracting.  */
  GLOBAL int same_permissions_option;
@@ -2891,7 +2955,7 @@
 +void
 +call_arg_warn (char const *call, char const *name);
 --- tar-1.15.1/src/tar.h.xattrs	2004-04-04 11:53:30.000000000 +0200
-+++ tar-1.15.1/src/tar.h	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/src/tar.h	2007-01-11 11:39:22.000000000 +0100
 @@ -265,6 +265,14 @@
      size_t numbytes;
    };
@@ -2935,8 +2999,8 @@
  };
  
  union block
---- tar-1.15.1/src/create.c.xattrs	2006-10-04 11:52:36.000000000 +0200
-+++ tar-1.15.1/src/create.c	2006-10-04 11:54:47.000000000 +0200
+--- tar-1.15.1/src/create.c.xattrs	2007-01-11 11:39:22.000000000 +0100
++++ tar-1.15.1/src/create.c	2007-01-11 11:39:37.000000000 +0100
 @@ -753,6 +753,30 @@
  	GNAME_TO_CHARS (st->gname, header->header.gname);
      }
@@ -2946,12 +3010,12 @@
 +      if (acls_option > 0)
 +        {
 +          if (st->acls_a_ptr)
-+            xheader_store ("SCHILY.xattr.system.posix_acl_access", st, NULL);
++            xheader_store ("SCHILY.acl.access", st, NULL);
 +          if (st->acls_d_ptr)
-+            xheader_store ("SCHILY.xattr.system.posix_acl_default", st, NULL);
++            xheader_store ("SCHILY.acl.default", st, NULL);
 +        }
 +      if ((selinux_context_option > 0) && st->cntx_name)
-+        xheader_store ("SCHILY.xattr.security.selinux", st, NULL);
++        xheader_store ("RHT.security.selinux", st, NULL);
 +      if (xattrs_option > 0)
 +        {
 +          size_t scan_xattr = 0;
@@ -2972,7 +3036,7 @@
        off_t block_ordinal = current_block_ordinal ();
        st->stat.st_size = 0;	/* force 0 size on dir */
  
-+      xattrs_acls_get(st, st->orig_file_name, -1);
++      xattrs_acls_get(st, st->orig_file_name, -1, 0);
 +      xattrs_selinux_get(st, st->orig_file_name, -1);
 +      xattrs_xattrs_get(st, st->orig_file_name, -1);
 +
@@ -2987,7 +3051,7 @@
 +            fd = -1;
  
 +          /* zero length files mean dumpable == no, *sigh* */
-+          xattrs_acls_get(st, p, fd);
++          xattrs_acls_get(st, p, fd, 1);
 +          xattrs_selinux_get(st, p, fd);
 +          xattrs_xattrs_get(st, p, fd);
 +              
@@ -3002,8 +3066,8 @@
  	  header = start_header (st);
  	  if (!header)
  	    return;
---- tar-1.15.1/src/tar.c.xattrs	2006-10-04 11:52:36.000000000 +0200
-+++ tar-1.15.1/src/tar.c	2006-10-04 11:52:36.000000000 +0200
+--- tar-1.15.1/src/tar.c.xattrs	2007-01-11 11:39:22.000000000 +0100
++++ tar-1.15.1/src/tar.c	2007-01-11 11:39:22.000000000 +0100
 @@ -180,7 +180,8 @@
  
  enum
@@ -3161,7 +3225,7 @@
    memset (st, 0, sizeof (*st));
  }
 --- tar-1.15.1/scripts/Makefile.in.xattrs	2004-12-21 14:31:01.000000000 +0100
-+++ tar-1.15.1/scripts/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/scripts/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -3194,7 +3258,7 @@
  		 && test -z "`cat c$${pid}_.err`"; then :; \
  	    else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
 --- tar-1.15.1/config.hin.xattrs	2004-12-21 14:33:11.000000000 +0100
-+++ tar-1.15.1/config.hin	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/config.hin	2007-01-11 11:39:22.000000000 +0100
 @@ -76,6 +76,9 @@
     includes <alloca.h> only if HAVE_ALLOCA_H is defined. */
  #undef HAVE_ALLOCA_H
@@ -3312,7 +3376,7 @@
  #undef HAVE__BOOL
  
 --- tar-1.15.1/configure.ac.xattrs	2004-12-21 14:29:02.000000000 +0100
-+++ tar-1.15.1/configure.ac	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/configure.ac	2007-01-11 11:39:22.000000000 +0100
 @@ -40,6 +40,9 @@
    sys/inet.h sys/io/trioctl.h \
    sys/mtio.h sys/time.h sys/tprintf.h sys/tape.h \
@@ -3336,8 +3400,8 @@
  AC_CHECK_DECLS([getgrgid],,, [#include <grp.h>])
  AC_CHECK_DECLS([getpwuid],,, [#include <pwd.h>])
  AC_CHECK_DECLS([time],,, [#include <time.h>])
---- tar-1.15.1/configure.xattrs	2006-10-04 11:52:36.000000000 +0200
-+++ tar-1.15.1/configure	2006-10-04 11:52:36.000000000 +0200
+--- tar-1.15.1/configure.xattrs	2007-01-11 11:39:22.000000000 +0100
++++ tar-1.15.1/configure	2007-01-11 11:39:22.000000000 +0100
 @@ -5317,6 +5317,456 @@
  done
  
@@ -4279,7 +4343,7 @@
  echo $ECHO_N "checking whether getgrgid is declared... $ECHO_C" >&6
  if test "${ac_cv_have_decl_getgrgid+set}" = set; then
 --- tar-1.15.1/Makefile.in.xattrs	2004-12-21 14:31:04.000000000 +0100
-+++ tar-1.15.1/Makefile.in	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/Makefile.in	2007-01-11 11:39:22.000000000 +0100
 @@ -1,8 +1,8 @@
 -# Makefile.in generated by automake 1.9.3 from Makefile.am.
 +# Makefile.in generated by automake 1.9.6 from Makefile.am.
@@ -4340,7 +4404,7 @@
  tags-recursive:
  	list='$(SUBDIRS)'; for subdir in $$list; do \
 --- tar-1.15.1/aclocal.m4.xattrs	2004-12-21 14:29:44.000000000 +0100
-+++ tar-1.15.1/aclocal.m4	2006-10-04 11:52:36.000000000 +0200
++++ tar-1.15.1/aclocal.m4	2007-01-11 11:39:22.000000000 +0100
 @@ -1,7 +1,7 @@
 -# generated automatically by aclocal 1.9.3 -*- Autoconf -*-
 +# generated automatically by aclocal 1.9.6 -*- Autoconf -*-


Index: tar.spec
===================================================================
RCS file: /cvs/dist/rpms/tar/FC-6/tar.spec,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- tar.spec	3 Jan 2007 09:44:08 -0000	1.53
+++ tar.spec	11 Jan 2007 12:02:25 -0000	1.54
@@ -2,7 +2,7 @@
 Name: tar
 Epoch: 2
 Version: 1.15.1
-Release: 23%{?dist}
+Release: 24%{?dist}
 License: GPL
 Group: Applications/Archiving
 URL: http://www.gnu.org/software/tar/
@@ -26,7 +26,7 @@
 Patch15: tar-1.15.1-xattrs.patch
 Patch16: tar-1.15.1-mangling.patch
 Prereq: info
-BuildRequires: autoconf automake gzip
+BuildRequires: autoconf automake gzip libacl-devel libselinux-devel
 Buildroot: %{_tmppath}/%{name}-%{version}-root
 
 %description
@@ -115,6 +115,13 @@
 %{_infodir}/tar.info*
 
 %changelog
+* Thu Jan 11 2007 Peter Vrabec <pvrabec at redhat.com> 2:1.15.1-24
+- Fix default ACLs on files problem. Header fixes. root => trusted.
+- Fix NIL termination for ACLs.
+- Fix star/POSIX compat. for ACLs
+- Resolves: #221971
+- all fixes made by james.antill at redhat.com
+
 * Wed Jan 03 2007 Peter Vrabec <pvrabec at redhat.com> 2:1.15.1-23
 - supply tar man page (#219375)
 




More information about the fedora-cvs-commits mailing list