aboutsummaryrefslogtreecommitdiffstats
path: root/g10 (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* * armor.c (fake_packet, armor_filter): Use the 2440 partial lengthDavid Shaw2004-03-042-25/+53
| | | | | encoding for the faked plaintext packet.
* * options.h, g10.c (main), mainproc.c (check_sig_and_print): RemoveDavid Shaw2004-03-034-12/+13
| | | | | | verify-option show-long-keyids and replace with the more general keyid-format.
* * build-packet.c (write_header2): Remove call to start old gpg partialDavid Shaw2004-03-033-77/+89
| | | | | | | | | | | length mode and change all callers. (do_plaintext): Turn off partial length encoding now that we're done writing the packet. (do_comment, do_user_id): Try for a headerlen of 2 since that's the smallest and most likely encoding for these packets. * parse-packet.c (parse): Remove call to start old gpg partial length mode.
* * options.h, g10.c (main): Add a more flexible --keyid-format option toDavid Shaw2004-03-037-81/+133
| | | | | | | | | | | | replace the list-option (and eventually verify-option) show-long-keyids. The format can be short, long, 0xshort, and 0xlong. * keydb.h, keyid.c (keystr, keystrlen): New functions to generate a printable keyid. * keyedit.c (print_and_check_one_sig, show_key_with_all_names), keylist.c (list_keyblock_print): Use new keystr() function here to print keyids.
* * packet.h, free-packet.c (free_encrypted, free_plaintext), parse-packet.cDavid Shaw2004-03-034-52/+66
| | | | | | | | (copy_packet, skip_packet, skip_rest, read_rest, parse_plaintext, parse_encrypted, parse_gpg_control): Use a flag to indicate partial or indeterminate encoding. This is the first step in some minor surgery to remove the old gpg partial length encoding.
* * parse-packet.c (parse): Only data-type packets are allowed to useDavid Shaw2004-03-012-28/+51
| | | | | OpenPGP partial length encoding.
* * delkey.c (do_delete_key): Allow deleting a public key with a secretDavid Shaw2004-02-268-33/+35
| | | | | | | | | | | | | present if --expert is set. * plaintext.c (handle_plaintext): Make bytecount static so it works with multiple literal packets inside a message. * encode.c, helptext.c (keygen.algo, keygen.algo.elg_se), keygen.c (ask_algo), sig-check.c (do_check_messages), skclist.c (build_sk_list): Rename "ElGamal" to "Elgamal" as that is the proper spelling nowadays. Suggested by Jon Callas.
* * plaintext.c: Copyright.David Shaw2004-02-247-172/+201
| | | | | | | | | | | | | | * encode.c (encode_simple): Show cipher with --verbose. * options.h, g10.c (main), keyedit.c (sign_keys): Add --ask-cert-level option to enable cert level prompts during sigs. Defaults to on. Simplify --default-cert-check-level to --default-cert-level. If ask-cert-level is off, or batch is on, use the default-cert-level as the cert level. * options.h, g10.c (main), trustdb.c (mark_usable_uid_certs): Simplify --min-cert-check-level to --min-cert-level.
* * options.h, g10.c (main), trustdb.c (mark_usable_uid_certs): AddDavid Shaw2004-02-234-6/+23
| | | | | | --min-cert-check-level option to specify minimum cert check level. Defaults to 2 (so 0x11 sigs are ignored). 0x10 sigs cannot be ignored.
* * plaintext.c (handle_plaintext): Properly handle a --max-output of zeroDavid Shaw2004-02-222-5/+8
| | | | | (do not limit output at all).
* * keyserver.c (keyserver_spawn): Use the full 64-bit keyid in the INFODavid Shaw2004-02-222-8/+35
| | | | | | | header lines, and include "sig:" records for the benefit of people who store their keys in LDAP servers. It makes it easy to do queries for things like "all keys signed by Isabella".
* * main.h, misc.c (hextobyte): Removed. It's in libutil.a now.David Shaw2004-02-213-26/+4
|
* * keyserver.c (keyserver_export): Disallow user strings that aren't keyDavid Shaw2004-02-202-13/+35
| | | | | | | IDs. (keyserver_import): Clarify error message. (keyserver_spawn): Properly handle 8 bit characters in user IDs in the info lines during SEND.
* * mkdtemp.c: Removed.David Shaw2004-02-204-101/+13
| | | | | | | | * Makefile.am: We get mkdtemp.c from libutil.a now, so don't link with @LIBOBJS@. * keyserver.c (keyserver_spawn): Pass the scheme to the keyserver helper.
* * options.h, g10.c (main), plaintext.c (handle_plaintext): AddDavid Shaw2004-02-184-23/+81
| | | | | --max-output option to help people deal with decompression bombs.
* * build-packet.c (do_user_id): Do not force a header for attribute packetsDavid Shaw2004-02-152-3/+7
| | | | | | as they require a new CTB, and we don't support forced headers for new CTBs yet.
* * build-packet.c (write_header2): If a suggested header length is providedDavid Shaw2004-02-154-36/+58
| | | | | | | | | | | | | along with a zero length, interpret this as an actual zero length packet and not as an indeterminate length packet. (do_comment, do_user_id): Use it here as these packets might be naturally zero length. * parse-packet.c (parse): Show packet type when failing due to an indeterminate length packet. * misc.c (parse_options): Only provide args for the true (i.e. not "no-xxx") form of options.
* * keyserver.c (argsep): Move to misc.c.David Shaw2004-02-147-93/+103
| | | | | | | * main.h, misc.c (parse_options), export.c (parse_export_options), import.c (parse_import_options), g10.c (main): Use it here to allow for options with optional arguments. Change all callers.
* * import.c (check_prefs): Some language fixes. (sec_to_pub_keyblock,David Shaw2004-02-142-7/+21
| | | | | | import_secret_one): Without knowing the number of MPIs there are, we cannot try and sk-to-pk-ize a key.
* * import.c (check_prefs): New function to check preferences on a publicDavid Shaw2004-02-122-10/+152
| | | | | | | | | key to ensure that it does not advertise any that we cannot fulfill. Use the keyedit command list function to optionally rewrite the prefs. (import_one, import_secret_one): Use it here when importing a public key that we have the secret half of, or when importing a secret key that we have the public half of.
* * main.h, keyedit.c (keyedit_menu): Remove sign_mode and enhance the moreDavid Shaw2004-02-124-110/+107
| | | | | | | | general command list functionality to replace it. * g10.c (main): Use the general command functionality to implement --sign-key, --lsign-key, --nrsign-key, and --nrlsign-key.
* * import.c (import_one): Do the revocation check even in the case when aDavid Shaw2004-02-122-7/+17
| | | | | | | key, a revocation key set in a direct key signature, and a revocation from that revocation key, all arrive piecemeal. Needless to say, this is pretty obscure.
* * options.h, g10.c (main), keylist.c (list_keyblock_print): AddDavid Shaw2004-02-114-4/+23
| | | | | | "show-unusable-subkeys" list-option to show revoked and/or expired subkeys.
* * keyedit.c (keyedit_menu): Prompt for subkey removal for both secret andDavid Shaw2004-02-117-21/+73
| | | | | | | | | | | | | | public subkeys. * keylist.c (list_keyblock_print), keyedit.c (show_key_with_all_names): Show the revocation date of a key/subkey, and general formatting work. * packet.h, getkey.c (merge_selfsigs_main, merge_selfsigs_subkey, merge_selfsigs): Keep track of the revocation date of a key. * keydb.h, keyid.c (revokestr_from_pk): New function to print the revocation date of a key.
* * keygen.c (keygen_set_std_prefs): Build the default preferences list atDavid Shaw2004-02-108-65/+111
| | | | | | | | | | | | | | | | | | | | | | runtime as it properly handles algorithms disabled at build or run time. * getkey.c (merge_selfsigs_main): Properly handle expired user IDs when the expired self-sig is not the only self-sig. * misc.c (compress_algo_to_string): Return NULL on failure like all of the other xxxx_algo_to_string() functions. * mainproc.c (list_node): Minor spacing tweak to match --list-keys output. * keylist.c (list_keyblock_print), mainproc.c (list_node): Mark revoked subkeys as revoked. Requested by Matthew Wilcox. Revoked overrides expiration when both apply. * keyedit.c (show_prefs): Use compress algo constants. (show_basic_key_info): Make revoked and expired tags translatable. * g10.c (rm_group): Properly ungroup from a list of groups.
* * g10.c (main, rm_group): Add --ungroup command to remove a particularDavid Shaw2004-01-306-34/+75
| | | | | | | | | | | | group. (add_group): When adding a group with the same name as an already existing group, merge the two groups. (list_config): Show an error message when listing a config item that doesn't exist. (main): Replace -z0 trick for no compression. * packet.h, keyedit.c (show_key_with_all_names_colon), keylist.c (list_keyblock_colon), mainproc.c (list_node, proc_tree): Minor cleanup to remove local_id, which is no longer used.
* * getkey.c: Set MAX_PK_CACHE_ENTRIES and MAX_UID_CACHE_ENTRIES toDavid Shaw2004-01-285-26/+79
| | | | | | | | | | | | | | | PK_UID_CACHE_SIZE (set in ./configure). * getkey.c (get_pubkey): When reading key data into the cache, properly handle keys that are partially (pk, no UIDs) cached already. This is Debian bug #176425 and #229549. * compress.c (init_compress, push_compress_filter2): Do the right thing (i.e. nothing) with compress algo 0. * main.h, decrypt.c (decrypt_messages): Accept filenames to decrypt on stdin. This is bug #253.
* * mainproc.c (list_node): Show sigs with --verbose.David Shaw2004-01-246-16/+45
| | | | | | | | | * options.h, g10.c (set_screen_dimensions): New function to look at COLUMNS and LINES. * keyserver.c (parse_keyrec, keyserver_search_prompt), keyedit.c (print_and_check_one_sig): Use new screen dimension variables.
* * g10.c (list_config): New function to dump config options to stdout.David Shaw2004-01-222-15/+169
| | | | | | | | | Currently requires --with-colons. (collapse_args): New function to turn argc/argv into a single string. (main): Use it here to pass list_config() more than one argument as a single string. (print_algo_numbers): Helper to print algorithm number for --list-config "pubkey", "cipher", "hash"/"digest", and "compress" config options.
* * packet.h, getkey.c (merge_selfsigs, merge_selfsigs_main), pkclist.cDavid Shaw2004-01-224-11/+21
| | | | | | (check_signatures_trust): Indicate who has revoked a key (the owner or a designated revoker). If a key was revoked by both, prefer the owner.
* * keyedit.c (print_and_check_one_sig, keyedit_menu): Use the COLUMNSDavid Shaw2004-01-212-1/+18
| | | | | | environment variable (if any) to hint how wide the terminal is. Disabled on _WIN32. Suggested by Janusz A. Urbanowicz.
* * keylist.c (set_attrib_fd): Open attribute fd in binary mode. This isn'tDavid Shaw2004-01-212-3/+8
| | | | | meaningful on POSIX systems, but the Mingw builds aren't exactly POSIX.
* * trustdb.c (reset_trust_records): New, faster, implementation thatDavid Shaw2004-01-212-86/+31
| | | | | doesn't involve a keyring scan. (clear_validity): Removed.
* * g10.c (main), keydb.h, keydb.c (keydb_rebuild_caches), keyring.h,David Shaw2004-01-207-12/+30
| | | | | | | | | | | keyring.c (keyring_rebuild_cache): Add "noisy" flag so cache rebuilds can remain noisy when called for itself, and quiet when called as part of the trustdb rebuild. * trustdb.c (validate_keys): Rebuild the sig caches before building the trustdb. Note that this is going to require some architectual re-thinking, as it is agonizingly slow.
* * sig-check.c (check_key_signature2): Comments.David Shaw2004-01-193-10/+29
| | | | | | | * 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).
* * misc.c (print_cipher_algo_note): May as well call Rijndael AESDavid Shaw2004-01-173-12/+18
| | | | | | | | at this point. * keygen.c (do_create), misc.c (openpgp_pk_algo_usage): Remove the last bits of Elgamal type 20 support.
* Only use ZLib module on RISC OS when configuredStefan Bellon2004-01-032-2/+7
|
* * options.h, g10.c (main), import.c (parse_import_options, import_one,David Shaw2003-12-315-16/+31
| | | | | | import_secret_one), keyserver.c (keyserver_refresh): Change --merge-only to --import-option merge-only. Deprecate --merge-only.
* * misc.c (pull_in_libs): Dead code. Removed.David Shaw2003-12-308-45/+67
| | | | | | | | | | | | | | | | | | | | | | | * 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 signature. * 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 stdio.h. * tdbio.c: Fixed format string bugs related to the use of DB_NAME. Reported by Florian Weimer.
* * options.h, g10.c (main), keyserver.c (keyserver_opts,David Shaw2003-12-284-8/+9
| | | | | | | 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.
* * keyserver.c (argsep): New variation on strsep that knows about optionalDavid Shaw2003-12-282-23/+60
| | | | | arguments. (parse_keyserver_options): Use it here for optional arguments.
* cleaned up RISC OS code and removed lots of unnecessary stuffStefan Bellon2003-12-284-17/+15
|
* * keyserver.c (strip_leading_space, get_arg): New.David Shaw2003-12-282-1/+50
| | | | | | | (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.
* * main.h, misc.c (parse_options): Add a "noisy" flag to enable and disableDavid Shaw2003-12-287-20/+35
| | | | | | | | | 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.
* * build-packet.c (write_fake_data, do_secret_key), seckey-cert.cDavid Shaw2003-12-174-11/+17
| | | | | | | | (do_check): Use an unsigned length for mpi_get_opaque. * options.h: It's impolite to assign -1 to an unsigned opt.force_ownertrust.
* * sig-check.c (cmp_help, do_check), sign.c (do_sign): Remove old unusedDavid Shaw2003-12-174-80/+10
| | | | | | | code. * keyid.c (keyid_from_sk): Make sure lowbits is initialized.
* * sig-check.c (do_check): Move the signing algo and hash checks fromDavid Shaw2003-12-132-12/+27
| | | | | | | | | 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.
* * packet.h, build-packet.c (hash_public_key): Remove function ...David Shaw2003-12-117-140/+105
| | | | | | | | | | | | | | | | | | | | * 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.
* * keyid.c (do_fingerprint_md): Remove the rules to hash the old v3 ElgamalDavid Shaw2003-12-102-22/+13
| | | | | keys. They are no longer needed.
* * keyid.c (keyid_from_sk, keyid_from_pk, fingerprint_from_pk,David Shaw2003-12-102-51/+86
| | | | | | fingerprint_from_sk): Enforce the v3-is-only-RSA rule. Anything that isn't RSA gets a zero keyid and fingerprint.