* gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Fix memory corruption bug on
some platforms. From devel. (search_key): Catch a mangled input file
(useful if something other than GnuPG is calling the program). (main):
Avoid possible pre-string write. Noted by Christian Biere.
get_seckey_byname2): Disallow use of encrypt-only v3 Elgamal keys for
anything except revocations.
* sign.c (do_sign): Add Elgamal encrypt-only keys to the signature
catchall.
* trustdb.c (mark_usable_uid_certs): Disallow signatures to and from
Elgamal encrypt-only keys in the trustdb. Granted, this sounds strange,
but there are historical keys that fit this description.
Reverts change from 2003-10-03.
* THANKS: Added Phong Nguyen, who found the Elgamal signing key
problem.
* configure.ac (ALL_LINGUAS): Added a Russian translation; thanks
to Maxim Britov. Added Belarusion; thanks to Ales Nyakhaychyk.
revocation is generated.
* getkey.c (merge_selfsigs_main, merge_selfsigs_subkey,
get_seckey_byname2): Disallow use of sign+encrypt Elgamal keys for
anything except revocations.
* sign.c (do_sign): Catchall for any Elgamal signatures except
revocations.
--quiet is set. Suggested by Duncan Harris. Also don't fail with BUG()
when processing a --symmetric message with a cipher we don't have.
* pkclist.c (build_pk_list): Revert last change. There are too many side
effects for stable.
* g10.c (main): Add read-only warning.
* compress.c (compress_filter): Make static to help force the use of
push_compress_filter. Remove default algorithm setting since that is done
in push_compress_filter now.
* main.h: Use named algorithm.
* filter.h, compress.c (push_compress_filter, push_compress_filter2): New.
Figure out which is the appropriate compression filter to use, and push it
into place.
* compress.c (handle_compressed), encode.c (encode_simple, encode_crypt),
sign.c (sign_file, sign_symencrypt_file), import.c (read_block), export.c
(do_export): Use push_compress_filter instead of pushing the compression
filter ourselves.
* compress-bz2.c: New. Bzlib versions of the compression filter routines.
* Makefile.am: Include compress-bz2.c if bz2lib is available.
difference here between a bad passphrase and a cipher algorithm that we
don't have, so use a error message that makes that clear. Use the actual
list of ciphers when checking whether a cipher is invalid. Return error
if the decrypted cipher algorithm is invalid. (proc_symkey_enc): In a
mixed passphrase/pk message, if a valid dek already exists from decrypting
via pk, do not try to process the passphrase. (proc_symkey_enc): Indicate
when we're decrypting a session key as opposed to decrypting data. If a
passphrase is invalid, discard the dek so we'll keep trying.
* encode.c (encode_simple): Allow for 32 bytes (256 bits) of symmetrically
encrypted session key. Use --s2k-cipher-algo to choose cipher, rather
than --cipher-algo. This code is never actually called in stable, but
better to fix it here in case we branch in the future.
* parse-packet.c (parse_subkeyenc): Call it a "symmetrically encrypted
session key" since "session key decryption key" is just baffling. Neaten
--list-packets output.
* pubkey-enc.c (get_it): Always show cipher-not-in-prefs warning unless
--quiet is set.