15 years ago* sig-check.c (check_key_signature2): Comments.
David Shaw [Mon, 19 Jan 2004 22:46:55 +0000 (22:46 +0000)]
* sig-check.c (check_key_signature2): Comments.

* keyring.c (keyring_rebuild_cache): Clear sig cache for any signatures
that we can no longer process (say, if the user removed support for a
necessary pubkey or digest algorithm).

15 years ago* misc.c (print_cipher_algo_note): May as well call Rijndael AES
David Shaw [Sat, 17 Jan 2004 03:14:14 +0000 (03:14 +0000)]
* misc.c (print_cipher_algo_note): May as well call Rijndael AES
at this point.

* keygen.c (do_create), misc.c (openpgp_pk_algo_usage): Remove the
last bits of Elgamal type 20 support.

15 years ago* cipher.h: Remove the old CIPHER_ALGO_RINJDAEL values. is_ELGAMAL() now
David Shaw [Sat, 17 Jan 2004 03:10:09 +0000 (03:10 +0000)]
* cipher.h: Remove the old CIPHER_ALGO_RINJDAEL values. is_ELGAMAL() now
only matches type 16 and not type 20.

15 years ago* cipher.c (setup_cipher_table): May as well call Rijndael AES at this
David Shaw [Sat, 17 Jan 2004 03:06:50 +0000 (03:06 +0000)]
* cipher.c (setup_cipher_table): May as well call Rijndael AES at this

15 years ago* pubkey.c (setup_pubkey_table), elgamal.c (sign, verify, test_keys,
David Shaw [Sat, 17 Jan 2004 01:49:16 +0000 (01:49 +0000)]
* pubkey.c (setup_pubkey_table), elgamal.c (sign, verify, test_keys,
elg_sign, elg_verify, elg_get_info): Remove the last bits of Elgamal type
20 support.

15 years ago* argparse.c (default_strusage): Update copyright date. (initialize):
David Shaw [Fri, 16 Jan 2004 05:16:42 +0000 (05:16 +0000)]
* argparse.c (default_strusage): Update copyright date. (initialize):
Avoid a number of -Wformat-nonliteral warnings. These aren't actual
problems, but the warnings bothered me.

* miscutil.c (print_string2): New variation on print_string that allows
two delimiters. (print_string): Call print_string2 to do work.

15 years ago* util.h: Add prototype for print_string2().
David Shaw [Fri, 16 Jan 2004 05:14:50 +0000 (05:14 +0000)]
* util.h: Add prototype for print_string2().

15 years ago(send_key): Add a content type.
Werner Koch [Tue, 13 Jan 2004 11:07:25 +0000 (11:07 +0000)]
(send_key): Add a content type.

15 years ago* Use -Wformat-nonliteral in maintainer-mode.
Werner Koch [Tue, 13 Jan 2004 10:57:46 +0000 (10:57 +0000)]
* Use -Wformat-nonliteral in maintainer-mode.

15 years ago* gpgkeys_hkp.c (search_key): Catch a mangled input file (useful if
David Shaw [Mon, 12 Jan 2004 04:09:37 +0000 (04:09 +0000)]
* gpgkeys_hkp.c (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.

* gpgkeys_ldap.c (main): Avoid possible pre-string write.

15 years ago* Include stdio.h when checking for bzlib.h. Solaris 9 has a
David Shaw [Mon, 12 Jan 2004 03:59:29 +0000 (03:59 +0000)]
* Include stdio.h when checking for bzlib.h. Solaris 9 has a
very old bzip2 library and we can at least guarantee that it won't fail
because of the lack of stdio.h.

* THANKS: Added Phong Nguyen, who found the Elgamal signing key problem.

15 years ago* convert-from-106, lspgpot: Check for gpg binary before proceeding.
David Shaw [Mon, 12 Jan 2004 02:48:42 +0000 (02:48 +0000)]
* convert-from-106, lspgpot: Check for gpg binary before proceeding.
Don't hardcode the path to gpg.

* gpgsplit.c (handle_bzip2): Remove two cut and paste typecast errors.
Noted by Stefan Bellon.

15 years ago* config.links: OpenBSD 3.4 is now ELF, so use the proper assembler code
David Shaw [Mon, 12 Jan 2004 00:51:39 +0000 (00:51 +0000)]
* config.links: OpenBSD 3.4 is now ELF, so use the proper assembler code
for that.  Use the portable C MPI code for OpenBSD before 3.4, and remove
the special i386-openbsd assembly directory.

* Add the portable C links to DISTCLEANFILES.  Noted by
Nelson H. F. Beebe.

* mpi-mpow.c (build_index): s/index/idx/ to avoid gcc warning. From Werner
on stable branch.

* longlong.h: Added PowerPC 64 bit code from GPM-4.1.2 but didn't enable
it yet.  From Werner on stable branch.

15 years agoUse the portable C MPI code for OpenBSD before 3.4, and remove the special
David Shaw [Mon, 12 Jan 2004 00:48:28 +0000 (00:48 +0000)]
Use the portable C MPI code for OpenBSD before 3.4, and remove the special
i386-openbsd assembly directory.

15 years ago* gpg.sgml: Fix a few minor typos. Clarify what --textmode is useful for.
David Shaw [Thu, 8 Jan 2004 05:49:39 +0000 (05:49 +0000)]
* gpg.sgml: Fix a few minor typos.  Clarify what --textmode is useful for.

* gpg.sgml: List proper documentation URL.  Note that addrevoker takes an
optional "sensitive" argument.  Remind that $GNUPGHOME can be used instead
of --homedir.  Clarify --no-default-keyring, and note why it may not take
effect if there are no other keyrings present.  Remove --pgp2 from the
list of --pgpXes that are just for bad preference lists.  Explain more why
locking memory pages is good.

* gpg.sgml: Add an example of what an exclamation mark is, as people seem
to miss it often.

15 years agoOnly use ZLib module on RISC OS when configured
Stefan Bellon [Sat, 3 Jan 2004 17:13:59 +0000 (17:13 +0000)]
Only use ZLib module on RISC OS when configured

15 years ago* clearsig.test, conventional-mdc.test, conventional.test,,
David Shaw [Wed, 31 Dec 2003 19:00:35 +0000 (19:00 +0000)]
* clearsig.test, conventional-mdc.test, conventional.test,,
encrypt-dsa.test, encrypt.test, genkey1024.test, plain-1.asc,
plain-1-pgp.asc, plain-2.asc, plain-3.asc, pubring.asc, secring.asc,
sigs.test: Rework tests to work properly with a gpg binary that doesn't
have all ciphers and all pk algos. Basically, we test for the ciphers we
have, only test signing with non-160-bit hashes with RSA (we test all
hashes as hashes).  Test all key lengths of AES.

15 years ago* options.h, g10.c (main), import.c (parse_import_options, import_one,
David Shaw [Wed, 31 Dec 2003 04:58:52 +0000 (04:58 +0000)]
* options.h, g10.c (main), import.c (parse_import_options, import_one,
import_secret_one), keyserver.c (keyserver_refresh): Change --merge-only
to --import-option merge-only.  Deprecate --merge-only.

15 years ago* g10m.c: Dead code. Remove.
David Shaw [Tue, 30 Dec 2003 04:29:07 +0000 (04:29 +0000)]
* g10m.c: Dead code.  Remove.

* Don't compile g10m.c.

15 years ago* idea-stub.c (load_module, idea_get_info): Return the proper type for
David Shaw [Tue, 30 Dec 2003 01:37:52 +0000 (01:37 +0000)]
* idea-stub.c (load_module, idea_get_info): Return the proper type for
idea_get_info from inside load_module.  From Stefan Bellon.

15 years ago* rijndael.c, rndunix.c, twofish.c: Remove dead IS_MODULE code.
David Shaw [Tue, 30 Dec 2003 00:57:05 +0000 (00:57 +0000)]
* rijndael.c, rndunix.c, twofish.c: Remove dead IS_MODULE code.

* g10c.c: Dead code.  Remove.

* Don't compile g10c.c.

15 years ago* g10u.c: Dead code. Remove.
David Shaw [Tue, 30 Dec 2003 00:50:32 +0000 (00:50 +0000)]
* g10u.c: Dead code.  Remove.

* Don't compile g10u.c.

* iobuf.c (block_filter): Properly handle a partial body stream that ends
with a 5-byte length.

15 years ago* misc.c (pull_in_libs): Dead code. Removed.
David Shaw [Tue, 30 Dec 2003 00:46:42 +0000 (00:46 +0000)]
* misc.c (pull_in_libs): Dead code.  Removed.

* sig-check.c (check_revocation_keys): Comments.

* getkey.c (merge_selfsigs_main): Don't bother to check designated revoker
sigs if the key is already revoked.

* packet.h, getkey.c (merge_selfsigs_main): New "maybe_revoked" flag on
PKs.  It is set when there is a revocation signature from a valid
revocation key, but the revocation key is not present to verify the

* pkclist.c (check_signatures_trust): Use it here to give a warning when
showing key trust.

* compress-bz2.c: Include stdio.h.  Solaris 9 has a very old bzip2 library
and we can at least guarantee that it won't fail because of the lack of

* tdbio.c: Fixed format string bugs related to the use of DB_NAME.
Reported by Florian Weimer.

15 years ago* gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code that
David Shaw [Sun, 28 Dec 2003 16:21:46 +0000 (16:21 +0000)]
* gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code that
passes the proxy in from the outside.  If the command file sends a proxy,
use it.  If it sends "http-proxy" with no arguments, use $http_proxy from
the environment.

15 years ago* options.h, g10.c (main), keyserver.c (keyserver_opts,
David Shaw [Sun, 28 Dec 2003 16:08:04 +0000 (16:08 +0000)]
* options.h, g10.c (main), keyserver.c (keyserver_opts,
parse_keyserver_uri): honor-http-proxy is no longer an option since we can
do the same thing with http-proxy with no arguments. Also remove
broken-http-proxy since it can be better handled in the HTTP helper.

15 years ago* http.h: Pass the http proxy from outside rather than pulling it from the
David Shaw [Sun, 28 Dec 2003 15:57:06 +0000 (15:57 +0000)]
* http.h: Pass the http proxy from outside rather than pulling it from the

15 years ago* http.c (send_request, http_open_document, http_open): Pass the http
David Shaw [Sun, 28 Dec 2003 15:55:53 +0000 (15:55 +0000)]
* http.c (send_request, http_open_document, http_open): Pass the http
proxy from outside rather than pulling it from the evironment.

15 years ago* keyserver.c (argsep): New variation on strsep that knows about optional
David Shaw [Sun, 28 Dec 2003 15:46:49 +0000 (15:46 +0000)]
* keyserver.c (argsep): New variation on strsep that knows about optional
arguments. (parse_keyserver_options): Use it here for optional arguments.

15 years agocleaned up RISC OS code and removed lots of unnecessary stuff
Stefan Bellon [Sun, 28 Dec 2003 14:12:16 +0000 (14:12 +0000)]
cleaned up RISC OS code and removed lots of unnecessary stuff

15 years ago* keyserver.c (strip_leading_space, get_arg): New.
David Shaw [Sun, 28 Dec 2003 04:38:00 +0000 (04:38 +0000)]
* keyserver.c (strip_leading_space, get_arg): New.
(parse_keyserver_options): Use them here to allow arguments to
keyserver-options.  Since none of our options need arguments yet, just
pass them through whole to the keyserver helper.

15 years ago* main.h, misc.c (parse_options): Add a "noisy" flag to enable and disable
David Shaw [Sun, 28 Dec 2003 03:46:43 +0000 (03:46 +0000)]
* main.h, misc.c (parse_options): Add a "noisy" flag to enable and disable
the messages about which option didn't match or matched ambiguously.
Change all callers (g10.c, keyserver.c).

* main.h, import.c (import_options), export.c (export_options): Pass the
noisy flag through.

15 years ago* build-packet.c (write_fake_data, do_secret_key), seckey-cert.c
David Shaw [Wed, 17 Dec 2003 23:04:53 +0000 (23:04 +0000)]
* build-packet.c (write_fake_data, do_secret_key), seckey-cert.c
(do_check): Use an unsigned length for mpi_get_opaque.

* options.h: It's impolite to assign -1 to an unsigned

15 years ago* mpiutil.c (mpi_set_opaque, mpi_get_opaque): Make the length of an opaque
David Shaw [Wed, 17 Dec 2003 22:30:57 +0000 (22:30 +0000)]
* mpiutil.c (mpi_set_opaque, mpi_get_opaque): Make the length of an opaque
MPI unsigned.

15 years ago* mpi.h (gcry_mpi, mpi_get_opaque, mpi_set_opaque): Make nbits and the
David Shaw [Wed, 17 Dec 2003 22:28:49 +0000 (22:28 +0000)]
* mpi.h (gcry_mpi, mpi_get_opaque, mpi_set_opaque): Make nbits and the
length of an opaque MPI unsigned.

15 years ago* sig-check.c (cmp_help, do_check), sign.c (do_sign): Remove old unused
David Shaw [Wed, 17 Dec 2003 19:21:41 +0000 (19:21 +0000)]
* sig-check.c (cmp_help, do_check), sign.c (do_sign): Remove old unused

* keyid.c (keyid_from_sk): Make sure lowbits is initialized.

15 years ago* dsa.h, dsa.c (dsa_verify), elgamal.h, elgamal.c (elg_verify), rsa.h,
David Shaw [Wed, 17 Dec 2003 19:05:23 +0000 (19:05 +0000)]
* dsa.h, dsa.c (dsa_verify), elgamal.h, elgamal.c (elg_verify), rsa.h,
rsa.c (rsa_verify), pubkey.c (dummy_verify, pubkey_verify): Remove old
unused code.

15 years ago* cipher.h (pubkey_verify): Remove old unused code.
David Shaw [Wed, 17 Dec 2003 19:01:22 +0000 (19:01 +0000)]
* cipher.h (pubkey_verify): Remove old unused code.

16 years ago* sig-check.c (do_check): Move the signing algo and hash checks from
David Shaw [Sat, 13 Dec 2003 03:53:27 +0000 (03:53 +0000)]
* sig-check.c (do_check): Move the signing algo and hash checks from
here... (signature_check2): ... to here. (check_key_signature2): ... and
here.  This is a minor optimization to avoid fetching a key (which can be
expensive, especially if it is not self-signed, and there are many key
signatures on it which need to be checked for ultimate trust) if the
signature would have failed anyway because of algorithm or hash problems.

16 years ago* packet.h, build-packet.c (hash_public_key): Remove function ...
David Shaw [Thu, 11 Dec 2003 01:07:42 +0000 (01:07 +0000)]
* packet.h, build-packet.c (hash_public_key): Remove function ...

* keydb.h, keyid.c (hash_public_key, do_fingerprint_md): ... and make a
new one here that shares code with the fingerprint calculations.  This
removes some duplicated functionality, and is also around 14% faster.
(Every bit helps).

* import.c (import_one): No longer need the Elgamal import warning.

* getkey.c (get_pubkey_fast): This one is sort of obscure. get_pubkey_fast
returns the primary key when requesting a subkey, so if a user has a key
signed by a subkey (we don't do this, but used to), AND that key is not
self-signed, AND the algorithm of the subkey in question is not present in
GnuPG, AND the algorithm of the primary key that owns the subkey in
question is present in GnuPG, then we will try and verify the subkey
signature using the primary key algorithm and hit a BUG().  The fix is to
not return a hit if the keyid is not the primary.  All other users of
get_pubkey_fast already expect a primary only.

16 years ago* keyid.c (do_fingerprint_md): Remove the rules to hash the old v3 Elgamal
David Shaw [Wed, 10 Dec 2003 01:59:45 +0000 (01:59 +0000)]
* keyid.c (do_fingerprint_md): Remove the rules to hash the old v3 Elgamal
keys.  They are no longer needed.

16 years ago* keyid.c (keyid_from_sk, keyid_from_pk, fingerprint_from_pk,
David Shaw [Wed, 10 Dec 2003 01:52:33 +0000 (01:52 +0000)]
* keyid.c (keyid_from_sk, keyid_from_pk, fingerprint_from_pk,
fingerprint_from_sk): Enforce the v3-is-only-RSA rule.  Anything that
isn't RSA gets a zero keyid and fingerprint.

16 years ago* keyid.c (do_fingerprint_md): Properly handle hashing of keys that we
David Shaw [Wed, 10 Dec 2003 01:27:55 +0000 (01:27 +0000)]
* keyid.c (do_fingerprint_md): Properly handle hashing of keys that we
don't know the structure of by using the opaque MPI.
(do_fingerprint_md_sk): We cannot calculate the fingerprint from a secret
key unless we know the structure (since we can't leave off the secret key
parts), so fail early..... (keyid_from_sk, fingerprint_from_sk): .... and
return all zeroes.

16 years agoRemoved accidential added file
Werner Koch [Tue, 9 Dec 2003 09:19:36 +0000 (09:19 +0000)]
Removed accidential added file

16 years ago* Add a min_automake_version.
Werner Koch [Tue, 9 Dec 2003 09:12:43 +0000 (09:12 +0000)]
* Add a min_automake_version.
* Revamped except for the --build-w32 hack.

16 years ago* gpg.sgml: Fix a few missing semicolons in & entities. Noted by
David Shaw [Tue, 9 Dec 2003 05:09:37 +0000 (05:09 +0000)]
* gpg.sgml: Fix a few missing semicolons in & entities.  Noted by
Christian Biere.  Some minor grammar fixes.  Remove the "host -l |
grep wwwkeys" advice since the nameserver no longer all allow zone
transfers.  Replace it with a mention of hkp://  Note that
BZIP2 defaults to compression level 6.

16 years ago* gpgsplit.c (write_part): Split off decompression code. (handle_zlib):
David Shaw [Sat, 6 Dec 2003 20:02:59 +0000 (20:02 +0000)]
* gpgsplit.c (write_part): Split off decompression code. (handle_zlib):
Move it here. (handle_bzip2): Add this to handle BZIP2 compressed

16 years ago* http.c (send_request): Add a Host: header for virtual hosts.
David Shaw [Sat, 6 Dec 2003 18:35:32 +0000 (18:35 +0000)]
* http.c (send_request): Add a Host: header for virtual hosts.

16 years ago* Reenable tests now that the Elgamal signature keys are
David Shaw [Fri, 5 Dec 2003 13:32:48 +0000 (13:32 +0000)]
* Reenable tests now that the Elgamal signature keys are

*, pubring.asc, secring.asc, plain-1.asc, plain-2.asc,
plain-3.asc: Remove the old v3 Elgamal keys and replace with RSA+Elgamal
and RSA s+e.

16 years ago* miscutil.c (answer_is_yes_no_default, answer_is_yes_no_quit): Don't use
David Shaw [Fri, 5 Dec 2003 04:20:47 +0000 (04:20 +0000)]
* miscutil.c (answer_is_yes_no_default, answer_is_yes_no_quit): Don't use
alternate strings when not needed so we don't have to re-translate them.
Hopefully the comment will be enough to indicate multiple match strings.

16 years ago* config.links: Show target in asm-syntax.h file and include targets for
David Shaw [Fri, 5 Dec 2003 04:15:31 +0000 (04:15 +0000)]
* config.links: Show target in asm-syntax.h file and include targets for
K*BSD (GNU userland with BSD kernel).

16 years ago* cipher.h: Make cipher list match 2440bis-09.
David Shaw [Thu, 4 Dec 2003 05:24:32 +0000 (05:24 +0000)]
* cipher.h: Make cipher list match 2440bis-09.

16 years ago* pubkey.c (setup_pubkey_table): Don't allow signatures to and from
David Shaw [Thu, 4 Dec 2003 05:17:56 +0000 (05:17 +0000)]
* pubkey.c (setup_pubkey_table): Don't allow signatures to and from
encrypt-only Elgamal keys. (pubkey_get_npkey, pubkey_get_nskey,
pubkey_get_nsig, pubkey_get_nenc, pubkey_nbits): Wrap the RSA cheats in
!USE_RSA. Add cheats for sign+encrypt Elgamal.

16 years ago* g10.c (strusage, main): Show development version warning in --version
David Shaw [Thu, 4 Dec 2003 04:58:12 +0000 (04:58 +0000)]
* g10.c (strusage, main): Show development version warning in --version
output. (main): Set --bzip2-compress-level to the default value at
startup.  Remove --emulate-checksum-bug noop.

16 years ago* options: Remove emulate-md-encode-bug.
David Shaw [Thu, 4 Dec 2003 04:38:56 +0000 (04:38 +0000)]
* options: Remove emulate-md-encode-bug.

16 years ago* options.h, g10.c (main), main.h, seskey.c (do_encode_md,
David Shaw [Thu, 4 Dec 2003 04:34:08 +0000 (04:34 +0000)]
* options.h, g10.c (main), main.h, seskey.c (do_encode_md,
encode_md_value), sig-check.c (do_check), sign.c (do_sign): Remove
--emulate-md-encode-bug as it only applied to Elgamal signatures, which
are going away.

16 years ago* NEWS: Note --disable-rsa.
David Shaw [Mon, 1 Dec 2003 00:48:16 +0000 (00:48 +0000)]
* NEWS: Note --disable-rsa.

* Add --disable-rsa.

* README: Add --with-zlib, --with-bzip2, --without-bzip2, --disable-rsa,
and --enable-minimal.  Update gettext version.

16 years ago* pubkey.c (setup_pubkey_table): Only include RSA if USE_RSA is defined.
David Shaw [Mon, 1 Dec 2003 00:43:51 +0000 (00:43 +0000)]
* pubkey.c (setup_pubkey_table): Only include RSA if USE_RSA is defined.
(pubkey_get_npkey): Return 2 for RSA even if it isn't available so we can
at least handle RSA keys.

pubkey.c CVS:

16 years ago* README: Update version number. Add BZIP2. Remove Elgamal sign+encrypt.
David Shaw [Mon, 1 Dec 2003 00:02:06 +0000 (00:02 +0000)]
* README: Update version number.  Add BZIP2.  Remove Elgamal sign+encrypt.

16 years ago* mainproc.c (proc_symkey_enc, proc_encrypted): Add ability to use
David Shaw [Sun, 30 Nov 2003 15:33:04 +0000 (15:33 +0000)]
* mainproc.c (proc_symkey_enc, proc_encrypted): Add ability to use
--override-session-key on --symmetric messages (new-style or old-style).
(proc_pubkey_enc): Move code to show session key from here to
proc_encrypted() so it can work with any type of message. Suggested by
Michael Young.

16 years ago* trustdb.c (validate_keys): Reset the trustdb before checking if we have
David Shaw [Sun, 30 Nov 2003 00:33:27 +0000 (00:33 +0000)]
* trustdb.c (validate_keys): Reset the trustdb before checking if we have
any ultimately trusted keys.  This ensures that if we lose all our
ultimately trusted keys, we don't leave behind the old validity
calculations.  Noted by Peter Palfrader.

* revoke.c (gen_desig_revoke): Specify in the comment when a designated
revocation is generated.

* getkey.c (merge_selfsigs_main, merge_selfsigs_subkey,
get_seckey_byname2): Remove Elgamal check since we are removing type 20
keys altogether.

16 years agopost release version number bumb
Werner Koch [Thu, 27 Nov 2003 17:23:56 +0000 (17:23 +0000)]
post release version number bumb

16 years ago(TESTS): Temporary remove tests using ElG signatures. V1-3-4
Werner Koch [Thu, 27 Nov 2003 16:57:41 +0000 (16:57 +0000)]
(TESTS): Temporary remove tests using ElG signatures.

16 years agoabout to release 1.3.4
Werner Koch [Thu, 27 Nov 2003 16:45:28 +0000 (16:45 +0000)]
about to release 1.3.4

16 years ago* NEWS: Note that we won't encrypt to an Elgamal sign+encrypt key any
David Shaw [Thu, 27 Nov 2003 14:59:08 +0000 (14:59 +0000)]
* NEWS: Note that we won't encrypt to an Elgamal sign+encrypt key any

16 years agoMinor additions
Werner Koch [Thu, 27 Nov 2003 14:50:44 +0000 (14:50 +0000)]
Minor additions

16 years ago* pubkey.c (pubkey_sign): Return an error if an ElGamal key is used.
Werner Koch [Thu, 27 Nov 2003 14:47:59 +0000 (14:47 +0000)]
* pubkey.c (pubkey_sign): Return an error if an ElGamal key is used.

* elgamal.c (gen_k): New arg SMALL_K.
(sign): Use it here with SMALL_K set to false
(do_encrypt): and here with SMALL_K set to true.

16 years ago* pkclist.c (build_pk_list): Do not allow an empty PK list in interactive
David Shaw [Thu, 27 Nov 2003 14:47:00 +0000 (14:47 +0000)]
* pkclist.c (build_pk_list): Do not allow an empty PK list in interactive

* getkey.c (get_seckey_byname2): Disallow use of sign+encrypt Elgamal

16 years agoSolved cvs conflict
Werner Koch [Thu, 27 Nov 2003 13:55:24 +0000 (13:55 +0000)]
Solved cvs conflict

16 years agoAuto-updates
Werner Koch [Thu, 27 Nov 2003 13:54:37 +0000 (13:54 +0000)]

16 years ago* keygen.c (ask_algo): Remove ability to generate Elgamal sign+encrypt
David Shaw [Thu, 27 Nov 2003 13:53:34 +0000 (13:53 +0000)]
* keygen.c (ask_algo): Remove ability to generate Elgamal sign+encrypt

* getkey.c (merge_selfsigs_main, merge_selfsigs_subkey): Disallow use of
sign+encrypt Elgamal keys.

16 years ago* Use MSG_NOTICE instead of MSG_WARN for less serious
David Shaw [Thu, 27 Nov 2003 13:43:21 +0000 (13:43 +0000)]
* Use MSG_NOTICE instead of MSG_WARN for less serious

* NEWS: I meant "less" not "more".

16 years ago(get_key): Fixed invalid use of fprintf without
Werner Koch [Thu, 27 Nov 2003 12:16:43 +0000 (12:16 +0000)]
(get_key): Fixed invalid use of fprintf without
format string.

16 years ago* gpg.sgml: Note the new combinations with --symmetric and --encrypt.
David Shaw [Fri, 21 Nov 2003 05:13:23 +0000 (05:13 +0000)]
* gpg.sgml: Note the new combinations with --symmetric and --encrypt.
Document --bzip2-compress-level, and --bzip2-compress-lowmem.  Clarify the
plurarility (or not) of various list and verify options.  Document BZIP2
in the --compress-algo section.  Warn about compatibility issues with ZLIB
and BZIP2.

16 years ago* gpg.sgml: Document --compress-level. Some minor tweaks to other
David Shaw [Fri, 21 Nov 2003 01:26:29 +0000 (01:26 +0000)]
* gpg.sgml: Document --compress-level.  Some minor tweaks to other

* TRANSLATE: New, note to translators about the yes|yes multiple match

* Include TRANSLATE in distributed files.

16 years ago* config.links: sparc64 assembler doesn't work on FreeBSD or OpenBSD
David Shaw [Fri, 21 Nov 2003 01:13:55 +0000 (01:13 +0000)]
* config.links: sparc64 assembler doesn't work on FreeBSD or OpenBSD

16 years ago* seskey.c (do_encode_md): Comment about earlier (pre-PGP 2.3) encodings.
David Shaw [Fri, 21 Nov 2003 01:11:25 +0000 (01:11 +0000)]
* seskey.c (do_encode_md): Comment about earlier (pre-PGP 2.3) encodings.

* misc.c (compress_algo_to_string): Translate "Uncompressed". Requested by
Tommi Vainikainen. (string_to_compress_algo): Include multi-string for

16 years ago* util.h: Add prototype for match_multistr().
David Shaw [Fri, 21 Nov 2003 01:03:51 +0000 (01:03 +0000)]
* util.h: Add prototype for match_multistr().

16 years ago* miscutil.c (match_multistr): New. Match against each segment in a
David Shaw [Fri, 21 Nov 2003 01:02:04 +0000 (01:02 +0000)]
* miscutil.c (match_multistr): New.  Match against each segment in a
string with tokens separated by |. (answer_is_yes_no_default,
answer_is_yes_no_quit, answer_is_okay_cancel): Use it here to enable
alternate translations.

16 years ago* options.h, g10.c (main), compress-bz2.c (init_uncompress): Add
David Shaw [Tue, 18 Nov 2003 02:52:35 +0000 (02:52 +0000)]
* options.h, g10.c (main), compress-bz2.c (init_uncompress): Add
--bz2-compress-lowmem to set bzlib "small" flag for low memory (but slow)

16 years ago* compress.c (init_compress): Remove compress level 10 trick, since it is
David Shaw [Sat, 15 Nov 2003 23:54:14 +0000 (23:54 +0000)]
* compress.c (init_compress): Remove compress level 10 trick, since it is
no longer needed.

* g10.c: Fix typoed option name.

* compress-bz2.c (init_compress): Compression level 0 is not meaningful
for bzip2.

16 years ago* options.h, g10.c (main), compress.c (init_compress), compress-bz2.c
David Shaw [Sat, 15 Nov 2003 22:31:58 +0000 (22:31 +0000)]
* options.h, g10.c (main), compress.c (init_compress), compress-bz2.c
(init_compress): Add --compress-level and --bzip2-compress-level.  -z sets
them both.  Change various callers.

16 years ago* encode.c (encode_simple), sign.c (sign_symencrypt_file): Properly use
David Shaw [Sat, 15 Nov 2003 15:38:43 +0000 (15:38 +0000)]
* encode.c (encode_simple), sign.c (sign_symencrypt_file): Properly use
default_compress_algo (--compress-algo, followed by the highest
--personal-compress-preference, followed by ZIP) to get the algorithm.

16 years ago* options.h, trustdb.c (trust_model_string, init_trustdb): Add support for
David Shaw [Sat, 15 Nov 2003 00:19:49 +0000 (00:19 +0000)]
* options.h, trustdb.c (trust_model_string, init_trustdb): Add support for
"external" trust model, where the user can provide a pregenerated trustdb.

* keyedit.c (keyedit_menu): Do not allow editing ownertrust with an
external trust model trustdb.

16 years ago* options.h, g10.c, keyedit.c, keylist.c, mainproc.c: Clarify the
David Shaw [Fri, 14 Nov 2003 05:06:19 +0000 (05:06 +0000)]
* options.h, g10.c, keyedit.c, keylist.c, mainproc.c: Clarify the
plurarility (or not) of various list and verify options.

16 years ago* NEWS: Note BZIP2.
David Shaw [Thu, 13 Nov 2003 04:02:17 +0000 (04:02 +0000)]
* NEWS: Note BZIP2.

16 years ago* g10.c (main): Add --symmetric --sign --encrypt.
David Shaw [Thu, 13 Nov 2003 02:54:12 +0000 (02:54 +0000)]
* g10.c (main): Add --symmetric --sign --encrypt.

* main.h, encode.c (setup_symkey): New.  Prompt for a passphrase and
create a DEK for symmetric encryption. (write_symkey_enc): New.  Write out
symmetrically encrypted session keys. (encode_crypt, encrypt_filter): Use
them here here when creating a message that can be decrypted with a
passphrase or a pk.

* sign.c (sign_file): Call setup_symkey if we are doing a --symmetric
--sign --encrypt.

16 years ago* Make sure that the resolver API actually compiles, and not
David Shaw [Thu, 13 Nov 2003 01:06:40 +0000 (01:06 +0000)]
* Make sure that the resolver API actually compiles, and not
just that the right functions exist.

16 years ago* mainproc.c (proc_symkey_enc): Don't show algorithm information when
David Shaw [Mon, 10 Nov 2003 04:33:13 +0000 (04:33 +0000)]
* mainproc.c (proc_symkey_enc): Don't show algorithm information when
--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.

* g10.c: Alias --personal-xxx-prefs to --personal-xxx-preferences.

16 years ago* pkclist.c (build_pk_list): When adding recipients interactively, allow
David Shaw [Mon, 10 Nov 2003 01:30:12 +0000 (01:30 +0000)]
* pkclist.c (build_pk_list): When adding recipients interactively, allow
the user to stop at any point.

16 years ago* http.c (connect_server): Differentiate between generic "can't connect"
David Shaw [Sat, 1 Nov 2003 14:27:10 +0000 (14:27 +0000)]
* http.c (connect_server): Differentiate between generic "can't connect"
errors and the more specific "host not found". Suggested by Samuel

16 years ago* trustdb.h, trustdb.c (register_trusted_keyid): New. Adds a keyid to the
David Shaw [Sat, 1 Nov 2003 01:13:16 +0000 (01:13 +0000)]
* trustdb.h, trustdb.c (register_trusted_keyid): New.  Adds a keyid to the
list of ultimately trusted keys.

* keygen.c (do_generate_keypair): Use it here so that the ultimate
ownertrust happens before the trustdb (might be) rebuilt.  Also fix an
error where the newly generated pk is thought to be a subkey by the

* g10.c (main): Fix --export-all do actually do something different than

* pkclist.c (build_pk_list): Show all recipients rather than showing each
recipient as they are added.

* mainproc.c (proc_symkey_enc, proc_encrypted): Keep a count of the number
of passphrases that can decrypt a symmetric or mixed symmetric/pk message
and include it in the list of keys shown to the user.

16 years ago* Locate libbz2 for bzip2 compression support.
David Shaw [Fri, 31 Oct 2003 05:39:41 +0000 (05:39 +0000)]
* Locate libbz2 for bzip2 compression support.

16 years ago* misc.c (compress_algo_to_string, string_to_compress_algo,
David Shaw [Fri, 31 Oct 2003 05:39:02 +0000 (05:39 +0000)]
* misc.c (compress_algo_to_string, string_to_compress_algo,
check_compress_algo): Add bzip2.

* 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.

* Include compress-bz2.c if bz2lib is available.

16 years ago* cipher.h: Add COMPRESS_ALGO_BZIP2.
David Shaw [Fri, 31 Oct 2003 05:07:40 +0000 (05:07 +0000)]
* cipher.h: Add COMPRESS_ALGO_BZIP2.

16 years ago(close_ct_reader, close_pcsc_reader): Implemented.
Werner Koch [Thu, 30 Oct 2003 09:30:20 +0000 (09:30 +0000)]
(close_ct_reader, close_pcsc_reader): Implemented.
(get_ccid_error_string): New.  Not very useful messages, though.

16 years ago* cardglue.c (open_card): Ask for card insertion.
Werner Koch [Wed, 29 Oct 2003 10:07:44 +0000 (10:07 +0000)]
* cardglue.c (open_card): Ask for card insertion.
(check_card_serialno): New.
(agent_scd_pksign, agent_scd_pkdecrypt): Use it here.
* cardglue.c (open_card): Issue insertion status message.
* status.h, status.c (STATUS_CARDCTRL): New.

* status.c (cpr_get_answer_okay_cancel): New.

* miscutil.c (answer_is_okay_cancel): New.

16 years ago* DETAILS: Add the 'a' value for field 12 and the new field 15.
Werner Koch [Tue, 28 Oct 2003 09:25:06 +0000 (09:25 +0000)]
* DETAILS: Add the 'a' value for field 12 and the new field 15.

* keylist.c (list_keyblock_print): Denote secrets keys stored on a
card with an '>'. Print the '#' also for subkeys.
(list_keyblock_colon): Introduce new field 15 for sec/ssb to print
the serial number.

16 years ago* NEWS: Note --symmetric --encrypt and the improved config file search.
David Shaw [Sun, 26 Oct 2003 15:56:53 +0000 (15:56 +0000)]
* NEWS: Note --symmetric --encrypt and the improved config file search.


16 years ago* g10.c (main): Enhance the version-specific config file code to try for
David Shaw [Sun, 26 Oct 2003 15:49:44 +0000 (15:49 +0000)]
* g10.c (main): Enhance the version-specific config file code to try for
more specific matches before giving up (e.g. 1.3.3-cvs, 1.3.3, 1.3, 1).

16 years ago* g10.c (main): Add --symmetric --encrypt command. This generates a
David Shaw [Sun, 26 Oct 2003 03:26:14 +0000 (03:26 +0000)]
* g10.c (main): Add --symmetric --encrypt command.  This generates a
message that can be decrypted via a passphrase or public key system.

* main.h, encode.c (encode_seskey): Allow passing in an already-created
session key dek. (encode_simple): Use the actual symmetric cipher when
encrypting a session key for a symmetric message. (encode_crypt): Add a
flag to trigger a hybrid mode that can be decrypted via a passphrase or a
pk.  Change all callers.

* mainproc.c (symkey_decrypt_sesskey): There is no way to tell the
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.