* pkclist.c (build_pk_list): Fail if any recipient keys are unusable.
[gnupg.git] / g10 / ChangeLog
index d959c51..ed418cf 100644 (file)
@@ -1,3 +1,366 @@
+2002-08-30  David Shaw  <dshaw@jabberwocky.com>
+
+       * pkclist.c (build_pk_list): Fail if any recipient keys are
+       unusable.
+
+       * options.skel: The PGP LDAP keyserver is back.  Use MIT keyserver
+       as a sample rather than cryptnet as cryptnet does not support
+       searching yet.
+
+       * keyedit.c (show_key_with_all_names): Fix error message
+       (preferences are userid/selfsig and not key specific).
+
+2002-08-30  Werner Koch  <wk@gnupg.org>
+
+       * pkclist.c (do_we_trust_pre): Changed the wording of a warning.
+
+       * encode.c (encode_simple,encode_crypt): Use new style CTB for
+       compressssed packets when using MDC.  We need to do this so that
+       concatenated messages are properly decrypted.  Old style
+       compression assumes that it is the last packet; given that we
+       can't determine the length in advance, the uncompressor does not
+       know where to start.  Actually we should use the new CTB always
+       but this would break PGP 2 compatibility.
+
+       * parse-packet.c (parse): Special treatment for new style CTB
+       compressed packets.
+
+       * build-packet.c (do_mdc): Removed. Was not used.
+       (do_encrypted_mdc): Count the version number and the MDC packet.
+
+2002-08-28  David Shaw  <dshaw@jabberwocky.com>
+
+       * sig-check.c (do_check_messages, do_check): Show keyid in error
+       messages.
+
+       * keyserver.c (print_keyinfo): More readable key listings for
+       --search-keys responses.
+
+2002-08-26  David Shaw  <dshaw@jabberwocky.com>
+
+       * hkp.c (parse_hkp_index, dehtmlize): Move HTML functionality into
+       new "dehtmlize" function.  Remove HTML before trying to parse each
+       line from the keyserver.  If the keyserver provides key type
+       information in the listing, use it.
+
+2002-08-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * sig-check.c (do_check, do_check_messages): Emit the usual sig
+       warnings even for cached sigs.  This also serves to protect
+       against missing a sig expiring while cached.
+
+       * getkey.c (merge_selfsigs_main): Don't check UID self-sigs twice.
+
+2002-08-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * import.c (clean_subkeys, chk_self_sigs): Merge clean_subkeys
+       into chk_self_sigs.  This improves efficiency as the same
+       signatures are not checked multiple times.  Clarify when a subkey
+       is revoked (any revocation signature, even if it is dated before
+       the binding signature).
+
+       * getkey.c (merge_selfsigs_subkey): Subkey revocation comments.
+
+       * keylist.c (list_one): Stats are only for public key listings.
+
+       * g10.c (main), options.skel: Default should be include-revoked
+       for keyserver operations.
+
+2002-08-21  Werner Koch  <wk@gnupg.org>
+
+       * import.c (import_print_stats): Print new non_imported counter
+       which is currently not used becuase we terminate on errors.
+
+2002-08-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Document no-include-attributes for
+       keyserver-options.
+
+       * keylist.c, keyedit.c, keyserver.c, sign.c: Some TODOs and
+       comments.
+
+       * export.c (do_export_stream): Fix noop bug in exporting sensitive
+       revocation keys.
+
+       * pkclist.c (do_edit_ownertrust): Comment out the option for
+       showing trust paths until it can be implemented.
+
+2002-08-19  Werner Koch  <wk@gnupg.org>
+
+       * getkey.c (get_user_id_native): Renamed to ..
+       (get_user_id_printable): this.  Filter out all dangerous
+       characters.  Checked all usages.
+       (get_user_id_string_native): Renamed to..
+       (get_user_id_string_printable): this.  Filter out all dangerous
+       characters.  Checked all usages.
+       * keyedit.c (show_basic_key_info): New.
+       * keylist.c (print_fingerprint): New mode 3.
+       * import.c (import_one): Use new function to display the user ID.
+
+2002-08-16  Timo Schulz  <ts@winpt.org>
+
+       * g10.c (main): Enable opt.interactive.
+
+       * import.c (import_one): Ask the user if the key shall be
+       imported when the interactive mode is used. Useful to extract
+       selected keys from a file.
+       
+2002-08-16  Werner Koch  <wk@gnupg.org>
+
+       * seckey-cert.c: Workaround to allow decryption of v3 keys created
+       with a bug in the mpi_get_secure_buffer.
+
+2002-08-14  David Shaw  <dshaw@jabberwocky.com>
+
+       * hkp.c (parse_hkp_index): Properly handle really large keys
+       (5 digit key length) in HKP searches.
+
+2002-08-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * encode.c (encode_simple): Fix problem with using compression
+       algo 2 and symmetric compressed files.
+
+       * encode.c (encode_simple, encode_crypt): If we are not using a
+       MDC, compress even if a file is already compressed.  This is to
+       help against the chosen ciphertext attack.
+
+       * pkclist.c (select_algo_from_prefs): Fix requested algorithm bug
+       so the request succeeds even if the requested algorithm is not the
+       first found.
+
+       * cipher.c (write_header), encode.c (use_mdc, encode_simple,
+       encode_crypt, encrypt_filter), g10.c (main): Be more eager to use
+       a MDC.  We use a MDC if the keys directly support it, if the keys
+       list AES (any) or TWOFISH anywhere in the prefs, or if the cipher
+       chosen does not have a 64 bit blocksize.
+
+2002-08-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Some language tweaks, and remove the
+       load-extension section for random gatherers.
+
+       * keyring.c (create_tmp_file, rename_tmp_file): Create tmp files
+       with user-only permissions, but restore the original permissions
+       if the user has something special set.
+
+       * openfile.c (copy_options_file): Create new options file
+       (gpg.conf) with user-only permissions.
+
+       * keydb.c (keydb_add_resource): Create new keyrings with user-only
+       permissions.
+
+       * tdbio.c (tdbio_set_dbname): Create new trustdbs with user-only
+       permissions.
+
+2002-08-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * sig-check.c (signature_check2): Sanity check that the md has a
+       context for the hash that the sig is expecting.  This can happen
+       if a onepass sig header does not match the actual sig, and also if
+       the clearsign "Hash:" header is missing or does not match the
+       actual sig.
+
+       * keyedit.c (menu_revsig): Properly show a uid is revoked without
+       restarting gpg.  This is Debian bug 124219, though their supplied
+       patch will not do the right thing.
+
+       * main.h, tdbio.c (tdbio_set_dbname), misc.c (removed
+       check_permissions), keydb.c (keydb_add_resource), g10.c (main,
+       check_permissions): Significant reworking of the permission check
+       mechanism.  The new behavior is to check everything in the homedir
+       by checking the homedir itself.  If the user wants to put
+       (possibly shared) keyrings outside the homedir, they are not
+       checked.  The options file and any extension files are checked
+       wherever they are, as well as their enclosing directories.  This
+       is Debian bug 147760.
+       
+2002-08-06  Stefan Bellon  <sbellon@sbellon.de>
+
+       * g10.c (main): Use of EXTSEP_S in new gpg.conf string.
+       * openfile.c (copy_options_file): Ditto.
+
+2002-08-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, g10.c (main), mainproc.c (proc_encrypted):
+       --ignore-mdc-error option to turn a MDC check error into a
+       warning.
+
+       * encode.c (encode_crypt), g10.c (main), sign.c (sign_file,
+       clearsign_file): Use the same --pgpX warning string everywhere to
+       ease translations.
+
+       * encode.c (write_pubkey_enc_from_list): Warn when using
+       --throw-keyid with --pgpX.  Noted by Vedaal Nistar.
+
+       * revoke.c (export_minimal_pk, gen_desig_revoke, gen_revoke):
+       Export a minimal pk along with the revocation cert when in --pgpX
+       mode so that PGP can import it.
+
+2002-08-06  Werner Koch  <wk@gnupg.org>
+
+       * options.skel: Changed comments.
+
+       * g10.c (main): Try to use "gpg.conf" as default option file.
+       * openfile.c (copy_options_file): Changed name of created file.
+
+2002-08-02  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am (LDFLAGS): Removed DYNLINK_LDFLAGS.
+
+2002-07-30  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, g10.c (main), mainproc.c (proc_encrypted): Return a
+       decryption failed error if a MDC does not verify.  Warn if a MDC
+       is not present (can disable via --no-mdc-warning).
+
+       * exec.c (exec_write), g10.c (main), keyserver.c
+       (keyserver_spawn): Use new DISABLE_KEYSERVER_PATH rather than
+       FIXED_EXEC_PATH.
+
+2002-07-28  David Shaw  <dshaw@jabberwocky.com>
+
+       * sig-check.c (do_check): Properly validate v4 sigs with no hashed
+       section at all.
+
+2002-07-25  Werner Koch  <wk@gnupg.org>
+
+       * delkey.c (do_delete_key): Always allow to delete a key in batch mode
+       when specified by fingerprint.  Suggested by Enzo Michelangeli.
+
+2002-07-25  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (menu_revsig): Change "revsig" to honor selected uids
+       so the user can revoke sigs from particular uids only.
+
+       * keylist.c (list_keyblock_print): Don't display expired uids in
+       --list-keys unless -v and not --list-sigs (just like revoked
+       uids).
+
+       * exec.c, export.c, import.c, keyedit.c, keyserver.c, misc.c:
+       "Warning" -> "WARNING"
+
+2002-07-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, import.c (parse_import_options, fix_hkp_corruption,
+       import_one, delete_inv_parts), g10.c (main): New import-option
+       "repair-hkp-subkey-bug", which repairs as much as possible the HKP
+       mangling multiple subkeys bug.  It is on by default for keyserver
+       receives, and off by default for regular --import.
+
+       * main.h, import.c (import, import_one, delete_inv_parts), hkp.c
+       (hkp_ask_import), keyserver.c (keyserver_spawn): Use keyserver
+       import options when doing keyserver receives.
+
+       * options.h, exec.h, exec.c (set_exec_path, exec_write), g10.c
+       (main), keyserver.c (keyserver_spawn): If the user does not use
+       "exec-path", completely replace $PATH with GNUPG_LIBEXECDIR before
+       calling the keyserver helper.  If the user does use "exec-path",
+       append GNUPG_LIBEXECDIR after the specified path.
+
+2002-07-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * import.c (parse_import_options), export.c
+       (parse_export_options): Fix offset problem with reversed ("no-")
+       meanings.
+
+       * import.c (delete_inv_parts): Discard subkey signatures (0x18 and
+       0x28) if found in the userid section of the key.
+
+       * sig-check.c (signature_check2): Signatures made by invalid
+       subkeys (bad/missing binding sig) are also invalid.
+
+       * keylist.c (print_fingerprint): Show the primary as well as the
+       secondary key fingerprint in modes 1 & 2.
+
+2002-07-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, main.h, g10.c (main), import.c
+       (parse_import_options, delete_inv_parts), keyserver.c
+       (parse_keyserver_options): add new --import-options option.  The
+       only current flag is "allow-local-sigs".
+
+       * g10.c (main): Don't disable MDC in pgp7 mode.
+
+       * options.h, g10.c (main), keyserver.c (parse_keyserver_options):
+       Remove old keyserver-option include-attributes now that there is
+       an export-option for the same thing.
+
+       * options.h, main.h, export.c (parse_export_options,
+       do_export_stream), g10.c (main): add new --export-options option.
+       Current flags are "include-non-rfc", "include-local-sigs",
+       "include-attributes", and "include-sensitive-revkeys".
+
+       * options.h, hkp.c (hkp_export), keyserver.c
+       (parse_keyserver_options, keyserver_spawn): try passing unknown
+       keyserver options to export options, and if successful, use them
+       when doing a keyserver --send-key.
+
+       * build-packet.c (build_sig_subpkt): We do not generate
+       SIGSUBPKT_PRIV_VERIFY_CACHE anymore.
+
+       * revoke.c (gen_desig_revoke): Lots more comments about including
+       sensitive revkeys along with the revocation sig itself.
+
+       * keyserver.c (parse_keyserver_options): Simpler implementation
+       that can skip one pass over the options.
+
+2002-07-18  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_addrevoker): Allow specifying
+       "sensitive" as an argument to an addrevoker command.  This sets
+       the 0x40 sensitive revoker flag.
+
+       * revoke.c (gen_desig_revoke): When generating a designated
+       revocation, include the direct key sig that contains the
+       designated revoker subpacket.  This allows sensitive designated
+       revocation subpackets to be exported.  Also indicate which
+       revokers are sensitive in the first place.
+
+2002-07-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (show_key_with_all_names_colon): The 0x40 class bit in
+       a designated revoker means "sensitive", not "local".  It's
+       exportable under the right circumstances.
+
+       * main.h, options.h, export.c (do_export_stream), g10.c (main),
+       hkp.c (hkp_export), keyserver.c (keyserver_spawn: Add a flag to
+       skip attribute packets and their signatures while exporting.  This
+       is to accomodate keyservers (pksd again) that choke on attributes.
+       Use keyserver-option "include-attributes" to control it.  This
+       defaults to ON (i.e. don't skip).
+
+2002-07-09  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, keyserver.c (parse_keyserver_uri, keyserver_spawn,
+       keyserver_work), hkp.c (hkp_ask_import, hkp_export, hkp_search):
+       Use a much more strict reading of RFC-2396 for the keyserver URIs.
+       Specifically, don't try and be smart about checking the value of
+       ":port" so long as it is all digits, and properly handle opaque
+       data (those scheme specific parts that do not start with "//").
+
+2002-07-04  David Shaw  <dshaw@jabberwocky.com>
+
+       * photoid.c (get_default_photo_command, show_photos): Honor
+       FIXED_PHOTO_VIEWER and DISABLE_PHOTO_VIEWER.
+
+       * mainproc.c (check_sig_and_print): Use --show-photos to show
+       photos when verifying a sig made by a key with a photo.
+
+       * keyserver.c (parse_keyserver_uri): Properly parse a URI with no
+       :port section and an empty file path, but with a terminating '/'.
+       (keyserver_work): Honor DISABLE_KEYSERVER_HELPERS.
+
+       * hkp.c (hkp_ask_import): Display keyserver URI as a URI, but only
+       if verbose.
+
+       * exec.c, g10.c: USE_EXEC_PATH -> FIXED_EXEC_PATH
+
+2002-07-03  David Shaw  <dshaw@jabberwocky.com>
+
+       * exec.h, exec.c (set_exec_path, exec_write), g10.c (main): If
+       USE_EXEC_PATH is defined at compile time, use it to lock the
+       exec-path and not allow the user to change it.
+
 2002-07-02  David Shaw  <dshaw@jabberwocky.com>
 
        * options.h, g10.c (main), keyserver.c (keyserver_refresh):
 
 2002-07-01  Werner Koch  <wk@gnupg.org>
 
+       * photoid.c (get_default_photo_command): Also use __MINGW32__
+       instead of HAVE_DOSISH_SYSTEM.
+
        * encode.c (encode_symmetric): Do not use the new encryption code.
 
 2002-06-30  Werner Koch  <wk@gnupg.org>