1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

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.

GnuPG-bug-id: 7380

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.
This commit is contained in:
Werner Koch 2024-11-07 15:06:17 +01:00
parent 567fb6eaa0
commit 74e81f830d
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
2 changed files with 74 additions and 31 deletions

View file

@ -449,8 +449,8 @@ get_it (ctrl_t ctrl,
if (!pkb)
{
err = -1;
log_error ("oops: public key not found for preference check\n");
err = gpg_error (GPG_ERR_UNEXPECTED);
log_info ("oops: public key not found for preference check\n");
}
else if (pkb->pkt->pkt.public_key->selfsigversion > 3
&& dek->algo != CIPHER_ALGO_3DES