aboutsummaryrefslogtreecommitdiffstats
path: root/g10/import.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gpg: Remove an unused variable.Werner Koch2015-02-231-1/+0
| | | | | | | * g10/import.c (import): Remove need_armor. [dkg: rebased to STABLE-BRANCH-1-4] Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* gpg: Print better diagnostics for keyserver operations.Werner Koch2015-02-231-13/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | * g10/armor.c (parse_key_failed_line): New. (check_input): Watch out for gpgkeys_ error lines. * g10/filter.h (armor_filter_context_t): Add field key_failed_code. * g10/import.c (import): Add arg r_gpgkeys_err. (import_keys_internal): Ditto. (import_keys_stream): Ditto. * g10/keyserver.c (keyserver_errstr): New. (keyserver_spawn): Detect "KEY " lines while sending. Get gpgkeys_err while receiving keys. (keyserver_work): Add kludge for better error messages. -- GnuPG-bug-id: 1832 Note that these changes can be backported to 1.4 but they don't make sense for 2.1 due to the removal of the keyserver helpers. The error reporting could be improved even more but given that this is an old GnuPG branch it is not justified to put too much effort into it. Signed-off-by: Werner Koch <[email protected]> [dkg: rebased to STABLE-BRANCH-1-4] Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* gpg: Add import option "keep-ownertrust".Werner Koch2014-11-121-2/+13
| | | | | | | | | | | | | | * g10/options.h (IMPORT_KEEP_OWNERTTRUST): New. * g10/import.c (parse_import_options): Add "keep-ownertrust". (import_one): Act upon new option. -- This option is in particular useful to convert from a pubring.gpg to the new pubring.kbx in GnuPG 2.1 or vice versa: gpg1 --export | gpg2 --import-options keep-ownertrust --import (cherry-picked from commit da95d0d37841b34e2f3d7047f14ab4d98a7c0c56)
* gpg: Fix regression due to the keyserver import filter.Werner Koch2014-08-061-10/+10
| | | | | | | | | | | | | * g10/keyserver.c (keyserver_retrieval_filter): Change args. Rewrite to take subpakets in account. * g10/import.c (import_one, import_secret_one): Pass keyblock to filter. -- GnuPG-bug-id: 1680 Resolved conflicts: g10/main.h - s/import_filter/import_filter_t/g
* Screen keyserver responses.Stefan Tomanek2014-06-231-17/+44
| | | | | | | | | | | | | | | | | | | | | | * g10/main.h: Typedef import_filter for filter callbacks. * g10/import.c (import): Add filter callbacks to param list. (import_one): Ditto. (import_secret_one): Ditto. (import_keys_internal): Ditto. (import_keys_stream): Ditto. * g10/keyserver.c (keyserver_retrieval_filter): New. (keyserver_spawn): Pass filter to import_keys_stream() -- These changes introduces import functions that apply a constraining filter to imported keys. These filters can verify the fingerprints of the keys returned before importing them into the keyring, ensuring that the keys fetched from the keyserver are in fact those selected by the user beforehand. Signed-off-by: Stefan Tomanek <[email protected]> Re-indention and minor changes by wk.
* gpg: Protect against rogue keyservers sending secret keys.Werner Koch2013-10-041-0/+6
| | | | | | | | | | | | | | | | | | | | | * g10/options.h (IMPORT_NO_SECKEY): New. * g10/keyserver.c (keyserver_spawn, keyserver_import_cert): Set new flag. * g10/import.c (import_secret_one): Deny import if flag is set. -- By modifying a keyserver or a DNS record to send a secret key, an attacker could trick a user into signing using a different key and user id. The trust model should protect against such rogue keys but we better make sure that secret keys are never received from remote sources. Suggested-by: Stefan Tomanek Signed-off-by: Werner Koch <[email protected]> (cherry picked from commit e7abed3448c1c1a4e756c12f95b665b517d22ebe) Resolved conflicts: g10/options.h
* Import only packets which are allowed in a keyblock.Werner Koch2012-12-201-1/+22
| | | | | | | | | | | | * g10/import.c (valid_keyblock_packet): New. (read_block): Store only valid packets. -- A corrupted key, which for example included a mangled public key encrypted packet, used to corrupt the keyring. This change skips all packets which are not allowed in a keyblock. GnuPG-bug-id: 1455
* Fix bug#1307Werner Koch2011-08-091-34/+31
| | | | | This is a backport of the fixes for 2.0. There is only one real bug, the other changes are for clarity and for more picky compilers.
* Fix for bug 1223Werner Koch2010-05-071-1/+59
|
* * import.c (collapse_uids): Fix bug 894: possible memory corruptionDavid Shaw2008-03-241-2/+19
| | | | | around deduplication of user IDs.
* Fixed auto generation of the key stub.Werner Koch2007-12-101-1/+2
| | | | | | Fixed bug 851. Allow decryption using type 20 Elgamal keys.
* Switched to GPLv3.Werner Koch2007-10-231-4/+2
| | | | | Updated gettext.
* * import.c (collapse_uids): Significant speedup for de-duping userDavid Shaw2007-09-021-67/+79
| | | | | IDs.
* Preparing a releasegnupg-1.4.6Werner Koch2006-12-061-2/+3
|
* Fixed memory allocation bug and typos.Werner Koch2006-07-261-5/+3
|
* i18n fixWerner Koch2006-06-281-2/+7
|
* * import.c (import_one): Add a flag (from_sk) so we don't check prefsDavid Shaw2006-06-121-6/+7
| | | | | | on an autoconverted public key. The check should only happen on the sk size. Noted by Dirk Traulsen.
* * keygen.c (gen_dsa): Allow generating DSA2 keys (allow specifying sizes >David Shaw2006-05-251-0/+9
| | | | | | | 1024 when --enable-dsa2 is set). The size of q is set automatically based on the key size. (ask_keysize, generate_keypair): Ask for DSA size when --enable-dsa2 is set.
* * import.c (import_one): Fix bug when importing a new key from a file.David Shaw2006-05-221-7/+5
|
* * getkey.c (get_pubkey_byname), import.c (import_one): Fix key selectionDavid Shaw2006-05-221-3/+11
| | | | | | problem when auto-key-locate returns a list of keys, not all of which are usable (revoked, expired, etc). Noted by Simon Josefsson.
* About to release 1.4.3gnupg-1.4.3Werner Koch2006-04-031-3/+2
|
* * main.h, import.c (import_one): Optionally return the fingerprint ofDavid Shaw2006-03-141-22/+31
| | | | | | the key being imported. (import_keys_internal, import_keys_stream, import): Change all callers.
* * keyedit.c (keyedit_menu, menu_clean): Simplify clean options to justDavid Shaw2005-11-181-6/+4
| | | | | | | | | | | | | | "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.
* * trustdb.h, trustdb.c (clean_key): New function to handle keyDavid Shaw2005-11-121-33/+12
| | | | | | | | | | | 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.
* * options.h, import.c (parse_import_options, clean_sigs_from_all_uids,David Shaw2005-11-101-4/+8
| | | | | | 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 allDavid Shaw2005-11-101-1/+1
| | | | | | | | non-selfsigs from key during cleaning. Change all callers. * export.c (do_export_stream): Use it here so we don't need additional minimize code in the export path.
* * import.c (import_one): Do collapse_uids() before we do any cleaningDavid Shaw2005-11-021-5/+4
| | | | | | | | | | | | | | | 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.
* * main.h, misc.c (parse_options): Add the ability to have helpDavid Shaw2005-09-141-12/+20
| | | | | | | | | 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.
* Converted all m_free to xfree etc.Werner Koch2005-07-271-27/+27
|
* Preparing a releaseWerner Koch2005-07-261-2/+1
|
* * gpg.sgml (http):Werner Koch2005-07-221-1/+2
| | | | | | * g10.c, options.h: New option --exit-on-status-write-error. * status.c (write_status_text): Make use of this option.
* * trustdb.c (clean_uids_from_key): Don't keep a valid selfsig aroundDavid Shaw2005-07-091-6/+7
| | | | | | | | | | | | | when compacting a uid. There is no reason to make an attacker's job easier - this way they only have a revocation which is useless in bringing the uid back. * keydb.h, kbnode.c (undelete_kbnode): Removed. No longer needed. * import.c (chk_self_sigs): Allow a uid revocation to be enough to allow importing a particular uid (no self sig needed). This allows importing compacted uids.
* * keygen.c (save_unprotected_key_to_card): Fix gcc4 warning.David Shaw2005-06-141-5/+25
| | | | | | | | | | * options.h, import.c (parse_import_options, import_one): Add import-clean-uids option to automatically compact unusable uids when importing. Like import-clean-sigs, this may nodify the local keyring. * trustdb.c (clean_uids_from_key): Only allow selfsigs to be a candidate for re-inclusion.
* * options.h, import.c (parse_import_options, clean_sigs_from_all_uids,David Shaw2005-06-121-6/+41
| | | | | | | | import_one): Add import-clean-sigs option to automatically clean a key when importing. Note that when importing a key that is already on the local keyring, the clean applies to the merged key - i.e. existing superceded or invalid signatures are removed.
* * options.h, import.c (parse_import_options, delete_inv_parts):David Shaw2005-06-101-25/+2
| | | | | import-unusable-sigs is now a noop.
* Updated FSF street address and preparations for a release candidate.Werner Koch2005-05-311-1/+2
|
* * trustdb.h, trustdb.c (trustdb_check_or_update): New. If the trustdbDavid Shaw2005-02-061-9/+6
| | | | | | | | | | | | | | is dirty and --interactive is set, do an --update-trustdb. If not interactive, do a --check_trustdb unless --no-auto-check-trustdb is set. * import.c (import_keys_internal): Moved from here. * keyserver.c (keyserver_refresh): Call it here after all refreshing has happened so that we don't rebuild after each preferred keyserver set of imports, but do one big rebuild at the end. This is Debian bug #293816, noted by Kurt Roeckx.
* * gpgv.c (tty_fprintf): New stub.Werner Koch2005-01-201-2/+231
| | | | | | | | | * card-util.c (card_status): Create asecret key stub on the fly and print more information about a card key. * import.c (pub_to_sec_keyblock, auto_create_card_key_stub): New. * getkey.c (get_seckeyblock_byfprint): New. * keylist.c (print_card_key_info): New.
* * Makefile.am: Use @LIBUSB@ instead of @LIBUSB_LIBS@David Shaw2005-01-031-0/+6
| | | | | * import.c (delete_inv_parts): Comments on import-unusable-sigs.
* * options.h, import.c (parse_import_options, delete_inv_parts): AddDavid Shaw2005-01-011-1/+20
| | | | | | | | | | import-unusable-sigs flag to enable importing unusable (currently: expired) sigs. * options.h, export.c (parse_export_options, do_export_stream): Add export-unusable-sigs flag to enable exporting unusable (currently: expired) sigs.
* * options.h, export.c (parse_export_options, do_export_stream), import.cDavid Shaw2004-11-261-5/+7
| | | | | | | (parse_import_options, import_keys_internal): Make the import-options and export-options distinct since they can be mixed together as part of keyserver-options.
* * export.c (do_export_stream) [ENABLE_SELINUX_HACKS]: Don't allowWerner Koch2004-10-141-0/+11
| | | | | | secret key export. * import.c (import_secret_one) [ENABLE_SELINUX_HACKS]: Likewise
* Added SELInux hacks and did some cleanups.Werner Koch2004-10-131-0/+6
|
* * main.h: Create S2K_DIGEST_ALGO macro so we do not need to always setDavid Shaw2004-09-241-5/+5
| | | | | | | | | | | opt.s2k_digest_algo. This helps fix a problem with PGP 2.x encrypted symmetric messages. Change all callers (encode.c, g10.c, keyedit.c, keygen.c, passphrase.c, sign.c). * armor.c, cardglue.c, getkey.c, import.c, keygen.c: Be consistent in some more quoted strings. Always use 'user ID', not 'user id', "quotes" for user IDs, etc.
* * card-util.c (fetch_url, card_edit): Use the pubkey URL stored on theDavid Shaw2004-09-111-1/+2
| | | | | | | | | | card to fetch an updated copy. Works with either straight URLs or HKP or LDAP keyservers. * keyserver-internal.h, keyserver.c (keyserver_import_fprint), import.c (revocation_present): Use a keyserver_spec so the caller can pass in whatever keyserver they like.
* * keydb.h, getkey.c (get_user_id_printable): Rename to get_user_id_nativeDavid Shaw2004-08-231-6/+6
| | | | | | | and remove the printable stuff since we're print-ifying valid utf8 characters. Change all callers in import.c, sign.c, keylist.c, and encode.c.
* * options.h, keyserver.c (parse_keyserver_options): Remove duplicate codeDavid Shaw2004-04-151-1/+2
| | | | | | | | | from parse_keyserver_options by calling the generic parse_options. * keyserver.c (keyserver_spawn, keyserver_refresh), g10.c (main), gpgv.c (main), mainproc.c (check_sig_and_print), import.c (revocation_present): Change all callers.
* * options.h, import.c, keyserver-internal.h, g10.c, mainproc.c,David Shaw2004-04-141-2/+2
| | | | | | | keyserver.c (parse_keyserver_uri): Parse keyserver URI into a structure. Cleanup for new "guess my keyserver" functionality, as well as refreshing via a preferred keyserver subpacket.
* * options.h: Encapsulate keyserver details. Change all callers.David Shaw2004-04-141-1/+1
|
* * trustdb.c (update_min_ownertrust, validate_keys): Do not use keystrDavid Shaw2004-03-191-0/+3
| | | | | | | | | | | | | | | functions in log_debug. * import.c (import_one): Try and collapse user IDs when importing a key for the first time. * keyedit.c (menu_addrevoker): Allow appointing a subkey as a designated revoker if the user forces it via keyid!, so long as the subkey can certify. Also use the proper date string when prompting for confirmation. * g10.c (main): Maintain ordering of multiple Comment lines. Requested by Peter Hyman.