mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
See ChangeLog: Tue Jun 15 14:23:10 CEST 1999 Werner Koch
This commit is contained in:
parent
b5f36dd0dd
commit
9da1694e19
21 changed files with 187 additions and 34 deletions
|
@ -1,6 +1,22 @@
|
|||
Thu Jun 10 14:18:23 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
Tue Jun 15 12:21:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* g10.c (main): Made iterated+salted the default S2K method.
|
||||
|
||||
* Makefile.am (install-data-local): Use DESTDIR.
|
||||
|
||||
* passphrase.c (passphrase_to_dek): Emit missing-passphrase while in
|
||||
batchmode.
|
||||
|
||||
* parse-packet.c (parse_pubkeyenc): Fixed a SEGV.
|
||||
|
||||
Mon Jun 14 21:18:54 CEST 1999 Michael Roth <mroth@nessie.de>
|
||||
|
||||
* g10.c: New options --openpgp, --no-tty, --emit-version,
|
||||
--default-comment and --lock-multiple
|
||||
|
||||
Thu Jun 10 14:18:23 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
* free-packet.c (free_encrypted): Fixed EOF case (Remi).
|
||||
(free_plaintext): Ditto.
|
||||
|
||||
|
|
|
@ -82,11 +82,12 @@ $(PROGRAMS): $(needed_libs)
|
|||
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(pkgdatadir)
|
||||
$(INSTALL_DATA) $(srcdir)/options.skel $(pkgdatadir)/options.skel
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
|
||||
$(INSTALL_DATA) $(srcdir)/options.skel \
|
||||
$(DESTDIR)$(pkgdatadir)/options.skel
|
||||
@set -e;\
|
||||
if test -f $(bindir)/gpgm ; then
|
||||
if test -f $(DESTDIR)$(bindir)/gpgm ; then
|
||||
echo "removing obsolete gpgm binary"
|
||||
rm $(bindir)/gpgm ;
|
||||
rm $(DESTDIR)$(bindir)/gpgm ;
|
||||
fi
|
||||
|
||||
|
|
14
g10/encode.c
14
g10/encode.c
|
@ -405,6 +405,20 @@ write_pubkey_enc_from_list( PK_LIST pk_list, DEK *dek, IOBUF out )
|
|||
enc->pubkey_algo = pk->pubkey_algo;
|
||||
keyid_from_pk( pk, enc->keyid );
|
||||
enc->throw_keyid = opt.throw_keyid;
|
||||
|
||||
/* Okay, what's going on: We have the session key somewhere in
|
||||
* the structure DEK and want to encode this session key in
|
||||
* an integer value of n bits. pubkey_nbits gives us the
|
||||
* number of bits we have to use. We then encode the session
|
||||
* key in some way and we get it back in the big intger value
|
||||
* FRAME. Then we use FRAME, the public key PK->PKEY and the
|
||||
* algorithm number PK->PUBKEY_ALGO and pass it to pubkey_encrypt
|
||||
* which returns the encrypted value in the array ENC->DATA.
|
||||
* This array has a size which depends on the used algorithm
|
||||
* (e.g. 2 for ElGamal). We don't need frame anymore because we
|
||||
* have everything now in enc->data which is the passed to
|
||||
* build_packet()
|
||||
*/
|
||||
frame = encode_session_key( dek, pubkey_nbits( pk->pubkey_algo,
|
||||
pk->pkey ) );
|
||||
rc = pubkey_encrypt( pk->pubkey_algo, enc->data, frame, pk->pkey );
|
||||
|
|
34
g10/g10.c
34
g10/g10.c
|
@ -116,11 +116,13 @@ enum cmd_and_opt_values { aNull = 0,
|
|||
oStatusFD,
|
||||
oNoComment,
|
||||
oNoVersion,
|
||||
oEmitVersion,
|
||||
oCompletesNeeded,
|
||||
oMarginalsNeeded,
|
||||
oMaxCertDepth,
|
||||
oLoadExtension,
|
||||
oRFC1991,
|
||||
oOpenPGP,
|
||||
oCipherAlgo,
|
||||
oDigestAlgo,
|
||||
oCompressAlgo,
|
||||
|
@ -132,6 +134,7 @@ enum cmd_and_opt_values { aNull = 0,
|
|||
oNoArmor,
|
||||
oNoDefKeyring,
|
||||
oNoGreeting,
|
||||
oNoTTY,
|
||||
oNoOptions,
|
||||
oNoBatch,
|
||||
oHomedir,
|
||||
|
@ -147,6 +150,7 @@ enum cmd_and_opt_values { aNull = 0,
|
|||
oSetPolicyURL,
|
||||
oUseEmbeddedFilename,
|
||||
oComment,
|
||||
oDefaultComment,
|
||||
oThrowKeyid,
|
||||
oForceV3Sigs,
|
||||
oForceMDC,
|
||||
|
@ -157,6 +161,7 @@ enum cmd_and_opt_values { aNull = 0,
|
|||
oNotDashEscaped,
|
||||
oEscapeFrom,
|
||||
oLockOnce,
|
||||
oLockMultiple,
|
||||
oKeyServer,
|
||||
oEncryptTo,
|
||||
oNoEncryptTo,
|
||||
|
@ -226,6 +231,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||
{ oOutput, "output", 2, N_("use as output file")},
|
||||
{ oVerbose, "verbose", 0, N_("verbose") },
|
||||
{ oQuiet, "quiet", 0, N_("be somewhat more quiet") },
|
||||
{ oNoTTY, "no-tty", 0, N_("don't use the terminal at all") },
|
||||
{ oForceV3Sigs, "force-v3-sigs", 0, N_("force v3 signatures") },
|
||||
{ oForceMDC, "force-mdc", 0, N_("always use a MDC for encryption") },
|
||||
{ oDryRun, "dry-run", 0, N_("do not make any changes") },
|
||||
|
@ -249,6 +255,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||
{ oMaxCertDepth, "max-cert-depth", 1, "@" },
|
||||
{ oLoadExtension, "load-extension" ,2, N_("|FILE|load extension module FILE")},
|
||||
{ oRFC1991, "rfc1991", 0, N_("emulate the mode described in RFC1991")},
|
||||
{ oOpenPGP, "openpgp", 0, N_("set all packet, cipher and digest options to OpenPGP behavior")},
|
||||
{ oS2KMode, "s2k-mode", 1, N_("|N|use passphrase mode N")},
|
||||
{ oS2KDigest, "s2k-digest-algo",2,
|
||||
N_("|NAME|use message digest algorithm NAME for passphrases")},
|
||||
|
@ -299,10 +306,13 @@ static ARGPARSE_OPTS opts[] = {
|
|||
{ oSetFilename, "set-filename", 2, "@" },
|
||||
{ oSetPolicyURL, "set-policy-url", 2, "@" },
|
||||
{ oComment, "comment", 2, "@" },
|
||||
{ oNoVersion, "no-version", 0, "@"},
|
||||
{ oDefaultComment, "default-comment", 0, "@" },
|
||||
{ oNoVersion, "no-version", 0, "@"},
|
||||
{ oEmitVersion, "emit-version", 0, "@"},
|
||||
{ oNotDashEscaped, "not-dash-escaped", 0, "@" },
|
||||
{ oEscapeFrom, "escape-from-lines", 0, "@" },
|
||||
{ oLockOnce, "lock-once", 0, "@" },
|
||||
{ oLockMultiple, "lock-multiple", 0, "@" },
|
||||
{ oLoggerFD, "logger-fd",1, "@" },
|
||||
{ oUseEmbeddedFilename, "use-embedded-filename", 0, "@" },
|
||||
{0} };
|
||||
|
@ -513,11 +523,11 @@ main( int argc, char **argv )
|
|||
create_dotlock(NULL); /* register locking cleanup */
|
||||
i18n_init();
|
||||
opt.compress = -1; /* defaults to standard compress level */
|
||||
/* fixme: set the next two to zero and decide where used */
|
||||
/* note: if you change these lines, look at oOpenPGP */
|
||||
opt.def_cipher_algo = 0;
|
||||
opt.def_digest_algo = 0;
|
||||
opt.def_compress_algo = 2;
|
||||
opt.s2k_mode = 1; /* salted */
|
||||
opt.s2k_mode = 3; /* iterated+salted */
|
||||
opt.s2k_digest_algo = DIGEST_ALGO_RMD160;
|
||||
opt.s2k_cipher_algo = CIPHER_ALGO_BLOWFISH;
|
||||
opt.completes_needed = 1;
|
||||
|
@ -655,6 +665,7 @@ main( int argc, char **argv )
|
|||
case oArmor: opt.armor = 1; opt.no_armor=0; break;
|
||||
case oOutput: opt.outfile = pargs.r.ret_str; break;
|
||||
case oQuiet: opt.quiet = 1; break;
|
||||
case oNoTTY: opt.quiet = 1; tty_no_terminal(1); break;
|
||||
case oDryRun: opt.dry_run = 1; break;
|
||||
case oInteractive: opt.interactive = 1; break;
|
||||
case oVerbose: g10_opt_verbose++;
|
||||
|
@ -687,6 +698,7 @@ main( int argc, char **argv )
|
|||
case oQuickRandom: quick_random_gen(1); break;
|
||||
case oNoComment: opt.no_comment=1; break;
|
||||
case oNoVersion: opt.no_version=1; break;
|
||||
case oEmitVersion: opt.no_version=0; break;
|
||||
case oCompletesNeeded: opt.completes_needed = pargs.r.ret_int; break;
|
||||
case oMarginalsNeeded: opt.marginals_needed = pargs.r.ret_int; break;
|
||||
case oMaxCertDepth: opt.max_cert_depth = pargs.r.ret_int; break;
|
||||
|
@ -712,6 +724,20 @@ main( int argc, char **argv )
|
|||
opt.no_comment = 1;
|
||||
opt.escape_from = 1;
|
||||
break;
|
||||
case oOpenPGP:
|
||||
opt.rfc1991 = 0;
|
||||
opt.escape_from = 0;
|
||||
opt.force_v3_sigs = 0;
|
||||
opt.compress_keys = 0; /* not mandated but we do it */
|
||||
opt.compress_sigs = 0; /* ditto. */
|
||||
opt.not_dash_escaped = 0;
|
||||
opt.def_cipher_algo = 0;
|
||||
opt.def_digest_algo = 0;
|
||||
opt.def_compress_algo = 2;
|
||||
opt.s2k_mode = 3; /* iterated+salted */
|
||||
opt.s2k_digest_algo = DIGEST_ALGO_RMD160;
|
||||
opt.s2k_cipher_algo = CIPHER_ALGO_BLOWFISH;
|
||||
break;
|
||||
case oEmuChecksumBug: opt.emulate_bugs |= EMUBUG_GPGCHKSUM; break;
|
||||
case oCompressSigs: opt.compress_sigs = 1; break;
|
||||
case oRunAsShmCP:
|
||||
|
@ -725,6 +751,7 @@ main( int argc, char **argv )
|
|||
case oSetPolicyURL: opt.set_policy_url = pargs.r.ret_str; break;
|
||||
case oUseEmbeddedFilename: opt.use_embedded_filename = 1; break;
|
||||
case oComment: opt.comment_string = pargs.r.ret_str; break;
|
||||
case oDefaultComment: opt.comment_string = NULL; break;
|
||||
case oThrowKeyid: opt.throw_keyid = 1; break;
|
||||
case oForceV3Sigs: opt.force_v3_sigs = 1; break;
|
||||
case oForceMDC: opt.force_mdc = 1; break;
|
||||
|
@ -758,6 +785,7 @@ main( int argc, char **argv )
|
|||
case oNotDashEscaped: opt.not_dash_escaped = 1; break;
|
||||
case oEscapeFrom: opt.escape_from = 1; break;
|
||||
case oLockOnce: opt.lock_once = 1; break;
|
||||
case oLockMultiple: opt.lock_once = 0; break;
|
||||
case oKeyServer: opt.keyserver_name = pargs.r.ret_str; break;
|
||||
case oNotation: add_notation_data( pargs.r.ret_str ); break;
|
||||
|
||||
|
|
|
@ -640,7 +640,7 @@ parse_pubkeyenc( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet )
|
|||
int i, ndata;
|
||||
PKT_pubkey_enc *k;
|
||||
|
||||
k = packet->pkt.pubkey_enc = m_alloc(sizeof *packet->pkt.pubkey_enc );
|
||||
k = packet->pkt.pubkey_enc = m_alloc_clear(sizeof *packet->pkt.pubkey_enc);
|
||||
if( pktlen < 12 ) {
|
||||
log_error("packet(%d) too short\n", pkttype);
|
||||
goto leave;
|
||||
|
|
|
@ -184,8 +184,10 @@ passphrase_to_dek( u32 *keyid, int cipher_algo, STRING2KEY *s2k, int mode )
|
|||
pw = m_alloc_secure( strlen(fd_passwd)+1 );
|
||||
strcpy( pw, fd_passwd );
|
||||
}
|
||||
else if( opt.batch )
|
||||
else if( opt.batch ) {
|
||||
write_status( STATUS_MISSING_PASSPHRASE );
|
||||
log_fatal("Can't query password in batchmode\n");
|
||||
}
|
||||
else {
|
||||
pw = cpr_get_hidden("passphrase.enter", _("Enter passphrase: ") );
|
||||
tty_kill_prompt();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue