aboutsummaryrefslogtreecommitdiffstats
path: root/g10/import.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-02-23gpg: Remove an unused variable.Werner Koch1-1/+0
* g10/import.c (import): Remove need_armor. [dkg: rebased to STABLE-BRANCH-1-4] Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2015-02-23gpg: Print better diagnostics for keyserver operations.Werner Koch1-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]>
2014-11-12gpg: Add import option "keep-ownertrust".Werner Koch1-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)
2014-08-06gpg: Fix regression due to the keyserver import filter.Werner Koch1-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
2014-06-23Screen keyserver responses.Stefan Tomanek1-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.
2013-10-04gpg: Protect against rogue keyservers sending secret keys.Werner Koch1-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
2012-12-20Import only packets which are allowed in a keyblock.Werner Koch1-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
2011-08-09Fix bug#1307Werner Koch1-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.
2010-05-07Fix for bug 1223Werner Koch1-1/+59
2008-03-24* import.c (collapse_uids): Fix bug 894: possible memory corruptionDavid Shaw1-2/+19
around deduplication of user IDs.
2007-12-10Fixed auto generation of the key stub.Werner Koch1-1/+2
Fixed bug 851. Allow decryption using type 20 Elgamal keys.
2007-10-23Switched to GPLv3.Werner Koch1-4/+2
Updated gettext.
2007-09-02* import.c (collapse_uids): Significant speedup for de-duping userDavid Shaw1-67/+79
IDs.
2006-12-06Preparing a releasegnupg-1.4.6Werner Koch1-2/+3
2006-07-26Fixed memory allocation bug and typos.Werner Koch1-5/+3
2006-06-28i18n fixWerner Koch1-2/+7
2006-06-12* import.c (import_one): Add a flag (from_sk) so we don't check prefsDavid Shaw1-6/+7
on an autoconverted public key. The check should only happen on the sk size. Noted by Dirk Traulsen.
2006-05-25* keygen.c (gen_dsa): Allow generating DSA2 keys (allow specifying sizes >David Shaw1-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.
2006-05-22* import.c (import_one): Fix bug when importing a new key from a file.David Shaw1-7/+5
2006-05-22* getkey.c (get_pubkey_byname), import.c (import_one): Fix key selectionDavid Shaw1-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.
2006-04-03About to release 1.4.3gnupg-1.4.3Werner Koch1-3/+2
2006-03-14* main.h, import.c (import_one): Optionally return the fingerprint ofDavid Shaw1-22/+31
the key being imported. (import_keys_internal, import_keys_stream, import): Change all callers.
2005-11-18* keyedit.c (keyedit_menu, menu_clean): Simplify clean options to justDavid Shaw1-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.
2005-11-12* trustdb.h, trustdb.c (clean_key): New function to handle keyDavid Shaw1-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.
2005-11-10* options.h, import.c (parse_import_options, clean_sigs_from_all_uids,David Shaw1-4/+8
import_one): Add import-minimal option. Similar to export-minimal, except it works on the way in.
2005-11-10* trustdb.h, trustdb.c (clean_sigs_from_uid): Add flag to remove allDavid Shaw1-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.
2005-11-02* import.c (import_one): Do collapse_uids() before we do any cleaningDavid Shaw1-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.
2005-09-14* main.h, misc.c (parse_options): Add the ability to have helpDavid Shaw1-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.
2005-07-27Converted all m_free to xfree etc.Werner Koch1-27/+27
2005-07-26Preparing a releaseWerner Koch1-2/+1
2005-07-22* gpg.sgml (http):Werner Koch1-1/+2
* g10.c, options.h: New option --exit-on-status-write-error. * status.c (write_status_text): Make use of this option.
2005-07-09* trustdb.c (clean_uids_from_key): Don't keep a valid selfsig aroundDavid Shaw1-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.
2005-06-14* keygen.c (save_unprotected_key_to_card): Fix gcc4 warning.David Shaw1-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.
2005-06-12* options.h, import.c (parse_import_options, clean_sigs_from_all_uids,David Shaw1-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.
2005-06-10* options.h, import.c (parse_import_options, delete_inv_parts):David Shaw1-25/+2
import-unusable-sigs is now a noop.
2005-05-31Updated FSF street address and preparations for a release candidate.Werner Koch1-1/+2
2005-02-06* trustdb.h, trustdb.c (trustdb_check_or_update): New. If the trustdbDavid Shaw1-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.
2005-01-20* gpgv.c (tty_fprintf): New stub.Werner Koch1-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.
2005-01-03* Makefile.am: Use @LIBUSB@ instead of @LIBUSB_LIBS@David Shaw1-0/+6
* import.c (delete_inv_parts): Comments on import-unusable-sigs.
2005-01-01* options.h, import.c (parse_import_options, delete_inv_parts): AddDavid Shaw1-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.
2004-11-26* options.h, export.c (parse_export_options, do_export_stream), import.cDavid Shaw1-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.
2004-10-14* export.c (do_export_stream) [ENABLE_SELINUX_HACKS]: Don't allowWerner Koch1-0/+11
secret key export. * import.c (import_secret_one) [ENABLE_SELINUX_HACKS]: Likewise
2004-10-13Added SELInux hacks and did some cleanups.Werner Koch1-0/+6
2004-09-24* main.h: Create S2K_DIGEST_ALGO macro so we do not need to always setDavid Shaw1-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.
2004-09-11* card-util.c (fetch_url, card_edit): Use the pubkey URL stored on theDavid Shaw1-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.
2004-08-23* keydb.h, getkey.c (get_user_id_printable): Rename to get_user_id_nativeDavid Shaw1-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.
2004-04-15* options.h, keyserver.c (parse_keyserver_options): Remove duplicate codeDavid Shaw1-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.
2004-04-14* options.h, import.c, keyserver-internal.h, g10.c, mainproc.c,David Shaw1-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.
2004-04-14* options.h: Encapsulate keyserver details. Change all callers.David Shaw1-1/+1
2004-03-19* trustdb.c (update_min_ownertrust, validate_keys): Do not use keystrDavid Shaw1-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.