* options.h, gpg.c (main), mainproc.c (check_sig_and_print), keyserver.c
[gnupg.git] / g10 / ChangeLog
index 85aff87..35f20b0 100644 (file)
@@ -1,3 +1,621 @@
+2006-02-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, gpg.c (main), mainproc.c (check_sig_and_print),
+       keyserver.c (keyserver_opts): Rename auto-pka-retrieve to
+       honor-pka-record to be consistent with honor-keyserver-url.
+
+       * options.h, keydb.h, g10.c (main), getkey.c
+       (parse_auto_key_locate): Parse a list of key access methods.
+       (get_pubkey_byname): Walk the list here to try and retrieve keys
+       we don't have locally.
+
+2006-02-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (get_pubkey_byname): Fix minor security problem with
+       PKA when importing at -r time.  The URL in the PKA record may
+       point to a key put in by an attacker.  Fix is to use the
+       fingerprint from the PKA record as the recipient.  This ensures
+       that the PKA record is followed.
+
+       * keyserver-internal.h, keyserver.c (keyserver_import_pka): Return
+       the fingerprint we requested.
+
+       * gpgv.c: Stub keyserver_import_ldap.
+
+       * keyserver-internal.h, keyserver.c (keyserver_import_ldap):
+       Import using the PGP Universal trick of asking
+       ldap://keys.(maildomain) for the key.
+
+2006-02-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_uri): Include the scheme in the uri
+       even when we've assumed "hkp" when there was no scheme.
+
+2006-02-14  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (verify_signatures): Print warning also for NO_DATA.
+
+       * mainproc.c (struct mainproc_context): New field any_sig_seen.
+       (add_signature): Set it.
+       (proc_signature_packets): Test and return NO_DATA.
+
+2006-02-09  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (main) <oLockNever>: Disable random locking.
+
+2006-02-06  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c, ccid-driver.h: Updated from GnuPG 1.9.  Changes:
+       * ccid-driver.h (CCID_DRIVER_ERR_NO_KEYPAD): New.
+       * ccid-driver.c (send_escape_cmd): New args RESULT, RESULTLEN and
+       RESULTMAX.  Changed all callers.
+       (ccid_transceive_escape): New.
+       * ccid-driver.c (special_transport): New
+       (ccid_open_reader, do_close_reader, ccid_shutdown_reader)
+       (bulk_out, bulk_in): Add support for CardMan 4040 reader.
+       * ccid-driver.c (scan_or_find_devices): Factored most code out to
+       (scan_or_find_usb_device): .. new.
+       (make_reader_id): Fixed vendor mask.
+
+2006-01-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_uri): If there is a path present,
+       set the direct_uri flag so the right keyserver helper is run.
+
+2006-01-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_spawn): Include the EXEEXT so we can find
+       keyserver helpers on systems that use extensions.
+
+       * misc.c (path_access) [HAVE_DRIVE_LETTERS]: Do the right thing
+       with drive letter systems.
+
+2006-01-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * keydb.h, passphrase.c (next_to_last_passphrase): New.  "Touch" a
+       passphrase as if it was used (move from next_pw to last_pw).
+
+       * pubkey-enc.c (get_session_key): Use it here to handle the case
+       where a passphrase happens to be correct for a secret key, but yet
+       that key isn't the anonymous recipient (i.e. the secret key could
+       be decrypted, but not the session key).  This also handles the
+       case where a secret key is located on a card and a secret key with
+       no passphrase.  Note this does not fix bug 594 (anonymous
+       recipients on smartcard do not work) - it just prevents the
+       anonymous search from stopping when the card is encountered.
+
+2006-01-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_refresh): Fix problem when more than one
+       key in a refresh batch has a preferred keyserver set.  Noted by
+       Nicolas Rachinsky.
+
+2006-01-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * mainproc.c (check_sig_and_print), keyserver.c
+       (keyserver_import_pka), card-util.c (fetch_url): Always require a
+       scheme:// for keyserver URLs except when used as part of the
+       --keyserver command for backwards compatibility.
+
+       * sign.c (write_signature_packets): Lost a digest_algo line.
+
+       * sign.c (hash_for): Add code to detect if the sk lives on a smart
+       card.  If it does, only allow 160-bit hashes, a la DSA.  This
+       involves passing the *sk in, so change all callers.  This is
+       correct for today, given the current 160-bit q in DSA, and the
+       current SHA-1/RIPEMD160 support in the openpgp card.  It will
+       almost certainly need changing down the road.
+
+       * app-openpgp.c (do_sign): Give user error if hash algorithm is
+       not supported by the card.
+
+2005-12-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_import_pka): New.  Moved from
+       getkey.c:get_pubkey_byname which was getting crowded.
+
+       * keyserver.c (keyserver_import_cert): Import a key found in DNS
+       via CERT records.  Can handle both the PGP (actual key) and IPGP
+       (URL) CERT types.
+
+       * getkey.c (get_pubkey_byname): Call them both here.
+
+       * options.h, keyserver.c (parse_keyserver_options): Add
+       "auto-cert-retrieve" option with optional max size argument.
+
+       * gpgv.c: Stubs.
+
+       * keyserver-internal.h, keyserver.c (keyserver_spawn,
+       keyserver_work, keygerver_getname): New keyserver_getname function
+       to fetch keys by name.
+
+       * getkey.c (get_pubkey_byname): Call it here to enable locating
+       keys by full mailbox from a keyserver a la PKA.  Try PKA first,
+       though, as it is likely to be faster.
+
+2005-12-20  Werner Koch  <wk@g10code.com>
+
+       * gpg.c: New option --allow-pka-lookup.
+       (parse_trust_model): Add "+pka" variants.
+       (main): Make KEYSERVER_AUTO_PKA_RETRIEVE teh default.
+       * options.h (opt): New fields PKA_TRUST_INCREASE and
+       ALLOW_PKA_LOOKUP.
+       * status.h (STATUS_PKA_TRUST_BAD, STATUS_PKA_TRUST_GOOD): New.
+       * pkclist.c (check_signatures_trust): Increase trust due to valid
+       PKA only if that new option has been set.  Issue new status lines.
+       * trustdb.c (init_trustdb): Print info if this option is active.
+       * getkey.c (get_pubkey_byname): Honor allow-pka-lookup.
+       * mainproc.c (pka_uri_from_sig): Ditto.
+       
+       * trustdb.c (validate_keys): Print no "ultimately trusted keys
+       found" only in non-quiet mode.
+
+2005-12-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (merge_selfsigs_main): All primary keys can certify.
+
+2005-12-18  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpg.c (main): Restore convert-sk-to-pk as programs rely on it.
+
+       * keyid.c (usagestr_from_pk): Remove special PUBKEY_USAGE_CERT
+       flag.  It's no longer needed.
+
+2005-12-14  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpg.c (main): Don't default to import-options convert-sk-to-pk.
+       It causes confusing warning messages when importing a PGP-exported
+       key that contains a secret key without selfsigs followed by the
+       public key.
+
+2005-12-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_fetch): Switch on fast-import before we
+       --fetch-keys so we don't rebuild the trustdb after each fetch.
+
+2005-12-08  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (main): Check for DBCS lead byte when converting the
+       homedir.  By Kazuyoshi Kakihara. Fixes PR561.
+
+       * keyserver.c (keyserver_fetch): Made strings translatable.
+
+2005-12-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, keyserver.c (curl_cant_handle, keyserver_spawn,
+       keyserver_fetch): Set a flag to indicate that we're doing a direct
+       URI fetch so we can differentiate between a keyserver operation
+       and a URI fetch for protocols like LDAP that can do either.
+
+2005-12-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_spawn): Don't print "searching for key
+       00000000" when fetching a URI.
+
+       * keyserver-internal.h, keyserver.c (keyserver_fetch): New.  Fetch
+       an arbitrary URI using the keyserver helpers.
+
+       * gpg.c (main): Call it from here for --fetch-keys.
+
+2005-12-07  Werner Koch  <wk@g10code.com>
+
+       * pkclist.c (do_we_trust): Add NOTREACHED comment.
+
+2005-11-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, keylist.c (print_revokers): New.  Print the "rvk"
+       designated revoker record.  Moved from
+       keyedit.c:show_key_with_all_names_colon.
+
+       * keylist.c (list_keyblock_colon): Use it here ...
+
+       * keyedit.c (show_key_with_all_names_colon): ... and here.
+
+2005-11-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * free-packet.c (copy_secret_key): Copy secret key into secure
+       memory since we may unprotect it.
+
+       * main.h, g10.c (main), revoke.c (gen_desig_revoke): Add local
+       user support so users can use -u with --desig-revoke.  This
+       bypasses the interactive walk over the revocation keys.
+
+2005-11-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_clean): Simplify clean options to
+       just "clean", and add "minimize".
+
+       * import.c (parse_import_options): Make help text match the export
+       versions of the options.
+
+       * options.h, export.c (parse_export_options, do_export_stream):
+       Reduce clean options to two: clean and minimize.
+
+       * trustdb.h, trustdb.c (clean_one_uid): New function that joins
+       uid and sig cleaning into one for a simple API outside trustdb.
+
+2005-11-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * armor.c (parse_header_line): A fussy bit of 2440: header lines
+       are delimited with a colon-space pair.  Therefore a line such as
+       "Comment: " (with a trailing space) is actually legal, albeit not
+       particularly useful.
+
+2005-11-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * trustdb.h, trustdb.c (clean_key): New function to handle key
+       cleaning from one convenient place.
+
+       * options.h, import.c (parse_import_options,
+       clean_sigs_from_all_uids, import_one): Reduce clean options to
+       two: clean and minimize.
+
+       * parse-packet.c (setup_user_id): Remove.
+       (parse_user_id, parse_attribute): Just use xmalloc_clear instead.
+
+       * trustdb.c (clean_uid_from_key, clean_uids_from_key):
+       Significantly simpler implementation.
+
+2005-11-10  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_clean_sigs_from_uids): Add
+       "minimize" command.
+
+       * packet.h, keyedit.c (menu_clean_uids_from_key), trustdb.c
+       (clean_uids_from_key): Fix display bug where sigs cleaned for
+       other reasons caused a uid to appear as if it had been compacted.
+
+       * packet.h: Move some flags to a bitfield.  Change all callers.
+
+       * options.h, import.c (parse_import_options,
+       clean_sigs_from_all_uids, import_one): Add import-minimal option.
+       Similar to export-minimal, except it works on the way in.
+
+       * trustdb.h, trustdb.c (clean_sigs_from_uid): Add flag to remove
+       all non-selfsigs from key during cleaning.  Change all callers.
+
+       * export.c (do_export_stream): Use it here for export-minimal so
+       we don't need additional minimize code in the export path.
+
+2005-11-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Add a section for --encrypt-to.  This is Debian
+       bug 336211 by Javier Fernández-Sanguino Peña.
+
+2005-11-05  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am: Include @LIBUSB_CPPFLAGS@ in our CPPFLAGS.
+       Strictly speaking this should be only in gpg_CPPFLAGS, but then we
+       have to compile everything twice for gpg and gpgv.
+
+       * apdu.c (open_pcsc_reader): Fix double free.
+
+       * gpg.c (main) [__APPLE__]: Default the PCSC driver to the OS X
+       location.  Suggested by Patty A. Hardy.
+
+2005-11-02  David Shaw  <dshaw@jabberwocky.com>
+
+       * trustdb.c (clean_sigs_from_uid): Include sigs from unavailable
+       keys in the sigs that are cleaned.  Suggested by Dirk Traulsen and
+       many others.
+
+2005-11-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * import.c (import_one): Do collapse_uids() before we do any
+       cleaning so keyserver mangled keys with doubled user IDs can be
+       properly cleaned - possibly sigs on the different user IDs cancel
+       each other out.
+
+       * import.c (parse_import_options), export.c
+       (parse_export_options): List "xxx-clean" before the longer options
+       so we don't end up with a partial match on the longer options.
+
+       * trustdb.c (clean_uids_from_key): Return proper number of cleaned
+       user IDs.  Don't count user IDs as cleaned unless we actually
+       delete something.
+
+2005-10-27  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (menu_addrevoker), getkey.c (finish_lookup): Fix
+       problem with adding a cert-only designated revoker.  Code was
+       looking for a key with sign ability, and not cert ability.  Noted
+       by Timo Schulz.
+
+2005-10-27  Werner Koch  <wk@g10code.com>
+
+       * gpg.c [__CYGWIN__]: Set default driver to winscard.dll.
+
+       * apdu.c, apdu.h: Updated from gnupg 1.9.  Changes are:
+       * apdu.c [__CYGWIN__]: Make cygwin environment similar to _WIN32.
+       Suggested by John P. Clizbe.
+       * apdu.h (SW_HOST_NO_KEYPAD): New.
+       * apdu.c (host_sw_string): Support new code. 
+       (reader_table_s): New field CHECK_KEYPAD.
+       (new_reader_slot, open_ct_reader, open_pcsc_reader) 
+       (open_ccid_reader, open_rapdu_reader): Initialize it.
+       (check_ccid_keypad): New.
+       (apdu_check_keypad): New.
+       (apdu_send_le): Factored all code out to ...
+       (send_le): .. new.  Takes an additional arg; changed all callers
+       of the orginal function to use this one with a NULL for the new
+       arg.
+       (apdu_send_simple_kp): New.
+       (ct_send_apdu, pcsc_send_apdu, my_rapdu_send_apdu) 
+       (send_apdu_ccid): New arg PININFO.
+       (send_apdu_ccid): Use the new arg.
+
+2005-10-26  David Shaw  <dshaw@jabberwocky.com>
+
+       * keygen.c (proc_parameter_file): Default key and subkey usage
+       flags to algo capabilities if parameter file doesn't specify them.
+       Noted by Timo Schulz.
+
+2005-10-18  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (pin_cb): Fixed prompt for repeated PIN.  Return
+       G10ERR_CANCELED and not just -1.
+       (status_sc_op_failure): New.  Use it where we issue that status.
+       (pin_cb): Append serial number to the need-pin status message.
+       (agent_scd_change_pin): Add arg SERIALNO.  Changed all callers.
+       (agent_scd_writekey): Ditto.
+       (agent_scd_setattr): Ditto.
+       (agent_scd_genkey): Ditto.
+       (agent_scd_checkpin): Pass serialno to the pin_cb.
+
+       * keygen.c (parse_expire_string): Allow setting the expire
+       interval using a "seconds=<n>" syntax.  This is useful for
+       debugging.
+
+2005-10-17  Werner Koch  <wk@g10code.com>
+
+       * export.c (do_export_stream): Factored some code out to ...
+       (skip_subkey_p): .. new.
+       (subkey_in_list_p, release_subkey_list): New.
+       (new_subkey_list_item): New. 
+       (do_export_stream): Export exactly specified subkeys into one
+       keyblock.
+
+2005-10-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_backsign): New "backsign" command
+       to add 0x19 backsigs to old keys that don't have them.
+
+       * misc.c (parse_options): Fix build warning.
+
+       * main.h, keygen.c (make_backsig): Make public.
+
+2005-10-12  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, getkey.c (merge_selfsigs_subkey), gpg.c (main),
+       sig-check.c (signature_check2): Add --require-backsigs and
+       --no-require-backsigs.  Currently defaults to
+       --no-require-backsigs.
+
+2005-10-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (merge_selfsigs_subkey), sig-check.c
+       (signature_check2), keygen.c (make_backsig): Did some backsig
+       interop testing with the PGP folks.  All is well, so I'm turning
+       generation of backsigs on for new keys.  Checking for backsigs on
+       verification is still off.
+
+2005-10-05  Werner Koch  <wk@g10code.com>
+
+       * g10.c: Renamed to ..
+       * gpg.c: ..this.
+       * Makefile.am: Adjusted accordingly.
+
+2005-09-22  Werner Koch  <wk@g10code.com>
+
+       * sign.c (write_plaintext_packet): Don't print an empty file
+       warning if the file is actually too large.
+       * encode.c (encode_simple,encode_crypt): Ditto.
+       * progress.c (handle_progress): Adjusted for iobuf_get_filelength
+       change.
+       * photoid.c (generate_photo_id): Ditto.
+
+2005-09-20  Werner Koch  <wk@g10code.com>
+
+       * mainproc.c (proc_symkey_enc): Take care of a canceled passphrase
+       prompt.
+
+2005-09-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * keylist.c (reorder_keyblock, do_reorder_keyblock): Reorder
+       attribute IDs as well as regular text IDs.
+
+       * plaintext.c (ask_for_detached_datafile): Use make_filename() on
+       filename so tilde expansion works.
+
+2005-09-14  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, misc.c (parse_options): Add the ability to have help
+       strings in xxx-options commands.
+
+       * keyserver.c (keyserver_opts), import.c (parse_import_options),
+       export.c (parse_export_options), g10.c (parse_list_options, main):
+       Add help strings to xxx-options.
+
+2005-09-10  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (show_names): Moved name display code out from
+       show_key_with_all_names.
+       (keyedit_menu): Call it here for pref and showpref so they can
+       show only the selected user ID.  Suggested by Timo Schulz.
+
+2005-09-07  Werner Koch  <wk@g10code.com>
+
+       * cardglue.h (GPG_ERR_TOO_LARGE): New.
+
+       * apdu.c, apdu.h, iso7816.c, iso7816.h
+       * ccid-driver.c, ccid-driver.h: Updated from GnuPG 1.9 source.
+       Changes are:
+       * iso7816.c (iso7816_select_path): New.
+       * iso7816.c (iso7816_read_binary): Use Le=0 when reading all
+       data.  Handle 6C00 error and take 6B00 as indication for EOF.
+       * apdu.h (SW_EXACT_LENGTH_P): New.
+       * apdu.c (new_reader_slot, reset_pcsc_reader, pcsc_get_status) 
+       (open_pcsc_reader): Set new reader state IS_T0.
+       (apdu_send_le): When doing T=0 make sure not to send Lc and Le.
+       Problem reported by Carl Meijer.
+       (apdu_send_direct): Initialize RESULTLEN.
+
+       * misc.c (parse_options): Allow meta option "help" to list all
+       options and to exit the program.
+
+2005-09-02  David Shaw  <dshaw@jabberwocky.com>
+
+       * parse-packet.c (enum_sig_subpkt, parse_signature,
+       parse_attribute_subpkts): Make a number of warnings verbose items.
+       These fire on many slightly mangled keys in the field, so the
+       warning is becoming burdensome.
+
+2005-09-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * photoid.h, photoid.c (generate_photo_id): Allow passing in a
+       suggested filename.
+
+       * keyedit.c (keyedit_menu, menu_adduid): Call it here so "addphoto
+       filename" works.
+
+2005-08-31  David Shaw  <dshaw@jabberwocky.com>
+
+       * photoid.c (generate_photo_id): Enable readline completion and
+       tilde expansion for the JPEG prompt.
+
+2005-08-30  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (agent_open): Print a warning and not an error in
+       case of a missing agent.  Should fix Debian bug #325578.
+
+2005-08-26  David Shaw  <dshaw@jabberwocky.com>
+
+       * misc.c (openpgp_pk_algo_usage): Default to allowing CERT for
+       signing algorithms.
+
+       * keyedit.c (sign_uids): Don't request a signing key to make a
+       certification.
+
+       * keygen.c (do_add_key_flags): Force the certify flag on for all
+       primary keys, as the spec requires primary keys must be able to
+       certify (if nothing else, which key is going to issue the user ID
+       signature?)
+       (print_key_flags): Show certify flag.
+       (ask_key_flags, ask_algo): Don't allow setting the C flag for
+       subkeys.
+       
+       * keyid.c (usagestr_from_pk), getkey.c (parse_key_usage):
+       Distinguish between a sign/certify key and a certify-only key.
+
+       * keyedit.c (ask_revoke_sig): Add a revsig --with-colons mode.
+       Suggested by Michael Schierl.
+
+2005-08-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am: No need to link with curl any longer.
+
+       * main.h, misc.c (path_access): New.  Same as access() but does a
+       PATH search like execlp.
+
+       * keyserver.c (curl_can_handle): Removed.  Replaced by...
+       (curl_cant_handle): We are now relying on curl as the handler of
+       last resort.  This is necessary because PGP LDAP and curl LDAP are
+       apples and oranges.
+       (keyserver_typemap): Only test for ldap and ldaps.
+       (keyserver_spawn): If a given handler is unusable (as determined
+       by path_access()) then try gpgkeys_curl.
+
+       * exec.h, exec.c (make_tempdir, expand_args, exec_write,
+       exec_read): Minor cleanup to use bitfield flags instead of a bunch
+       of integers.
+
+2005-08-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * g10.c (main): Add aliases sign-with->local-user and
+       user->recipient to make switching from PGP command line to GPG
+       easier.
+
+2005-08-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Remove the surfnet LDAP keyserver from the list of
+       samples since it is being shut down.
+
+       * getkey.c (classify_user_id): Disable the '.' and '+' search
+       modes since they aren't supported yet.
+
+2005-08-05  David Shaw  <dshaw@jabberwocky.com>
+
+       * g10.c (main), passphrase.c (set_passphrase_from_string): New
+       --passphrase command line option.  Only useful in very special
+       circumstances.
+
+2005-08-05  Werner Koch  <wk@g10code.com>
+
+       * gpgv.c (keyserver_import_fprint): New stub.
+
+       * keygen.c (ask_user_id): Moved email checking code out to ..
+       * misc.c (is_valid_mailbox): .. new.
+       * mainproc.c (get_pka_address): Use it here.
+       * getkey.c (get_pubkey_byname): Add falback to auto-retrieve a key
+       via the PKA mechanism.
+
+       * options.h (KEYSERVER_AUTO_PKA_RETRIEVE): New.
+       * keyserver.c (keyserver_opts): Ditto.
+       * mainproc.c (check_sig_and_print): Use it here to retrieve keys
+       from a PKA DNS record.
+
+       * pkclist.c (build_pk_list): Add comments to this function;
+       re-indented it.
+
+2005-08-04  David Shaw  <dshaw@jabberwocky.com>
+
+       * keygen.c (proc_parameter_file): Sanity check items in keygen
+       batch file.  Noted by Michael Schierl.
+
+       * pkclist.c (do_edit_ownertrust): Don't allow ownertrust level 0.
+       Noted by Michael Schierl.
+
+       * keygen.c (write_keyblock): Don't try and build deleted kbnodes
+       since we start our tree with one.
+
+2005-08-04  Werner Koch  <wk@g10code.com>
+
+       * export.c (do_export_stream): Skip on-card keys when only subkeys
+       are to be exported.  It does not make sense to replace the on-card
+       key stub by a no-key stub.
+
+       * revoke.c (gen_revoke): Check for non-online keys.
+
+       * seckey-cert.c (is_secret_key_protected): Return -3 for
+       non-online key stubs.  The old code assumes that a protection
+       algorithm is still set but in some cases this one is 0 and thus it
+       won't be possible to decide whether it is unprotected or
+       protected.
+
+2005-07-28  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (other_libs): Add SRVLIBS.
+
+       * parse-packet.c (can_handle_critical_notation): We know about
+       pka-address@gnupg.org.
+       * packet.h (PKT_signature): New fields PKA_INFO and PKA_TRIED. 
+       (pka_info_t): New.
+       * free-packet.c (cp_pka_info): New.
+       (free_seckey_enc, copy_signature): Support new fields.
+       * mainproc.c (get_pka_address, pka_uri_from_sig): New.
+       (check_sig_and_print): Try to get the keyserver from the PKA
+       record.
+       * pkclist.c (check_signatures_trust): Adjust the trust based on
+       the PKA.
+       * gpgv.c (parse_keyserver_uri): New stub.
+
+       * keygen.c (has_invalid_email_chars): Moved to ..
+       * misc.c (has_invalid_email_chars): .. here and made global.
+
+2005-07-27  Werner Koch  <wk@g10code.com>
+
+       * export.c (do_export_stream): Make two strings translatable.
+
 2005-07-26  David Shaw  <dshaw@jabberwocky.com>
 
        * keyserver.c (keyserver_typemap): Special-case LDAP since curl
@@ -11820,7 +12438,7 @@ Thu Feb 12 22:24:42 1998  Werner Koch  (wk@frodo)
 
 
  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
-          2004, 2005 Free Software Foundation, Inc.
+          2004, 2005, 2006 Free Software Foundation, Inc.
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without