diff options
| author | Werner Koch <[email protected]> | 2022-01-09 17:34:04 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2022-01-09 17:37:56 +0000 |
| commit | 99a8b1f13831c9d7ebd925abf2bc34e4c86f5404 (patch) | |
| tree | d76ade705e41c0b3f945f5ad1da57e1c4ee7df87 /tools/gpgtar-create.c | |
| parent | gpgtar: Create extended header for long file names (diff) | |
| download | gnupg-99a8b1f13831c9d7ebd925abf2bc34e4c86f5404.tar.gz gnupg-99a8b1f13831c9d7ebd925abf2bc34e4c86f5404.zip | |
gpgtar: List and extract using extended headers.
* tools/gpgtar.h (TF_EXTHDR, TF_GEXTHDR): New.
* tools/gpgtar-list.c (parse_header): Set the new type flags.
(parse_extended_header): New.
(read_header): Add arg r_extheader and parse extended header.
(print_header): Consult the extended header.
(gpgtar_list): Pass an extended header object.
(gpgtar_read_header): Ditto.
(gpgtar_print_header): Ditto.
* tools/gpgtar-extract.c (extract): New arg exthdr and factor name
checking out to ...
(check_suspicious_name): new.
(extract_regular): Add arg exthdr and consult it.
(extract_directory): Likewise.
(gpgtar_extract): Provide extheader object.
--
GnuPG-bug-id: 5754
Diffstat (limited to 'tools/gpgtar-create.c')
| -rw-r--r-- | tools/gpgtar-create.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/gpgtar-create.c b/tools/gpgtar-create.c index f92c2fb0a..ef9a29d15 100644 --- a/tools/gpgtar-create.c +++ b/tools/gpgtar-create.c @@ -17,6 +17,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, see <https://www.gnu.org/licenses/>. + * SPDX-License-Identifier: GPL-3.0-or-later */ #include <config.h> @@ -293,8 +294,10 @@ add_entry (const char *dname, const char *entryname, scanctrl_t scanctrl) xfree (hdr); else { + /* FIXME: We don't have the extended info yet available so we + * can't print them. */ if (opt.verbose) - gpgtar_print_header (hdr, log_get_stream ()); + gpgtar_print_header (hdr, NULL, log_get_stream ()); *scanctrl->flist_tail = hdr; scanctrl->flist_tail = &hdr->next; } @@ -771,7 +774,7 @@ build_header (void *record, tar_header_t hdr, strlist_t *r_exthdr) hdr->name, gpg_strerror (err)); return err; } - sl->flags = 2; /* Mark as linkname */ + sl->flags = 2; /* Mark as linkpath */ } } #endif /*!HAVE_W32_SYSTEM*/ |
