Home GnuPG
Diffusion GnuPG 74e81f830dc2

gpgtar: Make sure to create upper directories for regular files.

Description

gpgtar: Make sure to create upper directories for regular files.

* tools/gpgtar-extract.c (extract_directory): Factor parent directory
creation out to ..
(try_mkdir_p): new.
(extract_regular): Create directory on ENOENT.
* g10/pubkey-enc.c (get_it): Use log_info instead of log_error if the
public key was not found for preference checking.

If tarball was created with

tar cf tarball file1.txt foo/file2.txt

the tarball has no entry for foo/ and thus the extraction fails. This
patch fixes this.

The second patch avoid a wrong exist status status line due to the use
of log_error. But the actual cause needs stuill needs tobe
investigated.