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;