aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gpg: Remove a mostly duplicated function.Werner Koch2022-12-023-81/+36
| | | | | | | | * g10/export.c (receive_seckey_from_agent): Add arg r_key. (do_export_one_keyblock): Pass NULL for new arg. (receive_raw_seckey_from_agent): Remove. (export_secret_ssh_key): Use receive_seckey_from_agent. * g10/keygen.c (card_store_key_with_backup): Pass NULL for new arg.
* tests: Simplify fake-pinentry to use the option only.NIIBE Yutaka2022-12-021-31/+41
| | | | | | | | | | | * tests/openpgp/fake-pinentry.c (parse_pinentry_user_data): New. (main): Don't use PINENTRY_USER_DATA env var. -- Since environment variable is unreliable, use the option only. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Fix fake-pinentry for Windows.NIIBE Yutaka2022-12-021-8/+1
| | | | | | | | | | | | | | * tests/openpgp/fake-pinentry.c (main): Override PINENTRY_USER_DATA, by the option. -- In the Assuan implementation for Windows, spawn function doesn't call the atfork callback. Thus, the environment variable is not updated by gpg-agent when it spawns pinentry. Reliable way is the interaction to override the option. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Fix make check-all.NIIBE Yutaka2022-12-021-0/+1
| | | | | | | | | * Makefile.am (TESTS_ENVIRONMENT): Add GNUPG_IN_TEST_SUITE. -- Fixes-commit: 50d12860ef21e8480474fd94a0b4465d0339086d Signed-off-by: NIIBE Yutaka <[email protected]>
* agent: Fix import of protected v5 keys.Werner Koch2022-12-011-3/+4
| | | | | | | | * agent/cvt-openpgp.c (convert_from_openpgp_main): Take care of version 5 keys. -- GnuPG-bug-id: 6294
* gpgsm: Change default algo to AES-256.Werner Koch2022-12-011-1/+1
| | | | * sm/gpgsm.c (DEFAULT_CIPHER_ALGO): Change.
* tests: Put a workaround for semihosted environment.NIIBE Yutaka2022-12-011-0/+3
| | | | | | | | | | | | * tests/openpgp/defs.scm [*win32*]: Use --build-prefix option. -- On the semihosted environment, output of simple gpgconf --list-components includes drive name (like Z:), which results failure of command invocation. This is a workaround. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: More fix for semihosted environment.NIIBE Yutaka2022-12-013-22/+27
| | | | | | | | | | * common/all-tests.scm: Conditionalize by *win32*. * tests/cms/Makefile.am (GPGSM): Add missing GPGSM. * tests/pkits/Makefile.am (TESTS_ENVIRONMENT): Add EXEEXT. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Support semihosted environment.NIIBE Yutaka2022-12-015-13/+17
| | | | | | | | | | | | * Makefile.am (check-all): Add EXEEXT. * agent/all-tests.scm: Append EXEEXT. * common/all-tests.scm: Likewise. * g10/all-tests.scm: Likewise. * g13/all-tests.scm: Likewise. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Fix tests under cms.NIIBE Yutaka2022-12-011-2/+0
| | | | | | | | | * tests/cms/all-tests.scm: Remove merge mistake. -- Fixes-commit: 1246e16432b4240ad81c0bd757d7458b609dfd96 Signed-off-by: NIIBE Yutaka <[email protected]>
* tests,w32: Fix for semihosted environment.NIIBE Yutaka2022-12-011-1/+1
| | | | | | | | * tests/cms/Makefile.am (OLD_TESTS_ENVIRONMENT): Add EXEEXT. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Fix for tests on semihosted environment.NIIBE Yutaka2022-11-301-9/+9
| | | | | | | | * Makefile.am (all-local): Make links with EXEEXT. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Fix gnupg_unsetenv.NIIBE Yutaka2022-11-301-2/+11
| | | | | | | | | | | | | | | | * common/sysutils.c (gnupg_unsetenv): Don't use nonstandard extension of "NAME", but "NAME=". -- Microsoft implementation of putenv works to remove an environment variable by "NAME=". POSIX doesn't say that putenv with "NAME=" has same effect. GNU implementation doesn't support this way for removal of environment variable. Signed-off-by: NIIBE Yutaka <[email protected]>
* doc: Deprecate scd-event option of scdaemon.NIIBE Yutaka2022-11-301-1/+2
| | | | | | -- Signed-off-by: NIIBE Yutaka <[email protected]>
* wkd: New option --add-revocs and some fixes.Werner Koch2022-11-294-33/+228
| | | | | | | | | | | | | | | | | | | | | | | * tools/gpg-wks.h (opt): Add add_revocs. * tools/wks-util.c (wks_get_key): Add arg 'binary'. (wks_armor_key): New. (wks_find_add_revocs): New. (wks_cmd_install_key): Get key in binary mode and add revocations if enabled. * tools/gpg-wks-client.c (oAddRevocs): New. (opts): Add --add-revocs. (parse_arguments): Set option, (command_send): Get key in binary mode, add revocations if enabled, and explictly armor key. Remove kludge to skip the Content-type line in no_encrypt mode. (mirror_one_keys_userid): Always filter the key to get rid of the armor as received from dirmngr. Add revocations from the local keyring. -- Note that this also fixes an oddity of the new mirror command which used to store the keys armored as received from dirmngr.
* doc: Comment typo fixWerner Koch2022-11-291-2/+2
| | | | --
* wkd: Make use of --debug extprog.Werner Koch2022-11-291-1/+20
| | | | | | | | * tools/wks-util.c (debug_gpg_invocation): New. (get_key_status_cb): Enable debug output. (wks_get_key): Show gpg invocation. (wks_list_key): Ditto. (wks_filter_uid): Ditto.
* gpg: New export-filter export-revocsWerner Koch2022-11-283-6/+124
| | | | | | | | | | | * g10/options.h (EXPORT_REVOCS): New. * g10/export.c (export_select_filter): New. (struct export_filter_attic_s): Add field. (cleanup_export_globals): Cleanup. (parse_export_options): Add option "export-revocs". (parse_and_set_export_filter): Parse the select type. (do_export_revocs): New. (do_export_stream): Add a way to select things for export.
* gpg: Fix double-free in gpg --card-edit.NIIBE Yutaka2022-11-281-1/+0
| | | | | | | | * g10/card-util.c (change_name): Don't free ISONAME here. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: Make --require-compliance work with out --status-fdWerner Koch2022-11-281-1/+1
| | | | | | | | | * g10/mainproc.c (proc_encrypted): Set complaince_de_vs also if require-compliance is set. -- Without this fix require-compliance would fail if no --status-fd was used.
* gpg: New option --list-filterWerner Koch2022-11-257-14/+204
| | | | | | | | | | | | | | | | | | | | | | | | * g10/gpg.c (oListFilter): New. (opts): Add --list-filter. (main): Parse oListFilter. * g10/keylist.c: Include init.h and recsel.h. (struct list_filter_s, list_filter): New. (release_list_filter): New. (cleanup_keylist_globals): New. (parse_and_set_list_filter): New. (list_keyblock): Implement --list-filter type "select". * g10/import.c (impex_filter_getval): Add scope support and new property names "key-size", "algostr", "origin", "lastupd", and "url". -- This option is pretty useful to select keys based on their properties. The scope thing can be sued to limit a selection to just the primary key or to subkeys. For example: gpg -k --list-filter 'select=revoked-f && sub/algostr=ed25519' Lists all non-revoked keys with an ed25519 (signing)-subkey.
* dirmngr: Silence ocsp debug output.Werner Koch2022-11-253-4/+11
| | | | | | | * dirmngr/ocsp.c (check_signature_core): No debug output -- Also typo and doc fixes.
* tests: Fix to support --enable-all-tests and variants.NIIBE Yutaka2022-11-248-16/+36
| | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/tests.scm (test::scm): Add VARIANT argument. (tests::new): Likewise. (open-log-file, report): Support VARIANT. * tests/gpgme/all-tests.scm (setup-c, setup-py): Follow the change. * tests/cms/all-tests.scm: Likewise. * tests/cms/run-tests.scm: Likewise. * tests/migrations/all-tests.scm: Likewise. * tests/migrations/run-tests.scm: Likewise. * tests/openpgp/all-tests.scm: Likewise. * tests/openpgp/run-tests.scm: Likewise. -- Forward port from 2.2 branch of: 0fd7a902070ad9bdd835fa57dbadff25917bca42 Fixes-commit: 1c88104a3f00f7ca3790fbaab8f67b2b68cd6e18 Signed-off-by: NIIBE Yutaka <[email protected]>
* tests:w32: Fix for non-dot file name for Windows.NIIBE Yutaka2022-11-241-1/+1
| | | | | | | | | | | | * tests/migrations/from-classic.scm (assert-migrated): Handle the case on Windows. -- Forward port from 2.2 branch of: 754175a46d3bc34e9ef8098dbd05abdfd61ada64 Signed-off-by: NIIBE Yutaka <[email protected]>
* tests:gpgscm:w32: Fix for GetTempPath.NIIBE Yutaka2022-11-241-0/+5
| | | | | | | | | | | * tests/gpgscm/ffi.c (do_get_temp_path): Remove the last backslash. -- Forward port from 2.2 branch of: 9a75460652d6055983930e80e022396f613ed6f7 Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Keep .log files in objdir.NIIBE Yutaka2022-11-241-1/+3
| | | | | | | | | | | | | | | * tests/gpgscm/tests.scm (open-log-file): Keep the log file in objdir. -- Forward port from 2.2 branch of: 1c88104a3f00f7ca3790fbaab8f67b2b68cd6e18 Before the change, it is at ephemeral temp directory which is removed. This is not useful at all. Possibly, it was done before the introduce of ephemeral temp directory for each test and not changed. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Use 233 for invalid value of FD.NIIBE Yutaka2022-11-241-1/+1
| | | | | | | | | | | | | | * tests/openpgp/issue2941.scm: Use 233. -- Forward port from 2.2 branch of: 43722438a826e1a162723a23452018ccf1b640ec On Windows machine (emulated by Wine), 23 may be valid value for handle. Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Fix gnupg_tmpfile for possible failure.NIIBE Yutaka2022-11-181-6/+3
| | | | | | | | | | | | | * common/sysutils.c (gnupg_tmpfile): Use different value for next attempt. -- The resolution of system timer is typically in the range of 10 milliseconds to 16 milliseconds. Thus, before the change, it may fail. Actually, it failed with Wine emulation. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Redact --debug cardio output of a VERIFY APDU.Werner Koch2022-11-171-2/+16
| | | | | | | | | | * scd/apdu.c (pcsc_send_apdu) [DBG_CARD_IO]: Detect and redact a VERIFY. (send_apdu_ccid): Ditto. -- This should handle the most common case. GnuPG-bug-id: 5085
* common: Remove Windows CE support in common.NIIBE Yutaka2022-11-169-921/+5
| | | | | | | | | | | | | | | | | * common/Makefile.am (HAVE_W32CE_SYSTEM): Remove conditional build. (common_sources): Remove exechelp-w32ce.c. * common/asshelp.c [HAVE_W32CE_SYSTEM]: Remove the support. * common/common-defs.h [HAVE_W32CE_SYSTEM]: Likewise. * common/dotlock.c [HAVE_W32CE_SYSTEM]: Likewise. * common/exechelp-posix.c [HAVE_W32CE_SYSTEM]: Likewise. * common/exechelp-w32.c [HAVE_W32CE_SYSTEM]: Likewise. * common/gettime.c [HAVE_W32CE_SYSTEM]: Likewise. * common/exechelp-w32ce.c: Remove. * po/POTFILES.in: Update to remove common/exechelp-w32ce.c. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* gpgsm: Fix colon outout of ECC encryption certificatesWerner Koch2022-11-151-3/+3
| | | | | | | | | | * sm/keylist.c (print_capabilities): Add arg algo and use it to check for ECC capabilities. (list_cert_colon): Call with algo. -- This will mark certificates with only keyAgreement usage correctly in the --with-colons listing.
* scd:nks: Fix ECC signing if key not given by keygrip.Werner Koch2022-11-151-0/+2
| | | | * scd/app-nks.c (keygripstr_from_pk_file): Set r_algo if not in cache.
* dirmngr: Fix verification of ECDSA signed CRLs.Werner Koch2022-11-152-3/+4
| | | | | | | | * dirmngr/crlcache.c (finish_sig_check): Use raw value for the data. -- This had the usual signed/unsigned problem. By using the modern form we enforce Libgcrypt internal parsing as unsigned integer.
* agent: Allow trustlist on Windows in Unicode homedirs.Werner Koch2022-11-102-9/+14
| | | | * agent/trustlist.c (agent_marktrusted): Use gnupg_access.
* gpg: Fix verification of cleartext signatures with overlong lines.Werner Koch2022-11-101-5/+24
| | | | | | | | | | * g10/armor.c (fake_packet): Indicate truncated lines by inserting a formfeed. (armor_filter): Replace assert by log_assert. -- Reported-by: Demi Marie Obenour GnuPG-bug-id: T6272
* gpg: Move w32_system function.NIIBE Yutaka2022-11-093-117/+108
| | | | | | | | | | * g10/exec.h (w32_system): Not exposed. * g10/exec.c (w32_system): Move to ... * g10/photoid.c: here. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: New option --quick-update-pref.Werner Koch2022-11-045-11/+77
| | | | | | | | | | | | * g10/gpg.c (aQuickUpdatePref): New. (opts): Add --quick-update-pref. (main): Implement. * g10/keyedit.c (keyedit_quick_update_pref): New. (menu_set_preferences): Add arg 'unattended' and adjust caller. -- This new quick command is in particular useful to update existing keys so that they can be used with OCB mode.
* gpg: New list-options show-pref and show-pref-verbose.Werner Koch2022-11-045-150/+181
| | | | | | | | | * g10/options.h (LIST_SHOW_PREF): New. (LIST_SHOW_PREF_VERBOSE): New. * g10/gpg.c (parse_list_options): Add new options. * g10/keyedit.c (show_prefs): Factor code out to ... * g10/keylist.c (show_preferences): new. (list_keyblock_print): Call show_preferences.
* tests: Add tests to check that OCB is only used for capable keys.Werner Koch2022-11-048-11/+121
| | | | | | | | | * tests/openpgp/samplekeys/ed25519-cv25519-sample-2.asc: New. * tests/openpgp/samplekeys/ed25519-cv25519-sample-1.asc: Add AEAD preference. * tests/openpgp/defs.scm (tr:gpgstatus): New. (create-legacy-gpghome): Also import .key private keys. * tests/openpgp/encrypt.scm: Add OCB tests.
* gpg: Make --list-packets work w/o --no-armor for plain OCB packets.Werner Koch2022-11-021-0/+1
| | | | | | | | * g10/armor.c (is_armored): Add PKT_ENCRYPTED_AEAD. -- With this fix it is now possible to feed a vanilla packet of type 20 without first forcing gpg to assume binary mode.
* tests: Add symmetric decryption tests.Werner Koch2022-11-026-0/+83
| | | | | | | | | | | | | * tests/openpgp/decrypt-sym.scm: New. * tests/openpgp/samplemsgs/enc-sym-cfb-1.asc: New. * tests/openpgp/samplemsgs/enc-sym-cfb-2.asc: New. * tests/openpgp/samplemsgs/enc-sym-ocb-1.asc: New. * tests/openpgp/samplemsgs/enc-sym-ocb-2.asc: New. -- It's time to have some OCB tests in our suite so that we don't forget to run the tests from our RNP interop tests. Also adds new tests for CFB messages.
* tests: Add tr:assert-same function.Werner Koch2022-11-023-5/+13
| | | | | * tests/gpgscm/tests.scm (tr:assert-same-string): New. * tests/openpgp/shell.scm: Option to drop into a REPL.
* agent: Avoid blanks in the ssh key's comment.Werner Koch2022-11-021-0/+5
| | | | | | | | | | | | | | | | | | * agent/command-ssh.c (card_key_available): Replace blanks. -- For managing the authorized_key file of ssh it is convenient if the comment does not have any spaces. Thus we now return cardno:FFFE_50FF3D01 instead of cardno:FFFE 50FF3D01 Note that gpg --export-ssh-key uses the keyid as comment because it does not known the S/N of the card. Gpg-agent however does not know about OpenPGP and uses the s/n.
* build: Update m4 files.NIIBE Yutaka2022-11-025-10/+10
| | | | | | | | | | | | | * m4/ksba.m4: Update from libksba master. * m4/libassuan.m4: Update from libassuan master. * m4/libgcrypt.m4: Update from libgcrypt master. * m4/npth.m4: Update from npth master. * m4/ntbtls.m4: Update from npth master. -- GnuPG-bug-id: 5034 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: Merge --rfc4880bis features into --gnupgWerner Koch2022-10-312-50/+15
| | | | | | | | | | | | * g10/gpg.c (oRFC4880bis): Remove. (opts): Make --rfc4880bis a Noop. (compliance_options): Make rfc4880bis to gnupg. (set_compliance_option): Remove rfc4880bis stuff. (main): Ditto. Note that this now activates the --mimemode option. * g10/keygen.c (keygen_set_std_prefs): Remove rfc4880bis protection. (keygen_upd_std_prefs): Always announce support for v5 keys. (read_parameter_file): Activate the v4 and v5 keywords. --
* gpg: Allow only OCB for AEAD encryption.Werner Koch2022-10-318-140/+20
| | | | | | | | | | | | | | | | | | | | | | | * g10/gpg.c (opts): New option--force-ocb as alias for force-aead. Turn --aead-algo and --personal-aead-preferences into dummy options. (build_list_md_test_algo, build_list_aead_algo_name): Remove. (my_strusage): Remove output of AEAD algos. (main): Remove code from the --aead options. * g10/encrypt.c (encrypt_seskey): Make file local. (use_aead): Remove requirement for rfc4880bis. Always return AEAD_ALGO_OCB. * g10/main.h (DEFAULT_AEAD_ALGO): Removed unused macro. * g10/misc.c (default_aead_algo): Remove. * g10/pkclist.c (select_aead_from_pklist): Return AEAD_ALGO_OCB or 0. (select_algo_from_prefs): Remove personal AEAD algo setting. * g10/keygen.c (keygen_set_std_prefs): Remove AEAD preference option parsing. * g10/options.h (opt): Remove def_aead_algo and personal_aead_prefs. -- Due to the meanwhile expired patent on OCB there is no more reason for using EAX. Thus we forcefully use OCB if the AEAD feature flag is set on a key.
* gpg: New option --compatibility-flagsWerner Koch2022-10-313-1/+35
| | | | | | | | | | | * g10/gpg.c (oCompatibilityFlags): New. (opts): Add option. (compatibility_flags): New list. (main): Set flags and print help. * g10/options.h (opt): Add field compatibility_flags. -- No flags are yet defined but it is good to have the framework.
* gpgsm: Also announce AES256-CBC in signatures.Werner Koch2022-10-281-7/+10
| | | | | | | * sm/sign.c (gpgsm_sign): Add new capability. -- It might be better to have this. No concrete bug report, though.
* gpg: Fix trusted introducer for user-ids with only the mbox.Werner Koch2022-10-281-19/+31
| | | | | | | | * g10/trustdb.c (check_regexp): Kludge to match user-ids with only an mbox. -- (Also re-indented the function) GnuPG-bug-id: 6238
* gpg: Import stray revocation certificates.Werner Koch2022-10-283-13/+65
| | | | | | | | | | | | | | | | * g10/kbnode.c (new_kbnode2): New. * g10/import.c (delete_inv_parts): New arg r_otherrevsigs to store misplaced revocations. (import_revoke_cert): Allow to pass an entire list. (import_one): Import revocations found by delete_inv_parts. -- It might be useful to distribute revocations of old keys along with new keys. This is in particicualrr useful for WKD stored keys. This patch allows to put unrelated standalone revocations into a key. For example they can simply appended to a keyblock. Right now it is a bit inaesthetic to see diagnostics about misplaced or bad revocation signatures.