mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
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
This commit is contained in:
parent
3a1c556b2c
commit
99a8b1f138
4 changed files with 272 additions and 62 deletions
|
@ -95,6 +95,8 @@ typedef enum
|
|||
TF_DIRECTORY,
|
||||
TF_FIFO,
|
||||
TF_RESERVED,
|
||||
TF_GEXTHDR, /* Global extended header. */
|
||||
TF_EXTHDR, /* Extended header. */
|
||||
TF_UNKNOWN, /* Needs to be treated as regular file. */
|
||||
TF_NOTSUP /* Not supported (used with --create). */
|
||||
} typeflag_t;
|
||||
|
@ -140,8 +142,9 @@ gpg_error_t gpgtar_extract (const char *filename, int decrypt);
|
|||
/*-- gpgtar-list.c --*/
|
||||
gpg_error_t gpgtar_list (const char *filename, int decrypt);
|
||||
gpg_error_t gpgtar_read_header (estream_t stream, tarinfo_t info,
|
||||
tar_header_t *r_header);
|
||||
void gpgtar_print_header (tar_header_t header, estream_t out);
|
||||
tar_header_t *r_header, strlist_t *r_extheader);
|
||||
void gpgtar_print_header (tar_header_t header, strlist_t extheader,
|
||||
estream_t out);
|
||||
|
||||
|
||||
#endif /*GPGTAR_H*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue