16 years ago* Distribute convert-from-106.
David Shaw [Sun, 23 Feb 2003 05:12:28 +0000 (05:12 +0000)]
* Distribute convert-from-106.

16 years ago* convert-from-106: Script to automate the 1.0.6->later conversion. It
David Shaw [Sun, 23 Feb 2003 05:09:52 +0000 (05:09 +0000)]
* convert-from-106: Script to automate the 1.0.6->later conversion.  It
marks all secret keys as ultimately trusted, adds the signature caches,
and checks the trustdb.  Moved from the scripts directory.

16 years ago* convert-from-106: Move to the tools directory.
David Shaw [Sun, 23 Feb 2003 05:08:26 +0000 (05:08 +0000)]
* convert-from-106: Move to the tools directory.

16 years ago* sign.c (sign_file): Do not push textmode filter onto an unopened IOBUF
David Shaw [Sat, 22 Feb 2003 23:58:39 +0000 (23:58 +0000)]
* sign.c (sign_file): Do not push textmode filter onto an unopened IOBUF
(segfault).  Noted by Marcus Brinkmann.  Push and reinitialize textmode
filter for each file in a multiple file list.

* packet.h, getkey.c (fixup_uidnode), keyedit.c (show_prefs): Set and show
the keyserver no-modify flag.

* keygen.c (add_keyserver_modify): New. (keygen_upd_std_prefs): Call it
here. (keygen_set_std_prefs): Accept "ks-modify" and "no-ks-modify" as
prefs to set and unset keyserver modify flag.

16 years ago* ttyio.c (tty_print_utf8_string, tty_print_utf8_string2): Use 0 to
David Shaw [Sat, 22 Feb 2003 23:45:28 +0000 (23:45 +0000)]
* ttyio.c (tty_print_utf8_string, tty_print_utf8_string2): Use 0 to
indicate a string with no maximum size.  This prevents early truncation of
strings that contain control chars which are expanded into \xXX form.

16 years ago* Add --disable-idea for IDEA. Note that disabling IDEA
David Shaw [Sat, 22 Feb 2003 13:29:20 +0000 (13:29 +0000)]
* Add --disable-idea for IDEA.  Note that disabling IDEA
disables both the real IDEA and the possibility of using the IDEA loadable
module.  Remove the --disable-dynload option since it is no longer
meaningful (it is only used if idea-stub is used).

16 years ago* g10.c (main): Accept "s1" in addition to "idea" to match the other
David Shaw [Sat, 22 Feb 2003 13:00:18 +0000 (13:00 +0000)]
* g10.c (main): Accept "s1" in addition to "idea" to match the other

* main.h, misc.c (idea_cipher_warn): We don't need this if IDEA has been

16 years ago* Add --disable-xxx options for CAST5, BLOWFISH, AES (all),
David Shaw [Fri, 21 Feb 2003 22:22:57 +0000 (22:22 +0000)]
* Add --disable-xxx options for CAST5, BLOWFISH, AES (all),
TWOFISH, TIGER192, SHA256, and SHA384/512.  Add a --enable-minimal that
disables all of them as well as --disable-exec.

16 years ago* keygen.c (keygen_set_std_prefs): Don't put AES or CAST5 in default prefs
David Shaw [Fri, 21 Feb 2003 22:16:43 +0000 (22:16 +0000)]
* keygen.c (keygen_set_std_prefs): Don't put AES or CAST5 in default prefs
if they are disabled.

16 years ago* cipher.c (setup_cipher_table): #ifdef all optional ciphers.
David Shaw [Fri, 21 Feb 2003 20:49:58 +0000 (20:49 +0000)]
* cipher.c (setup_cipher_table): #ifdef all optional ciphers.

* md.c (load_digest_module): #ifdef all optional digests.

16 years ago* g10.c (main): Use 3DES instead of CAST5 if we don't have CAST5 support.
David Shaw [Fri, 21 Feb 2003 20:43:17 +0000 (20:43 +0000)]
* g10.c (main): Use 3DES instead of CAST5 if we don't have CAST5 support.
Use 3DES for the s2k cipher in --openpgp mode. (print_mds): #ifdef all of
the optional digest algorithms.

16 years ago* keydb.h, getkey.c (classify_user_id, classify_user_id2): Make 'exact' a
David Shaw [Wed, 12 Feb 2003 18:43:44 +0000 (18:43 +0000)]
* keydb.h, getkey.c (classify_user_id, classify_user_id2): Make 'exact' a
per-desc item.  Merge into one function since 'force_exact' is no longer
needed. (key_byname): Use new classify_user_id function, and new exact

* keyring.h, keyring.c (keyring_search): Return an optional index to show
which KEYDB_SEARCH_DESC was the matching one.

* keydb.h, keydb.c (keydb_search): Rename to keydb_search2, and pass the
optional index to keyring_search.  Add a macro version of keydb_search
that calls this new function.

* export.c (do_export_stream): If the keyid! syntax is used, export only
that specified key.  If the key in question is a subkey, export the
primary plus that subkey only.

16 years ago* exec.c (set_exec_path): Add debugging line.
David Shaw [Wed, 12 Feb 2003 05:18:26 +0000 (05:18 +0000)]
* exec.c (set_exec_path): Add debugging line.

* g10.c (print_hex, print_mds): Print long hash strings a lot neater.
This assumes at least an 80-character display, as there are a few other
similar assumptions here and there.  Users who need unformatted hashes can
still use with-colons.  Check that SHA384 and 512 are available before
using them as they are no longer always available.

16 years ago* Use a local copy of libexecdir along with @PACKAGE@ as
David Shaw [Wed, 12 Feb 2003 05:10:30 +0000 (05:10 +0000)]
* Use a local copy of libexecdir along with @PACKAGE@ as
GNUPG_LIBEXECDIR so it can be easily overridden at make time.

16 years ago* Do not set GNUPG_LIBEXECDIR in ./configure, so that
David Shaw [Wed, 12 Feb 2003 04:59:07 +0000 (04:59 +0000)]
* Do not set GNUPG_LIBEXECDIR in ./configure, so that
makefiles can override it.  Verify that we have a 64-bit type before
building tiger.c or sha512.c.  Add uint64_t as a possible 64-bit type.

16 years ago*, md.c (load_digest_module): Only build in SHA384/512 and
David Shaw [Wed, 12 Feb 2003 04:51:22 +0000 (04:51 +0000)]
*, md.c (load_digest_module): Only build in SHA384/512 and
TIGER if specifically enabled by the 64-bit type check in configure.

16 years ago* types.h: Try and use uint64_t for a 64-bit type.
David Shaw [Wed, 12 Feb 2003 04:45:51 +0000 (04:45 +0000)]
* types.h: Try and use uint64_t for a 64-bit type.

16 years ago* Use a local copy of libexecdir along with @PACKAGE@ so it
David Shaw [Wed, 12 Feb 2003 04:00:38 +0000 (04:00 +0000)]
* Use a local copy of libexecdir along with @PACKAGE@ so it
can be easily overridden at make time.

16 years ago* armor.c (parse_hash_header, armor_filter): Accept the new SHAs in the
David Shaw [Tue, 4 Feb 2003 19:33:09 +0000 (19:33 +0000)]
* armor.c (parse_hash_header, armor_filter): Accept the new SHAs in the
armor Hash: header.

* g10.c (print_hex): Print long hash strings a little neater. (print_mds):
Add the new SHAs to the hash list.

16 years ago* sha256.c, sha512.c: New.
David Shaw [Tue, 4 Feb 2003 19:28:40 +0000 (19:28 +0000)]
* sha256.c, sha512.c: New.

*, algorithms.h, md.c (load_digest_module,
string_to_digest_algo): Add read-only support for the new SHAs.

16 years ago* cipher.h: Add constants for new SHAs.
David Shaw [Tue, 4 Feb 2003 19:04:24 +0000 (19:04 +0000)]
* cipher.h: Add constants for new SHAs.

16 years ago* NEWS: Add notes about disabled keys, trustdb tweaks, and "revuid".
David Shaw [Sun, 2 Feb 2003 18:10:53 +0000 (18:10 +0000)]
* NEWS: Add notes about disabled keys, trustdb tweaks, and "revuid".

16 years ago* keyedit.c (menu_revuid): Properly handle a nonselfsigned uid on a v4 key
David Shaw [Sun, 2 Feb 2003 15:47:43 +0000 (15:47 +0000)]
* keyedit.c (menu_revuid): Properly handle a nonselfsigned uid on a v4 key
(treat as a v4 revocation).

* import.c (print_import_check): Do not re-utf8 convert user IDs.

16 years ago* Fix regexp to work properly if the "keyid" is not a
David Shaw [Wed, 29 Jan 2003 23:14:29 +0000 (23:14 +0000)]
* Fix regexp to work properly if the "keyid" is not a
keyid, but rather a text string from the user ID.

16 years ago* DETAILS: Document trust depth, value, and regexp.
David Shaw [Mon, 27 Jan 2003 22:07:38 +0000 (22:07 +0000)]
* DETAILS: Document trust depth, value, and regexp.

16 years ago* mainproc.c (list_node): Show signature expiration date in with-colons
David Shaw [Mon, 27 Jan 2003 21:49:37 +0000 (21:49 +0000)]
* mainproc.c (list_node): Show signature expiration date in with-colons
sig records.

* keylist.c (list_keyblock_colon), mainproc.c (list_node): Show trust sig
information in with-colons sig records.

16 years ago* g10.c (add_group): Trim whitespace after a group name so it does not
David Shaw [Thu, 16 Jan 2003 19:20:10 +0000 (19:20 +0000)]
* g10.c (add_group): Trim whitespace after a group name so it does not
matter where the user puts the = sign.

* options.skel: Comment out the first three lines in case someone manually
copies the skel file to their homedir.

* sign.c (clearsign_file): Only use pgp2mode with v3 keys and MD5. This
matches what we do when decoding such messages and prevents creating a
message (v3+RIPEMD/160) that we can't verify.

* sig-check.c (signature_check2): Use G10ERR_GENERAL as the error for
signature digest conflict.  BAD_SIGN implies that a signature was checked
and we may try and print out a user ID for a key that doesn't exist.

16 years ago* trustdb.c (init_trustdb, get_validity): Don't use a changed trust model
David Shaw [Wed, 15 Jan 2003 17:07:54 +0000 (17:07 +0000)]
* trustdb.c (init_trustdb, get_validity): Don't use a changed trust model
to indicate a dirty trustdb, and never auto-rebuild a dirty trustdb with
the "always" trust model.

* g10.c (add_group): Last commit missed the \t ;)

16 years ago* gpg.sgml: Minor language tweaks, spell check, copyright date,
David Shaw [Wed, 15 Jan 2003 03:30:31 +0000 (03:30 +0000)]
* gpg.sgml: Minor language tweaks, spell check, copyright date,

* DETAILS: Note that user IDs/UATs fill in creation and expiration date.
Document namehash.

16 years ago* packet.h, parse-packet.c (setup_user_id), free-packet.c (free_user_id),
David Shaw [Tue, 14 Jan 2003 18:13:22 +0000 (18:13 +0000)]
* packet.h, parse-packet.c (setup_user_id), free-packet.c (free_user_id),
keydb.h, keyid.c (namehash_from_uid): New function to rmd160-hash the
contents of a user ID packet and cache it in the uid object.

* keylist.c (list_keyblock_colon): Use namehash in field 8 of uids.  Show
dates for creation (selfsig date), and expiration in fields 6 and 7.

* trustdb.c (get_validity, get_validity_counts, update_validity): Use new
namehash function rather than hashing it locally.

16 years ago* g10.c (add_group): Fixed group parsing to allow more than one
Werner Koch [Tue, 14 Jan 2003 09:35:31 +0000 (09:35 +0000)]
* g10.c (add_group): Fixed group parsing to allow more than one
delimiter in a row and also allow tab as delimiter.

16 years ago* tdbio.c (tdbio_set_dbname): Fix assertion failure with
David Shaw [Sun, 12 Jan 2003 15:46:17 +0000 (15:46 +0000)]
* tdbio.c (tdbio_set_dbname): Fix assertion failure with
non-fully-qualified trustdb names.

16 years ago* trustdb.c (get_validity_info, get_ownertrust_info, trust_letter):
David Shaw [Sat, 11 Jan 2003 21:13:41 +0000 (21:13 +0000)]
* trustdb.c (get_validity_info, get_ownertrust_info, trust_letter):
Simplify by returning a ? for error directly.

* keyedit.c (show_key_with_all_names): Use get_validity_string and
get_ownertrust_string to show full word versions of trust (i.e. "full"
instead of 'f').

* trustdb.h, trustdb.c (get_ownertrust_string, get_validity_string): Same
as get_ownertrust_info, and get_validity_info, except returns a full

* trustdb.c (get_ownertrust_with_min): New.  Same as 'get_ownertrust' but
takes the min_ownertrust value into account.

16 years ago* armor.c (armor_filter): Comment about PGP's end of line tab problem.
David Shaw [Sat, 11 Jan 2003 03:57:00 +0000 (03:57 +0000)]
* armor.c (armor_filter): Comment about PGP's end of line tab problem.

* trustdb.h, trustdb.c (trust_letter): Make static. (get_ownertrust_info,
get_validity_info): Don't mask the trust level twice.

* trustdb.h, gpgv.c, trustdb.c (get_validity, get_validity_info),
keylist.c (list_keyblock_colon), keyedit.c (show_key_with_all_names_colon,
menu_revuid): Pass a user ID in rather than a namehash, so we only have to
do the hashing in one place.

* packet.h, pkclist.c (build_pk_list), free-packet.c
(release_public_key_parts): Remove unused namehash element for public

16 years agoUpdated from latest NewPG project
Werner Koch [Thu, 9 Jan 2003 13:15:07 +0000 (13:15 +0000)]
Updated from latest NewPG project

16 years agoUpdated from latest NewPG project
Werner Koch [Thu, 9 Jan 2003 12:59:25 +0000 (12:59 +0000)]
Updated from latest NewPG project

16 years ago* keygen.c (keygen_set_std_prefs): Warn when setting an IDEA preference
David Shaw [Tue, 7 Jan 2003 15:30:02 +0000 (15:30 +0000)]
* keygen.c (keygen_set_std_prefs): Warn when setting an IDEA preference
when IDEA is not available.

16 years ago* trustdb.c (get_validity_info): 'd' for disabled is not a validity value
David Shaw [Tue, 7 Jan 2003 00:06:02 +0000 (00:06 +0000)]
* trustdb.c (get_validity_info): 'd' for disabled is not a validity value
any more.

16 years ago* gpgkeys_hkp.c (get_key): Use options=mr when getting a key so keyserver
David Shaw [Mon, 6 Jan 2003 23:05:39 +0000 (23:05 +0000)]
* gpgkeys_hkp.c (get_key): Use options=mr when getting a key so keyserver
doesn't attach the HTML header which we will just have to discard.

16 years ago* packet.h, tdbio.h, tdbio.c (tdbio_read_record, tdbio_write_record),
David Shaw [Mon, 6 Jan 2003 22:56:08 +0000 (22:56 +0000)]
* packet.h, tdbio.h, tdbio.c (tdbio_read_record, tdbio_write_record),
trustdb.c (update_validity): Store temporary full & marginal counts in the
trustdb. (clear_validity, get_validity_counts): Return and clear temp
counts. (store_validation_status): Keep track of which keyids have been
stored. (validate_one_keyblock, validate_key_list): Use per-uid copies of
the full & marginal counts so they can be recalled for multiple levels.
(validate_keys): Only use unused keys for each new round.
(reset_unconnected_keys): Rename to reset_trust_records, and only skip
specifically excluded records.

16 years ago* DETAILS: Document disabled flag in capabilities field.
David Shaw [Mon, 6 Jan 2003 21:12:34 +0000 (21:12 +0000)]
* DETAILS: Document disabled flag in capabilities field.

16 years ago* keylist.c (print_capabilities): Show 'D' for disabled keys in
David Shaw [Mon, 6 Jan 2003 21:01:44 +0000 (21:01 +0000)]
* keylist.c (print_capabilities): Show 'D' for disabled keys in
capabilities section.

* trustdb.c (is_disabled): Remove incorrect comment.

16 years ago* import.c (import_one): Only do the work to create the status display for
David Shaw [Fri, 3 Jan 2003 21:41:53 +0000 (21:41 +0000)]
* import.c (import_one): Only do the work to create the status display for
interactive import if status is enabled.

* keyring.c (keyring_search): skipfnc didn't work properly with non-keyid
searches.  Noted by Stefan Bellon.

* getkey.c (merge_selfsigs_main): Remove some unused code and make sure
that the pk selfsigversion member accounts for 1F direct sigs.

16 years ago* keydb.c (keydb_add_resource): Don't assume that try_make_homedir
Werner Koch [Thu, 2 Jan 2003 18:28:29 +0000 (18:28 +0000)]
* keydb.c (keydb_add_resource): Don't assume that try_make_homedir
terminates but check again for the existence of the directory and
continue then.
* openfile.c (copy_options_file): Print a warning if the skeleton
file has active options.

16 years ago* getkey.c (merge_selfsigs_main), main.h, sig-check.c
David Shaw [Sun, 29 Dec 2002 15:58:44 +0000 (15:58 +0000)]
* getkey.c (merge_selfsigs_main), main.h, sig-check.c
(check_key_signature2): Pass the ultimately trusted pk directly to
check_key_signature2 to avoid going through the key selection mechanism.
This prevents a deadly embrace when two keys without selfsigs each sign
the other.

16 years ago* keyserver.c (keyserver_refresh): Don't print the "refreshing..." line if
David Shaw [Fri, 27 Dec 2002 23:46:51 +0000 (23:46 +0000)]
* keyserver.c (keyserver_refresh): Don't print the "refreshing..." line if
there are no keys to refresh or if there is no keyserver set.

* getkey.c (merge_selfsigs_main): Any valid user ID should make a key
valid, not just the last one.  This also fixes Debian bug #174276.

16 years ago* gpg.sgml: Clarify --no-permission-warning to note that the permission
David Shaw [Fri, 27 Dec 2002 23:44:29 +0000 (23:44 +0000)]
* gpg.sgml: Clarify --no-permission-warning to note that the permission
warnings are not intended to be the be-all and end-all in security checks.
Add note to --group that when used on the command line, it may be
necessary to quote the argument so it is not treated as multiple
arguments.  Noted by Stefan Bellon.

16 years ago* NEWS: Add note about convert-from-106 script.
David Shaw [Fri, 27 Dec 2002 23:40:03 +0000 (23:40 +0000)]
* NEWS: Add note about convert-from-106 script.

16 years agofixed type problem
Stefan Bellon [Fri, 27 Dec 2002 22:17:25 +0000 (22:17 +0000)]
fixed type problem

16 years ago* keyedit.c (keyedit_menu, menu_revuid): Add "revuid" feature to revoke a
David Shaw [Fri, 27 Dec 2002 13:41:17 +0000 (13:41 +0000)]
* keyedit.c (keyedit_menu, menu_revuid): Add "revuid" feature to revoke a
user ID.  This is the same as issuing a revocation for the self-signature,
but a much simpler interface to do it.

16 years ago* keydb.h, getkey.c (key_byname): Flag to enable or disable including
David Shaw [Thu, 26 Dec 2002 22:22:50 +0000 (22:22 +0000)]
* keydb.h, getkey.c (key_byname): Flag to enable or disable including
disabled keys.  Keys specified via keyid (i.e. 0x...) are always included.

* getkey.c (get_pubkey_byname, get_seckey_byname2, get_seckey_bynames),
keyedit.c (keyedit_menu, menu_addrevoker): Include disabled keys in these

* pkclist.c (build_pk_list): Do not include disabled keys for -r or the
key prompt.  Do include disabled keys for the default key and

* trustdb.h, trustdb.c (is_disabled): New skipfnc for skipping disabled

* gpgv.c (is_disabled): Stub.

* keygen.c (keygen_add_key_expire): Properly handle updating a key
expiration to a no-expiration value.

* keyedit.c (enable_disable_key): Comment.

* import.c (import_one): When in interactive mode and --verbose, don't
repeat some key information twice.

16 years ago* iobuf.c (iobuf_flush): Only print debug info if debugging is on.
David Shaw [Thu, 26 Dec 2002 20:58:23 +0000 (20:58 +0000)]
* iobuf.c (iobuf_flush): Only print debug info if debugging is on.

16 years agoSimple script to create samplekeys.asc. CVS only.
Werner Koch [Mon, 23 Dec 2002 15:48:50 +0000 (15:48 +0000)]
Simple script to create samplekeys.asc.  CVS only.

16 years ago* samplekeys.asc: Updated.
Werner Koch [Mon, 23 Dec 2002 15:47:53 +0000 (15:47 +0000)]
* samplekeys.asc: Updated.

16 years ago2002-12-22 Timo Schulz <>
Timo Schulz [Sun, 22 Dec 2002 20:53:20 +0000 (20:53 +0000)]
2002-12-22  Timo Schulz  <>

        * import.c (print_import_check): New.
        (import_one): Use it here.
        Use merge_keys_and_selfsig in the interactive mode to avoid
        wrong key information.
        * status.h: Add new status code.
        * status.c: Ditto.

16 years ago* pkclist.c (do_we_trust): Tweak language to refer to the "named
David Shaw [Fri, 13 Dec 2002 21:10:53 +0000 (21:10 +0000)]
* pkclist.c (do_we_trust): Tweak language to refer to the "named
user" rather than "owner".  Noted by Stefan Bellon.

* trustdb.h, trustdb.c (trustdb_pending_check): New function to
check if the trustdb needs a check.

* import.c (import_keys_internal): Used here so we don't rebuild
the trustdb if it is still clean.
(import_one, chk_self_sigs): Only mark trustdb dirty if the key
that is being imported has any sigs other than self-sigs.
Suggested by Adrian von Bidder.

* options.skel: Include the required '=' sign in the sample
'group' option.  Noted by Stefan Bellon.

* import.c (chk_self_sigs): Don't try and check a subkey as if it
was a signature.

16 years ago* tdbio.c (tdbio_read_record, tdbio_write_record): Compact the
David Shaw [Wed, 11 Dec 2002 17:50:38 +0000 (17:50 +0000)]
* tdbio.c (tdbio_read_record, tdbio_write_record): Compact the
RECTYPE_TRUST records a bit.

* g10.c (main): Comment out --list-trust-path until it can be implemented.

* import.c (import_one): Warn when importing an Elgamal primary that this
may take some time (to verify self-sigs). (chk_self_sigs): Try and cache
all self-sigs so the keyblock is written to the keyring with a good rich

* keygen.c (ask_algo): Make the Elgamal sign+encrypt warning stronger, and
remove the RSA sign+encrypt warning.

16 years ago* gpg.sgml: Clarify include-revoked and include-disabled so they match
David Shaw [Wed, 11 Dec 2002 03:47:03 +0000 (03:47 +0000)]
* gpg.sgml: Clarify include-revoked and include-disabled so they match
what the program actually does.  Noted by Dick Gevers.

* gpg.sgml: Document %-expandos for policy URLs and notations.

* gpg.sgml: Document --pgp8.  Clarify that --pgp6 and --pgp7 disable

17 years agofixed typo
Stefan Bellon [Fri, 6 Dec 2002 00:38:43 +0000 (00:38 +0000)]
fixed typo

17 years ago* gpg.sgml: Document --no-mangle-dos-filenames.
Werner Koch [Thu, 5 Dec 2002 15:25:46 +0000 (15:25 +0000)]
* gpg.sgml: Document --no-mangle-dos-filenames.

17 years ago* g10.c: New options --[no-]mangle-dos-filenames.
Werner Koch [Thu, 5 Dec 2002 15:25:16 +0000 (15:25 +0000)]
* g10.c: New options --[no-]mangle-dos-filenames.
* options.h (opt): Added mangle-dos-filenames.
* openfile.c (open_outfile) [USE_ONLY_8DOT3]: Truncate the
filename only when this option is set; this is the default.

17 years ago* main.h, keyedit.c, keygen.c: Back out previous (2002-12-01) change.
David Shaw [Wed, 4 Dec 2002 18:50:10 +0000 (18:50 +0000)]
* main.h, keyedit.c, keygen.c: Back out previous (2002-12-01) change.
Minimal isn't always best.

* sign.c (update_keysig_packet): Use the current time rather then a
modification of the original signature time.  Make sure that this doesn't
cause a time warp.

* keygen.c (keygen_add_key_expire): Properly handle a key expiration date
in the past (use a duration of 0).

* keyedit.c (menu_expire): Use update_keysig_packet so any sig subpackets
are maintained during the update.

* build-packet.c (build_sig_subpkt): Mark sig expired or unexpired when
the sig expiration subpacket is added. (build_sig_subpkt_from_sig): Handle
making an expiration subpacket from a sig that has already expired (use a
duration of 0).

* packet.h, sign.c (update_keysig_packet), keyedit.c
(menu_set_primary_uid, menu_set_preferences): Add ability to issue 0x18
subkey binding sigs to update_keysig_packet and change all callers.

17 years ago* trustdb.c (validate_keys): Show trust parameters when building trustdb,
David Shaw [Wed, 4 Dec 2002 06:06:56 +0000 (06:06 +0000)]
* trustdb.c (validate_keys): Show trust parameters when building trustdb,
and make sure that the version record update was successful.
(init_trustdb): If the current parameters aren't what was used for
building the trustdb, the trustdb is invalid.

* tbio.c (tdbio_db_matches_options): Update to work with new trustdbs.

17 years ago* tdbio.h, tdbio.c (tdbio_read_record, tdbio_write_record): Store trust
David Shaw [Wed, 4 Dec 2002 00:05:11 +0000 (00:05 +0000)]
* tdbio.h, tdbio.c (tdbio_read_record, tdbio_write_record): Store trust
model in the trustdb version record. (tdbio_update_version_record): New
function to update version record values during a trustdb check or update.
(tdbio_dump_record): Show trust model in dump.

* trustdb.c (validate_keys): Call tdbio_update_version_record on success
so that the correct options are stored in the trustdb.

* options.h: rearrange trust models so that CLASSIC is 0 and OPENPGP is 1.

17 years ago* options.h, g10.c (main), encode.c (write_pubkey_enc_from_list),
David Shaw [Tue, 3 Dec 2002 23:31:48 +0000 (23:31 +0000)]
* options.h, g10.c (main), encode.c (write_pubkey_enc_from_list),
pkclist.c (algo_available), revoke.c (gen_revoke): Add --pgp8 mode.  This
is basically identical to --pgp7 in all ways except that signing subkeys,
v4 data sigs (including expiration), and SK comments are allowed.

* getkey.c (finish_lookup): Comment.

* main.h, keylist.c (reorder_keyblock), keyedit.c (keyedit_menu): Reorder
user ID display in the --edit-key menu to match that of the --list-keys

* g10.c (add_notation_data): Fix initialization.

17 years agoMarked unused slots in the trustdb.
Werner Koch [Tue, 3 Dec 2002 08:12:53 +0000 (08:12 +0000)]
Marked unused slots in the trustdb.

17 years ago* gpg.sgml: Point out that if the user absolutely must, it's better to use
David Shaw [Sun, 1 Dec 2002 21:06:13 +0000 (21:06 +0000)]
* gpg.sgml: Point out that if the user absolutely must, it's better to use
--pgpX than forcing an algorithm manually.  Better still not to use
anything, of course. CVS:
gpg.sgml CVS:

17 years ago* distfiles, Include convert-from-106.
David Shaw [Sun, 1 Dec 2002 21:04:07 +0000 (21:04 +0000)]
* distfiles, Include convert-from-106.

* convert-from-106: Script to automate the 1.0.6->later conversion.  It
marks all secret keys as ultimately trusted, adds the signature caches,
and checks the trustdb.

17 years ago* keyedit.c (menu_expire): Don't lose key flags when changing the
David Shaw [Sun, 1 Dec 2002 20:59:04 +0000 (20:59 +0000)]
* keyedit.c (menu_expire): Don't lose key flags when changing the
expiration date of a subkey.  This is not the most optimal solution, but
it is minimal change on the stable branch.

* main.h, keygen.c (do_copy_key_flags): New function to copy key flags, if
any, from one sig to another. (do_add_key_expire): New function to add key
expiration to a sig. (keygen_copy_flags_add_expire): New version of
keygen_add_key_expire that also copies key flags.
(keygen_add_key_flags_and_expire): Use do_add_key_expire.

* import.c (fix_hkp_corruption): Comment.

17 years ago* NEWS: Add notes about notation names and '@', the --trust-model option,
David Shaw [Tue, 26 Nov 2002 04:02:58 +0000 (04:02 +0000)]
* NEWS: Add notes about notation names and '@', the --trust-model option,
default algorithms from --personal-xxxx, --primary-keyring, changes with
--s2k-digest-algo, the new anonymous recipient improvements, and
non-optimized memory wiping.

17 years ago* gpg.sgml: Document --primary-keyring. Clarify --s2k-cipher-algo,
David Shaw [Tue, 26 Nov 2002 04:00:28 +0000 (04:00 +0000)]
* gpg.sgml: Document --primary-keyring.  Clarify --s2k-cipher-algo,
--s2k-digest-algo, --personal-cipher-preferences,
--personal-digest-preferences, and --personal-compress-preferences.

17 years ago* gpg.sgml: Document --sig-policy-url, --cert-policy-url, --sig-notation,
David Shaw [Mon, 25 Nov 2002 14:34:08 +0000 (14:34 +0000)]
* gpg.sgml: Document --sig-policy-url, --cert-policy-url, --sig-notation,
--cert-notation.  Clarify --show-notation and --show-policy-url that
policy URLs and notations can be used in data signatures as well.  Add
note about '@' being a required character in notation names.

17 years agono RISC OS filetype needed for nooutput
Stefan Bellon [Mon, 25 Nov 2002 13:30:34 +0000 (13:30 +0000)]
no RISC OS filetype needed for nooutput

17 years ago* main.h, misc.c (default_cipher_algo, default_compress_algo): New.
David Shaw [Mon, 25 Nov 2002 04:24:41 +0000 (04:24 +0000)]
* main.h, misc.c (default_cipher_algo, default_compress_algo): New.
Return the default algorithm by trying --cipher-algo/--compress-algo, then
the first item in the pref list, then s2k-cipher-algo or ZIP.

* sign.c (sign_file, sign_symencrypt_file), encode.c (encode_simple,
encode_crypt): Call default_cipher_algo and default_compress_algo to get

* g10.c (main): Allow pref selection for compress algo with --openpgp.

17 years ago* mainproc.c (proc_encrypted): Use --s2k-digest-algo for passphrase
David Shaw [Mon, 25 Nov 2002 04:11:02 +0000 (04:11 +0000)]
* mainproc.c (proc_encrypted): Use --s2k-digest-algo for passphrase
mangling rather than --digest-algo.

17 years ago* sign.c (hash_for): If --digest-algo is not set, but
David Shaw [Mon, 25 Nov 2002 04:06:04 +0000 (04:06 +0000)]
* sign.c (hash_for): If --digest-algo is not set, but
--personal-digest-preferences is, then use the first hash algorithm in the
personal list.  If the signing algorithm is DSA, then use the first
160-bit hash algorithm in the personal list. If --pgp2 is set and it's a
v3 RSA key, use MD5.

17 years ago* g10.c (main), keydb.c (keydb_add_resource, keydb_locate_writable):
David Shaw [Mon, 25 Nov 2002 03:18:48 +0000 (03:18 +0000)]
* g10.c (main), keydb.c (keydb_add_resource, keydb_locate_writable):
Rename --default-keyring as --primary-keyring.  Stefan wins the naming

17 years ago* g10.c (add_notation_data): Disallow notation names that do not contain a
David Shaw [Sun, 24 Nov 2002 01:49:32 +0000 (01:49 +0000)]
* g10.c (add_notation_data): Disallow notation names that do not contain a
'@', unless --expert is set.  This is to help prevent people from
polluting the (as yet unused) IETF namespace.

* main.h: Comments about default algorithms.

* photoid.c (image_type_to_string): Comments about 3-letter file

17 years ago* encode.c (encode_simple), passphrase.c (passphrase_to_dek), sign.c
David Shaw [Sun, 24 Nov 2002 00:50:14 +0000 (00:50 +0000)]
* encode.c (encode_simple), passphrase.c (passphrase_to_dek), sign.c
(sign_symencrypt_file): Use --s2k-digest-algo for passphrase mangling
rather than --digest-algo.

17 years ago* gpg.sgml: Add an interoperability section.
David Shaw [Fri, 22 Nov 2002 03:53:53 +0000 (03:53 +0000)]
* gpg.sgml: Add an interoperability section.

17 years ago* keygen.c (keygen_set_std_prefs): Properly handle an empty preference
David Shaw [Thu, 21 Nov 2002 16:25:05 +0000 (16:25 +0000)]
* keygen.c (keygen_set_std_prefs): Properly handle an empty preference

* misc.c (string_to_compress_algo): "none" is a bad choice since it
conflicts with the "none" in setpref.

17 years ago* gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver protocol
David Shaw [Mon, 18 Nov 2002 00:43:33 +0000 (00:43 +0000)]
* gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver protocol

17 years ago* gpg.sgml: Correct defaults for --s2k-mode and --s2k-digest-mode. Noted
David Shaw [Sun, 17 Nov 2002 15:22:48 +0000 (15:22 +0000)]
* gpg.sgml: Correct defaults for --s2k-mode and --s2k-digest-mode. Noted
by Haakon Riiser.

17 years ago* config.links: Use OpenBSD/NetBSD powerpc assembler code for Darwin.
David Shaw [Sat, 16 Nov 2002 16:53:58 +0000 (16:53 +0000)]
* config.links: Use OpenBSD/NetBSD powerpc assembler code for Darwin.
Successfully tested by Gordon Worley.

17 years ago* gpg.sgml: --compress-algo now allows algorithm names.
David Shaw [Fri, 15 Nov 2002 04:15:39 +0000 (04:15 +0000)]
* gpg.sgml: --compress-algo now allows algorithm names.

* gpg.sgml: Document --trust-model.

* README.W32: Add blurb on how to create a ZIP file, changed requirement
for mingw32 to 0.3.2.

17 years ago* g10.c (main): Allow compression algorithm names as the argument to
David Shaw [Fri, 15 Nov 2002 04:07:24 +0000 (04:07 +0000)]
* g10.c (main): Allow compression algorithm names as the argument to
--compress-algo.  The old algorithm names still work for backwards

* misc.c (string_to_compress_algo): Allow "none" as an alias for

17 years ago* gpgkeys_ldap.c (get_key): The deduping code requires "pgpcertid", but
David Shaw [Thu, 14 Nov 2002 14:30:53 +0000 (14:30 +0000)]
* gpgkeys_ldap.c (get_key): The deduping code requires "pgpcertid", but
that was not available when running without verbose on.  Noted by Stefan.

17 years agofixed type incompatibility
Stefan Bellon [Wed, 13 Nov 2002 21:49:57 +0000 (21:49 +0000)]
fixed type incompatibility

17 years ago* encode.c (encode_simple): Make sure that files larger than about 4G use
David Shaw [Wed, 13 Nov 2002 17:43:27 +0000 (17:43 +0000)]
* encode.c (encode_simple): Make sure that files larger than about 4G use
partial length encoding.  This is required because OpenPGP allows only for
32 bit length fields.  From Werner on stable branch.

* getkey.c (get_pubkey_direct): Renamed to... (get_pubkey_fast): this and
made extern. (get_pubkey_byfprint_fast): New.  From Werner on stable

* keydb.h, import.c (import_one): Use get_pubkey_fast instead of
get_pubkey.  We don't need a merged key and actually this might lead to
recursions. (revocation_present): Likewise for search by fingerprint.
From Werner on stable branch.

* g10.c (main): Try to create the trustdb even for non-colon-mode list-key
operations.  This is required because getkey needs to know whether a a key
is ultimately trusted.  From Werner on stable branch.

17 years ago* exec.c [__CYGWIN32__]: Keep cygwin separate from Mingw32; we don't need
David Shaw [Wed, 13 Nov 2002 17:19:22 +0000 (17:19 +0000)]
* exec.c [__CYGWIN32__]: Keep cygwin separate from Mingw32; we don't need
it here as it behaves more like a Posix system. From Werner on stable

* passphrase.c (agent_get_passphrase): Ditto.  From Werner on stable

* tdbio.c (MY_O_BINARY): Need binary mode with Cygwin.  From Werner on
stable branch.

* g10.c, gpgv.c (main) [__CYGWIN32__]: Don't get the homedir from the
registry.  From Werner on stable branch.

17 years ago* mk-w32-dist: Don't use iconv for pl.po. From Werner on stable branch.
David Shaw [Wed, 13 Nov 2002 16:50:44 +0000 (16:50 +0000)]
* mk-w32-dist: Don't use iconv for pl.po.  From Werner on stable branch.

* mk-w32-dist: Include gpgkeys_ldap and gpgkeys_hkp.

17 years ago* util.h [__CYGWIN32__]: Don't need the registry prototypes. From Werner
David Shaw [Wed, 13 Nov 2002 16:38:07 +0000 (16:38 +0000)]
* util.h [__CYGWIN32__]: Don't need the registry prototypes.  From Werner
on stable branch.

17 years ago* THANKS: Changes from stable branch.
David Shaw [Wed, 13 Nov 2002 16:11:32 +0000 (16:11 +0000)]
* THANKS: Changes from stable branch.

* Check for ctermid().  From Werner on stable

Werner on stable branch.

* (try_gettext): Remove special case for cygwin.
This removes all the DOS specific macros and let Cygwin work like
a real OS.  Needs a couple of changes elsewhere but after all,
GnuPG presents itself much more like a Posix program and can be
used in a full Cygwin environment; e.g. used along with mutt.
Changes suggested by Volker Quetschke.  From Werner on stable

* acinclude.m4 (GNUPG_SYS_NM_PARSE): Allow for underscore in test
symbols.  Useful for Cygwin builds.
(GNUPG_SYS_SYMBOL_UNDERSCORE): Don't hardwire to yes for Cygwin.
From Werner on stable branch.

* README: Add an installation note for Darwin 6.1.  From Werner on
stable branch.

17 years ago* secmem.c (lock_pool) [__CYGWIN__]: Don't print secmem warning. From
David Shaw [Wed, 13 Nov 2002 15:39:10 +0000 (15:39 +0000)]
* secmem.c (lock_pool) [__CYGWIN__]: Don't print secmem warning. From
Werner on stable branch.

17 years ago* keyedit.c (show_key_with_all_names_colon): Make --with-colons --edit
David Shaw [Wed, 13 Nov 2002 13:23:03 +0000 (13:23 +0000)]
* keyedit.c (show_key_with_all_names_colon): Make --with-colons --edit
display match the validity and trust of --with-colons --list-keys.

* passphrase.c (agent_send_all_options): Fix compile warning.

* keylist.c (list_keyblock_colon): Validity for subkeys should match that
of the primary key, and not that of the last user ID.

* getkey.c (merge_selfsigs): Revoked/expired/invalid primary keys carry
these facts onto all their subkeys, but only after the subkey has a chance
to be marked valid.  This is to fix an incorrect "invalid public key"
error verifying a signature made by a revoked signing subkey, with a valid
unrevoked primary key.

17 years ago* config.sub, config.guess: Updated from
Werner Koch [Tue, 12 Nov 2002 19:37:44 +0000 (19:37 +0000)]
* config.sub, config.guess: Updated from
to version 2002-11-08.

17 years agoPost release version number bump.
Werner Koch [Tue, 12 Nov 2002 16:45:22 +0000 (16:45 +0000)]
Post release version number bump.

17 years agoPreparing 1.3.1 release. V1-3-1
Werner Koch [Tue, 12 Nov 2002 16:15:57 +0000 (16:15 +0000)]
Preparing 1.3.1 release.

17 years ago* gpgkeys_ldap.c (get_key): Fix typo in deduping code.
David Shaw [Sun, 10 Nov 2002 21:32:11 +0000 (21:32 +0000)]
* gpgkeys_ldap.c (get_key): Fix typo in deduping code.

17 years ago* ttyio.c (TERMDEVICE): Removed.
Werner Koch [Sat, 9 Nov 2002 17:49:01 +0000 (17:49 +0000)]
* ttyio.c (TERMDEVICE): Removed.
(tty_get_ttyname): New.
(init_ttyfp): Use it here instead of the TERMDEVICE macro.