]> Dogcows Code - chaz/tar/blobdiff - src/tar.h
Carefully crafted invalid headers can cause buffer overrun.
[chaz/tar] / src / tar.h
index 055cdfda735f18838821dcf44f2219cfeccece9d..3e958ec80086a526560e4f31c33486cc528a5a06 100644 (file)
--- a/src/tar.h
+++ b/src/tar.h
@@ -1,7 +1,7 @@
 /* GNU tar Archive Format description.
 
    Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-   2000, 2001, 2003 Free Software Foundation, Inc.
+   2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
@@ -15,7 +15,7 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
-   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 /* tar Header Block, from POSIX 1003.1-1990.  */
 
@@ -189,8 +189,11 @@ struct oldgnu_header
 /* This file is a tape/volume header.  Ignore it on extraction.  */
 #define GNUTYPE_VOLHDR 'V'
 
+/* Solaris extended header */
+#define SOLARIS_XHDTYPE 'X'
+
 \f
-/* Jörg Schilling star header */
+/* Jörg Schilling star header */
 
 struct star_header
 {                              /* byte offset */
@@ -274,27 +277,20 @@ struct tar_stat_info
                               trailing slash before it was normalized. */
   char *link_name;          /* name of link for the current archive entry.  */
 
-  unsigned int  devminor;   /* device minor number */
-  unsigned int  devmajor;   /* device major number */
   char          *uname;     /* user name of owner */
   char          *gname;     /* group name of owner */
   struct stat   stat;       /* regular filesystem stat */
 
-  /* Nanosecond parts of file timestamps (if available) */
-  unsigned long atime_nsec;
-  unsigned long mtime_nsec;
-  unsigned long ctime_nsec;
-  
   off_t archive_file_size;  /* Size of file as stored in the archive.
                               Equals stat.st_size for non-sparse files */
 
-  bool   is_sparse;         /* Is the file sparse */ 
-  
+  bool   is_sparse;         /* Is the file sparse */
+
   size_t sparse_map_avail;  /* Index to the first unused element in
                               sparse_map array. Zero if the file is
                               not sparse */
   size_t sparse_map_size;   /* Size of the sparse map */
-  struct sp_array *sparse_map; 
+  struct sp_array *sparse_map;
 };
 
 union block
This page took 0.027178 seconds and 4 git commands to generate.