aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gpg: Use --keyid-format=none by default.Werner Koch2016-06-062-3/+3
| | | | | | | | | | * g10/gpg.c (main): Init keyid_format to KF_NONE. * g10/keyid.c (format_keyid): Ditto. (keystrlen): Ditto. -- GnuPG-bug-id: 2379 Signed-off-by: Werner Koch <[email protected]>
* gpg: Add option --with-subkey-fingerprint.Werner Koch2016-06-065-5/+37
| | | | | | | | | | | | * g10/gpg.c (oWithSubkeyFingerprint): New. (opts): Add --with-subkey-fingerprint[s]. (main): Set that option. * g10/options.h (struct opt): Add 'with_subkey_fingerprint'. * g10/keylist.c (list_keyblock_print): Print subkey fingerprint. (print_fingerprint): Tweak printing to use compact format if desirable. Signed-off-by: Werner Koch <[email protected]>
* gpg: Implement --keyid-format=none.Werner Koch2016-06-069-143/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * g10/gpg.c (main): Add option "none" to --keyid-format. * g10/options.h (KF_NONE): New. * g10/keyid.c (format_keyid): Implement that. (keystr): Use format "long" is KF_NONE is in use. (keystr_with_sub): Ditto. * g10/keylist.c (list_keyblock_print): Adjust indentaion for KF_NONE. Factor some code out to ... (print_key_line): new. (print_fingerprint): Add mode 20. * g10/mainproc.c (list_node): Use print_key_line. Replace MAINKEY by flags.primary in the PK. Fix putting a " revoked..." string into the colons format. * g10/pkclist.c (do_edit_ownertrust): Use print_key_line. This slightly changes the putput format. * g10/revoke.c (gen_standard_revoke): Use print_key_line. This may also put "expires: " into the output. -- Due to user experience problems with the keyid and we better allow to show the fingerprint instead. Note that we do not support v3 keys anymore and thus there is no technical need for a user to know the keyid. GnuPG-bug-id: 2379 Signed-off-by: Werner Koch <[email protected]>
* indent: Wrap strings in debug messages.Werner Koch2016-06-061-3/+5
| | | | --
* w32: Require --enable-build-timestamp for the BUILD_HOSTNAME.Werner Koch2016-06-042-4/+7
| | | | | | | | | | * configure.ac (BUILD_HOSTNAME): Set to "<anon>" bey default. * build-aux/speedo.mk (speedo_pkg_gnupg_configure): Add --enable-build-timestamp. -- Debian-bug-id: 826309 Signed-off-by: Werner Koch <[email protected]>
* gpg: Add the fingerprint to KEY_CREATED for subkeys.Werner Koch2016-06-021-9/+12
| | | | | | | | | * g10/keygen.c (print_status_key_created): Make more robust by allowing a NULL for PK. (generate_subkeypair): Use print_status_key_created. (generate_card_subkeypair): Ditto. Signed-off-by: Werner Koch <[email protected]>
* gpg: Try to use the passphrase from the primary for --quick-addkey.Werner Koch2016-06-025-52/+157
| | | | | | | | | | | | | | | * agent/command.c (cmd_genkey): Add option --passwd-nonce. (cmd_passwd): Return a PASSWD_NONCE in verify mode. * g10/call-agent.c (agent_genkey): Add arg 'passwd_nonce_addr' and do not send a RESET if given. (agent_passwd): Add arg 'verify'. * g10/keygen.c (common_gen): Add optional arg 'passwd_nonce_addr'. (gen_elg, gen_dsa, gen_ecc, gen_rsa, do_create): Ditto. (generate_subkeypair): Use sepeare hexgrip var for the to be created for hexgrip feature. Verify primary key first. Make use of the passwd nonce. Allow for a static passphrase. Signed-off-by: Werner Koch <[email protected]>
* gpg: Extend the --quick-gen-key command.Werner Koch2016-06-024-22/+92
| | | | | | | | | | * g10/keygen.c (quickgen_set_para): Add arg 'use'. (quick_generate_keypair): Add args 'algostr', 'usagestr', and 'expirestr'. Implement primary only key mode. (parse_algo_usage_expire): Set NBITS for the default algo. * g10/gpg.c (main): Extend --quick-gen-key command. Signed-off-by: Werner Koch <[email protected]>
* gpg: Improve the new parse_subkey_algostr_usagestr fucntion.Werner Koch2016-06-021-28/+34
| | | | | | | | | | * g10/keygen.c (parse_usagestr): Allow "cert". (generate_subkeypair): Factor expire parsing out to ... (parse_subkey_algostr_usagestr): here. Rename to ... (parse_algo_usage_expire): this. Add arg 'for_subkey'. Set CERT for primary key and check that it is not set for subkeys. Signed-off-by: Werner Koch <[email protected]>
* gpg: New command --quick-addkey.Werner Koch2016-06-025-155/+512
| | | | | | | | | | | | | | | | | | | * g10/keygen.c (DEFAULT_STD_SUBKEYUSE): New. (ask_keysize): Factor code out to ... (get_keysize_range, fixup_keysize): new. (parse_parameter_usage): Factor parsing out to ... (parse_usagestr): new. Allow use of "encr" as alias for "encrypt". (parse_subkey_algostr_usagestr): New. (generate_subkeypair): Add new args. Implement unattended mode. * g10/keyedit.c (keyedit_quick_sign): Factor some code out to ... (find_by_primary_fpr): new. (keyedit_quick_addkey): New. * g10/gpg.c (aQuickAddKey): New. (opts): Add --quick-addkey. (main): Implement. Signed-off-by: Werner Koch <[email protected]>
* gpg: Do not abort on certain invalid packets.Werner Koch2016-06-022-3/+8
| | | | | | | | | | | | | | | * g10/build-packet.c (write_fake_data): Check for non-opaque data. * g10/seskey.c (do_encode_md): Return NULL instead of abort. -- The first may happen if the usage flags of an algorithm do not match the allowed usage. When writing a backsig this would lead to a log_bug in libgcrypt due to the use of a regular MPI as opaque data. The second may happen with all kind of invalid data. It is easy to avoid an abort, though. Signed-off-by: Werner Koch <[email protected]>
* common: New function openpgp_is_curve_supported.Werner Koch2016-06-022-4/+31
| | | | | | | | | * common/openpgp-oid.c: Include openpgpdefs.h. (oidtable): Add field pubkey_algo. (openpgp_is_curve_supported): New. -- Signed-off-by: Werner Koch <[email protected]>
* common: Add comments on how to enable backtrace().Werner Koch2016-06-021-1/+14
| | | | --
* g10: Allow User ID length >= 256.NIIBE Yutaka2016-06-011-1/+1
| | | | | | | | | | * build-packet.c (do_user_id): Call write_header2 with HDRLEN not set. -- Reported-by: Daniel Kahn Gillmor <[email protected]> GnuPG-bug-id: 2374 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: New status code NOTATION_FLAGS.Werner Koch2016-05-315-8/+23
| | | | | | | | * common/status.h (STATUS_NOTATION_FLAGS: New. * g10/packet.h (struct notation): Add flags.human. (notation_t): New typedef. * g10/build-packet.c (sig_to_notation): Set flags.human. * g10/keylist.c (show_notation): Write STATUS_NOTATION_FLAGS.
* build: Fix URL.Justus Winter2016-05-311-1/+1
| | | | | -- Signed-off-by: Justus Winter <[email protected]>
* common: Add a status callback to gnupg_exec_tool_stream.Werner Koch2016-05-275-17/+97
| | | | | | | | | | | | * common/exectool.h (exec_tool_status_cb_t): New. * common/exectool.c: Include missing exectool.h. (read_and_log_buffer_t): Replace array by pointer. (gnupg_exec_tool_stream): Add args 'status_cb' and 'status_cb_value'. Change all callers to pass NULL for them. Malloc buffer for FDERRSTATE. (read_and_log_stderr): Implement status_fd feature. Signed-off-by: Werner Koch <[email protected]>
* common: Allow a second input stream for gnupg_exec_tool_stream.Werner Koch2016-05-2710-36/+124
| | | | | | | | | | | | | | | | | | * common/exechelp-posix.c (do_exec): Add arg 'except' and pass to close_all_fds. (gnupg_spawn_process): Add arg 'except'. Change callers to pass NULL for it. * common/exechelp-w32.c (gnupg_spawn_process): Add dummy arg 'except'. * common/exechelp-w32ce.c (gnupg_spawn_process): Ditto. * common/exectool.c (copy_buffer_do_copy): Allow NULL for SINK. (gnupg_exec_tool_stream): Add arg 'inextra'. Change callers to pass NULL for it. Allow NULL for OUTPUT. -- This hack is a first step to allow calling gpg for verification of signatures. Signed-off-by: Werner Koch <[email protected]>
* common: Simplify the fd closing patch 512c56a.Werner Koch2016-05-271-3/+1
| | | | | | * common/exechelp-posix.c (get_max_fds): Use /proc/self. Signed-off-by: Werner Koch <[email protected]>
* common: Speedup closing fds before an exec.Werner Koch2016-05-271-0/+44
| | | | | | | | * common/exechelp-posix.c [__linux__]: Include dirent.h. (get_max_fds) [__linux__]: Return the actual used highest fd. -- Signed-off-by: Werner Koch <[email protected]>
* tools: Improve debug output of rfc822parse.Werner Koch2016-05-271-1/+6
| | | | | | * tools/rfc822parse.c (show_event): Add missing events. Signed-off-by: Werner Koch <[email protected]>
* build: Remove obsolete tests for funopen and fopencookie.Werner Koch2016-05-272-29/+1
| | | | | | | | | * configure.ac (AC_CHECK_FUNCS): Remove tests for funopen. -- Meanwhile we are using the portable functions from libgpg-error. Signed-off-by: Werner Koch <[email protected]>
* common: Extend gnupg_create_inbound_pipe et al.Werner Koch2016-05-277-28/+54
| | | | | | | | | | | | | | * common/exechelp-posix.c (gnupg_create_inbound_pipe): Add args 'r_fp' and 'nonblock'. (gnupg_create_outbound_pipe): Ditto. * common/exechelp-w32.c (gnupg_create_inbound_pipe): Add non yet functional args 'r_fp' and 'nonblock'. (gnupg_create_outbound_pipe): Ditto. * common/exechelp-w32ce.c (gnupg_create_inbound_pipe): Ditto. (gnupg_create_outbound_pipe): Ditto. -- Signed-off-by: Werner Koch <[email protected]>
* common: Make use of default_errsource in exechelp.Werner Koch2016-05-276-49/+59
| | | | | | | | | | | | | | | | | * common/exechelp-posix.c (my_error_from_syserror, my_error): New. Use them instead of gpg_error and gpg_error_from_syserror. (create_pipe_and_estream): Remove arg ERRSOURCE and fix use of OUTBOUND which has a wrong name. Adjust callers. (gnupg_spawn_process): Remove arg ERRSOURCE and replace by use of DEFAULT_ERRSOURCE. * common/exechelp-w32.c (gnupg_spawn_process): Ditto. * common/exechelp-w32ce.c (gnupg_spawn_process): Ditto. * common/exectool.c (gnupg_exec_tool_stream): Do not pass GPG_ERROR_FROM_SYSERROR. * tools/gpgconf-comp.c (gc_component_check_options): Ditto. (retrieve_options_from_program): Ditto. Signed-off-by: Werner Koch <[email protected]>
* gpg: Keep current and total of PROGESS status lines small enough.Werner Koch2016-05-271-15/+45
| | | | | | | | | * g10/progress.c (progress_filter): Factor status wrote out to... (write_status_progress): New. Scale values down. -- GnuPG-bug-id: 2368 Signed-off-by: Werner Koch <[email protected]>
* configure: Detection of libusb on FreeBSD.NIIBE Yutaka2016-05-261-6/+10
| | | | | | | | | | | * configure.ac (LIBUSB_LIBS): Use LIBUSB_NAME for AC_CHECK_LIB. -- Thanks to Michael Sinatra. GnuPG-bug-id: 2367 Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Switch to new URL for swdb.lstWerner Koch2016-05-251-3/+1
|
* gpgtar: Simplify code by using ccparray.Werner Koch2016-05-243-48/+44
| | | | | | | | * tools/gpgtar-create.c (gpgtar_create): Use ccparray functions. * tools/gpgtar-extract.c (gpgtar_extract): Ditto. * tools/gpgtar-list.c (gpgtar_list): Ditto. Signed-off-by: Werner Koch <[email protected]>
* common: Add simple dynamic array function.Werner Koch2016-05-244-1/+294
| | | | | | | | | | | * common/ccparray.c: New. * common/ccparray.h: New. * common/t-ccparray.c: New. * common/Makefile.am (common_sources): Add files. (module_tests): Add test file. (t_ccparray_LDADD): New. Signed-off-by: Werner Koch <[email protected]>
* common,w32: Silence an unused arg warning message.Werner Koch2016-05-241-0/+2
| | | | --
* gpg, w32: Fix build regression.Werner Koch2016-05-241-0/+2
| | | | | | -- Fixes-commit: 754b1c463034a634a678d8efc76c27fd46aad9b9
* tests: Test the pinentry interactions when exporting keys.Justus Winter2016-05-231-5/+67
| | | | | | * tests/openpgp/export.test: Test pinentry interactions. Signed-off-by: Justus Winter <[email protected]>
* tests: Add support for a passphrase queue to fake pinentry.Justus Winter2016-05-231-2/+94
| | | | | | | * tests/openpgp/fake-pinentry.c (get_passphrase): New function. (main): Add option --passphrasefile and read passphrases from it. Signed-off-by: Justus Winter <[email protected]>
* tests: Add logging to fake pinentry.Justus Winter2016-05-231-14/+108
| | | | | | | | | * tests/openpgp/fake-pinentry.c (log_stream): New variable. (reply): New function. (spacep,skip_options,option_value): Copy from common. (main): Parse arguments, add --logfile option, write logfile. Signed-off-by: Justus Winter <[email protected]>
* tests: Add export test.Justus Winter2016-05-232-0/+69
| | | | | | | * tests/openpgp/Makefile.am (TESTS): Add new file. * tests/openpgp/export.test: New file. Signed-off-by: Justus Winter <[email protected]>
* g10: Fix typo in comment.Daniel Kahn Gillmor2016-05-231-1/+1
| | | | | -- Signed-off-by: Justus Winter <[email protected]>
* gpg: Speed up key listing in Tofu mode.Werner Koch2016-05-211-50/+18
| | | | | | | | | | | | | | | | | | * g10/tofu.c (get_trust): Add arg PK. Uses this instead of a an extra lookup of the public key by fingerrpint. (tofu_register): Pass PK to get_trust. (tofu_get_validity): Ditto. *g10/tofu.c (tofu_register): Remove unused FINGERPRINT_PP. -- With my test keybox I see a speedup of 10 times (33s to 3.1s). The reason for this was the extra key lookup which I hacked in at some point to make the extraction of a keyid correct also for non v4 keys. However our caller already has the public key and thus can easily pass it to get_trust along with the fingerprint. Signed-off-by: Werner Koch <[email protected]>
* gpg: Avoid name spaces clash with future sqlite versions.Werner Koch2016-05-215-97/+96
| | | | | | | | | | | | | | * g10/sqlite.c: Rename to gpgsql.c. Change function prefixes to gpgsql_. * g10/sqlite.h: Rename to gpgsql.h. * g10/tofu.c: Adjust for changes. -- We used for our own extensions symbols with an sqlite_ names prefix. This may in theory lead to duplicated symbols but more important, it is harder to understand what is from gpg and what is from libsqlite. Signed-off-by: Werner Koch <[email protected]>
* gpg: Explicitly close a combined Tofu DB.Werner Koch2016-05-211-3/+8
| | | | * g10/tofu.c (tofu_closedbs): Close combined DB.
* gpg: Remove debug output accidently introduced with 027c4e5.Werner Koch2016-05-211-3/+0
| | | | | | | -- Fixes-commit: 027c4e55522b8e18711a3331932a9869ab89ca26 Signed-off-by: Werner Koch <[email protected]>
* gpg: Store the Tofu meta handle for databases in CTRL.Werner Koch2016-05-219-47/+70
| | | | | | | | | | | | | | | | | | * g10/gpg.h (struct tofu_dbs_s, tofu_dbs_t): New declarations. (struct server_control_s): Add field tofu.dbs. * g10/tofu.c (struct dbs): Rename to tofu_dbs_s. Replace all users by by tofu_dbs_t. (opendbs): Add arg CTRL. Cache the DBS in CTRL. (closedbs): Rename to tofu_closedbs and make global. Add arg CTRL. (tofu_register): Add arg CTRL. Change all callers. Do not call closedbs. (tofu_get_validity): Ditto. (tofu_set_policy): Ditto. (tofu_get_policy): Ditto. (tofu_set_policy_by_keyid): Add arg CTRL. * g10/gpg.c (gpg_deinit_default_ctrl): Call tofu_closedbs. Signed-off-by: Werner Koch <[email protected]>
* gpg: Pass CTRL object down to the trust functionsWerner Koch2016-05-2116-152/+180
| | | | Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix the TOFU_STATS_LONG status.Werner Koch2016-05-212-7/+10
| | | | | | | | | | | * g10/tofu.c (show_statistics): Print TOFU STATS with formatting characters. -- We better leave the non-breaking space character in the status messages so that the caller can make use of them. Signed-off-by: Werner Koch <[email protected]>
* gpg: Print "[ never ]" instead of err for validity.Werner Koch2016-05-191-0/+1
| | | | | | * g10/trust.c (uid_trust_string_fixed): Handle NEVER. Signed-off-by: Werner Koch <[email protected]>
* gpg: Add --weak-digest to gpgv's help screen.Werner Koch2016-05-181-1/+2
| | | | | | -- Suggested-by: Daniel Kahn Gillmor
* dirmngr: Adjust the WKD lookup to specs version -01.Werner Koch2016-05-181-2/+0
| | | | | | | | | * dirmngr/server.c (cmd_wkd_get): Remove second occurrence of the domain part. -- This change updates gnupg to comply with draft-koch-openpgp-webkey-service-01
* gpg: Emit new status line KEY_CONSIDERED.Werner Koch2016-05-173-83/+151
| | | | | | | | | | | | | * common/status.h (STATUS_KEY_CONSIDERED): New. * g10/getkey.c: Include status.h. (LOOKUP_NOT_SELECTED, LOOKUP_ALL_SUBKEYS_EXPIRED): New. (finish_lookup): Add arg R_FLAGS. Count expired and revoked keys and set flag. Check a requested usage before checking for expiraion or revocation. (print_status_key_considered): New. (lookup): Print new status. Signed-off-by: Werner Koch <[email protected]>
* g10: Fix signature checking.NIIBE Yutaka2016-05-111-4/+9
| | | | | | | | | | | | * g10/sig-check.c (check_signature_over_key_or_uid): Fix call to walk_kbnode. -- Thanks to Vincent Brillault (Feandil). GnuPG-bug-id: 2351 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: Allow unattended deletion of secret keys.Werner Koch2016-05-106-10/+45
| | | | | | | | | | | | | | | * agent/command.c (cmd_delete_key): Make the --force option depend on --disallow-loopback-passphrase. * g10/call-agent.c (agent_delete_key): Add arg FORCE. * g10/delkey.c (do_delete_key): Pass opt.answer_yes to agent_delete_key. -- Unless the agent has been configured with --disallow-loopback-passpharse an unattended deletion of a secret key is now possible with gpg by using --batch _and_ --yes. Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix buglet in the check_all_keysigs function.Werner Koch2016-05-091-2/+3
| | | | | | | | | | | | | | | * g10/keyedit.c (sig_comparison): Actually compare the pubkey algorithms. -- This fixes two bugs: The first was a typo which led to us comparing A with A. The second problem was the use of an assert at a place where this can't be asserted: Two signature may have different algorithms; they won't verify but after all it is about corrupted signatures. Reported-by: Guilhem Moulin <[email protected]> GnuPG-bug-id: 2236 Signed-off-by: Werner Koch <[email protected]>