aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2015-11-25 13:57:14 +0000
committerJustus Winter <[email protected]>2015-11-25 13:57:14 +0000
commit89e104eb38c3a6896892ff09db11cb1bae2bb0d3 (patch)
treed358f3dd64fd3426d4bb4ddd51b6997b7246ca8e
parenttools/gpgtar: Improve error handling. (diff)
downloadgnupg-89e104eb38c3a6896892ff09db11cb1bae2bb0d3.tar.gz
gnupg-89e104eb38c3a6896892ff09db11cb1bae2bb0d3.zip
tools/gpgtar: Handle '--gpg' argument.
* tools/gpgtar-create.c (gpgtar_create): Use given gpg program. * tools/gpgtar-extract.c (gpgtar_extract): Likewise. * tools/gpgtar-list.c (gpgtar_list): Likewise. * tools/gpgtar.c (enum cmd_and_opt_values): New constant. (opts): Add argument. (main): Handle argument. * tools/gpgtar.h (opt): Add field 'gpg_program'. Signed-off-by: Justus Winter <[email protected]>
-rw-r--r--tools/gpgtar-create.c3
-rw-r--r--tools/gpgtar-extract.c2
-rw-r--r--tools/gpgtar-list.c2
-rw-r--r--tools/gpgtar.c6
-rw-r--r--tools/gpgtar.h1
5 files changed, 11 insertions, 3 deletions
diff --git a/tools/gpgtar-create.c b/tools/gpgtar-create.c
index 69ba4408f..92c1fb8f6 100644
--- a/tools/gpgtar-create.c
+++ b/tools/gpgtar-create.c
@@ -892,7 +892,8 @@ gpgtar_create (char **inpattern, int encrypt)
if (err)
goto leave;
- err = gpg_encrypt_stream (NULL, NULL,
+ err = gpg_encrypt_stream (NULL,
+ opt.gpg_program,
outstream,
opt.recipients,
cipher_stream);
diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c
index 594f2571b..92346b0e0 100644
--- a/tools/gpgtar-extract.c
+++ b/tools/gpgtar-extract.c
@@ -303,7 +303,7 @@ gpgtar_extract (const char *filename, int decrypt)
err = gpg_error_from_syserror ();
goto leave;
}
- err = gpg_decrypt_stream (NULL, NULL, cipher_stream, stream);
+ err = gpg_decrypt_stream (NULL, opt.gpg_program, cipher_stream, stream);
if (err)
goto leave;
diff --git a/tools/gpgtar-list.c b/tools/gpgtar-list.c
index 1f917adc3..cdc7fc46e 100644
--- a/tools/gpgtar-list.c
+++ b/tools/gpgtar-list.c
@@ -306,7 +306,7 @@ gpgtar_list (const char *filename, int decrypt)
err = gpg_error_from_syserror ();
goto leave;
}
- err = gpg_decrypt_stream (NULL, NULL, cipher_stream, stream);
+ err = gpg_decrypt_stream (NULL, opt.gpg_program, cipher_stream, stream);
if (err)
goto leave;
diff --git a/tools/gpgtar.c b/tools/gpgtar.c
index 714b216d2..c4bf855cd 100644
--- a/tools/gpgtar.c
+++ b/tools/gpgtar.c
@@ -64,6 +64,7 @@ enum cmd_and_opt_values
oNoVerbose = 500,
aSignEncrypt,
+ oGpgProgram,
oSkipCrypto,
oOpenPGP,
oCMS,
@@ -90,6 +91,7 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_s (oOutput, "output", N_("|FILE|write output to FILE")),
ARGPARSE_s_n (oVerbose, "verbose", N_("verbose")),
ARGPARSE_s_n (oQuiet, "quiet", N_("be somewhat more quiet")),
+ ARGPARSE_s_s (oGpgProgram, "gpg", "@"),
ARGPARSE_s_n (oSkipCrypto, "skip-crypto", N_("skip the crypto processing")),
ARGPARSE_s_s (oSetFilename, "set-filename", "@"),
ARGPARSE_s_s (oFilesFrom, "files-from",
@@ -221,6 +223,10 @@ main (int argc, char **argv)
opt.symmetric = 1;
break;
+ case oGpgProgram:
+ opt.gpg_program = pargs.r.ret_str;
+ break;
+
case oSkipCrypto:
skip_crypto = 1;
break;
diff --git a/tools/gpgtar.h b/tools/gpgtar.h
index ab2ccecc1..98fd51c01 100644
--- a/tools/gpgtar.h
+++ b/tools/gpgtar.h
@@ -29,6 +29,7 @@ struct
int verbose;
unsigned int debug_level;
int quiet;
+ const char *gpg_program;
const char *outfile;
strlist_t recipients;
const char *user;