summaryrefslogtreecommitdiff
path: root/man/deb.man
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2017-01-11 23:19:50 +0100
committerGuillem Jover <guillem@debian.org>2017-05-17 06:48:17 +0200
commit19cf51bc93a023fed4aa843dfd4090e537b20833 (patch)
tree6405c3338255dccc06fa389b40c572716b55427d /man/deb.man
parenta6fbd1693e41d86db6884f1ce8b8576fcdeb7495 (diff)
downloaddpkg-19cf51bc93a023fed4aa843dfd4090e537b20833.tar.gz
libdpkg: Improve tar metadata parsing
Make the existing octal parser more robust, by checking for the expected format of leading zeros or spaces, followed by any ASCII octal characters (0-7), followed by zero or more space or NULs. Even though POSIX specifies that numerical fields should end with at least one space or NUL, we still support this extension which has been present in other implementations for a long time. Add support for base-256 encoded numeric fields, to support large values, for UID/GID, device number, size and even negative timestamps. This is necessary not only to be able to store larger values, but to cover packages that can already be generated by dpkg-deb, given that it uses the system GNU tar when building. Closes: #850834
Diffstat (limited to 'man/deb.man')
-rw-r--r--man/deb.man9
1 files changed, 6 insertions, 3 deletions
diff --git a/man/deb.man b/man/deb.man
index 3d1754a4e..2b8da5ff0 100644
--- a/man/deb.man
+++ b/man/deb.man
@@ -3,7 +3,7 @@
.\" Copyright © 1995 Raul Miller
.\" Copyright © 1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
.\" Copyright © 2000 Wichert Akkerman <wakkerma@debian.org>
-.\" Copyright © 2006-2014 Guillem Jover <guillem@debian.org>
+.\" Copyright © 2006-2017 Guillem Jover <guillem@debian.org>
.\"
.\" This is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
@@ -46,12 +46,15 @@ File sizes are limited to 10 ASCII decimal digits, allowing for up to
approximately 9536.74 MiB member files.
.PP
The \fBtar\fP archives currently allowed are, the old-style (v7) format,
-the pre-POSIX ustar format, a subset of the GNU format (only the new
-style long pathnames and long linknames, supported since dpkg 1.4.1.17),
+the pre-POSIX ustar format, a subset of the GNU format (new style long
+pathnames and long linknames, supported since dpkg 1.4.1.17; large file
+metadata since dpkg 1.18.24),
and the POSIX ustar format (long names supported since dpkg 1.15.0).
Unrecognized tar typeflags are considered an error.
Each tar entry size inside a tar archive is limited to 11 ASCII octal
digits, allowing for up to 8 GiB tar entries.
+The GNU large file metadata support permits 95-bit tar entry sizes and
+negative timestamps, and 63-bit UID, GID and device numbers.
.PP
The first member is named
.B debian\-binary