| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
* sm/keylist.c (oidtranstbl): Add some algos.
* tools/gpgconf.c: Silence compiler warning.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* common/sexputil.c (get_pk_algo_from_key): Enlarge buffer for algo
name so that "dilithium3" can be detected.
* agent/pksign.c (do_encode_mldsa): New.
(agent_pksign_do): Call it.
* sm/certcheck.c (pk_algo_from_sexp): Detected ML-DSA.
(gpgsm_check_cms_signature): Support ML-DSA. Also rework error
cleanup.
* sm/sign.c (gpgsm_sign): Support ML-DSA.
* sm/verify.c (gpgsm_verify): Fix a comment.
--
Libgcrypt 1.12.5 and libksba 1.9.0 are required to work properly.
GnuPG-bug-id: 8517
|
| |
|
|
|
|
|
|
|
|
|
| |
* common/sexputil.c (pubkey_algo_string): Support GCRY_PK_MLDSA.
* sm/certcheck.c (gpgsm_check_cert_sig): Ditto.
* sm/keylist.c (oidtranstbl): Add 2 OIDs for ML-DSA.
--
Libgcrypt 1.12.5 is required to work properly.
GnuPG-bug-id: 8517
|
| |
|
|
| |
* sm/sign.c (gpgsm_sign): Change fallback algorithm
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g10/plaintext.c (get_output_file): Take care of /dev/null et al.
* sm/gpgsm.c (main): Ditto. Also fix regression if
no-partial-file-guard is used
--
We consider all files below /dev/ as special and don't use the part
thing.
The regresion was that with no-partial-file-guard the output would be
send to stdout.
GnuPG-bug-id: 7873
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* agent/command.c (hlp_get_passphrase, hlp_scd, hlp_putval): Fix.
* dirmngr/server.c (hlp_checkcrl, hlp_ad_query, hlp_getinfo): Fix.
* g13/server.c (hlp_create): Likewise.
* kbx/kbxserver.c (hlp_delete, hlp_getinfo): Likewise.
* scd/command.c (hlp_learn, hlp_getattr, hlp_setattr): Likewise.
(hlp_writekey, hlp_getinfo, hlp_restart, hlp_apdu): Likewise.
(hlp_keyinfo): Likewise.
* sm/server.c (hlp_encrypt, hlp_export): Likewise.
* tools/gpg-auth.c (my_strusage): Likewise.
* tools/gpg-card.c (cmd_yubikey): Likewise.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
* sm/certcheck.c (gpgsm_check_cert_sig): Use log_printhex.
--
Fixes-commit: b1694987bb6484405d41d34046a5290176feadd0
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
--
After 25 years the NSA could even convince GnuPG that their idea of
using complex algorithm is better for someones(tm) security. But
fortunately there is no need to enable it. Thus all guards of pretty
good and gnu privacy won't enable --compliance=fips|de-vs or use the
option --allow-9980.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* common/kem.c (gnupg_ecc_kem_kdf): Replace arg is_pgp by kdf_algo and
adjust callers.
* agent/pkdecrypt.c (ecc_kem_decrypt): Replace is_pgp by kemid.
Extract a new kdf_variant from the sexp and setup kdf_algo from it.
Add dedicated code path for the rfc9580 variant.
(agent_kem_decrypt): Directly pass the kemid instead of the is_pgp
flag.
* common/compliance.c (gnupg_pk_is_compliant)
(gnupg_pk_is_allowed): Add X25519.
* common/openpgpdefs.h (pubkey_algo_t): Ditto.
* kbx/keybox-openpgp.c (keygrip_from_keyparm): Support X25519.
(parse_key): Ditto.
* g10/parse-packet.c (parse_pubkeyenc, parse_key): Ditto.
* g10/build-packet.c (do_key, do_pubkey_enc_v6): Ditto.
* g10/call-agent.c (agent_pkdecrypt): Ditto.
* g10/ecdh.c (ecc_build_kdf_params): Don't segv when called with wrong
algo.
* g10/keyid.c (pubkey_string): Map X25519 to "ietf25".
(keygrip_from_pk): Support X25519.
* g10/misc.c (openpgp_pk_test_algo2): Ditto.
(openpgp_pk_algo_usage, openpgp_pk_algo_name)
(pubkey_get_npkey, pubkey_get_nskey): Ditto.
* g10/encrypt.c (use_rfc9980_seipdv2, write_pubkey_enc): Ditto.
* g10/pkglue.c (get_mpi_from_sexp_strip_0x40): New.
(do_encrypt_kem): Support X25519.
(pk_encrypt): Ditto.
* g10/seskey.c (encode_session_key): Ditto.
* g10/pubkey-enc.c (get_session_key): Ditto.
(get_it): Ditto. Move the special algo setup to the top.
* g10/import.c (build_mode1003_sexp): Support X25519.
(internal_skey_object_to_sexp): Ditto.
* g10/keygen.c (ecckey_from_sexp): Add support for the MLK algos.
(do_create_from_keygrip): Support ED25519.
(common_gen): Support X25519 and the MLK algos.
(gen_ecc): Support X25519.
(gen_kyber): Support the MLK variants.
(do_create): Support ED25519 and the MLK algos.
(parse_key_parameter_part): Add parameter "ietf25".
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* g10/gpg.c (oDebugNoLibgcrypt): New.
(opts): Add --debug-no-libgcrypt
(mopt): Add field no_libgcrypt_debug.
(set_debug): Act upon it.
(main): Set option.
* agent/gpg-agent.c: Implement in the same way as above.
* sm/gpgsm: Ditto.
(cipher_algo_option_seen): Move to the new mopt struct.
--
This option is useful to not clutter the "--debug crypto" or "--debug
mpi" output with thge often verbose debug output from Libgcrypt. It
is a simple option and not a debug flag for backward compatibility and
to ave some space in the debug flags. As with all --debug options,
that option is not part of the stable API.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* sm/decrypt.c (gpgsm_decrypt): Also check other conditions for de-vs
compliance before emitting status line.
--
Also check DFPARM.IS_DE_VS which helps to track de-vs compliance state.
Updates-commit: 4a8f177f390b270df9a86ea47d8eced85420d7d4
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* sm/keydb.c (keydb_get_flags): Add condition that keyboxd is not
used.
--
The KEYDB_HANDLE variables FOUND and USED are only valid if the
keyboxd is not used. Therefore USE_KEYBOXD has to be checked too.
GnuPG-bug-id: 8048
Updates-commit: 766e9773cbc2a03d0392c2a2c94d0fe237741c5b
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* doc/DETAILS: Update NO_PUBKEY for X.509 certificates.
* sm/verify.c (gpgsm_verify): Print the issuer and serial no. of the
signer's certificate when the certificate is not found.
--
In case we cannot find the certificate of the signer, we should still
print issuer and serial no. of the signer's certificate. This info is
contained in the signature.
GnuPG-bug-id: 8363
Co-authored-by: Werner Koch <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* common/status.h (enum): Add new STATUS_SIGINFO.
* doc/DETAILS: Add description for new STATUS_SIGINFO.
* sm/verify.c (gpgsm_verify): Add signature creation time with
STATUS_SIGINFO for bad signatures.
--
Add the signature creation time with the new STATUS_SIGINFO. For now
this status line is only emitted after a BADSIG status line.
GnuPG-bug-id: 8364
Co-authored-by: Werner Koch <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* sm/keydb.c (struct keydb_handle): Add new field of last_is_revoked.
(keydb_get_flag): Support keyboxd.
(search_status_cb): Fill last_is_revoked field.
--
GnuPG-bug-id: 8048
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* sm/gpgsm.c (main): Use open_es_fread to check input args for special
file names and dashes.
--
Reading input args with open_es_fread includes a check for '-' (stdin)
and a check for special file names.
Updates-commit: 95d97615097255a1db1b71eec4df18c171e88df1
GnuPG-bug-id: 8347
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/gpgsm.c (main): Reset error count when decryption succeeds.
--
When failing to decrypt for one of multiple recipients gpgsm increases
the error count by emitting a message with log_error. If the
decryption still succeeds with another key the error count should be
reset. And gpgsm should return without error.
GnuPG-bug-id: 8340
|
| |
|
|
|
|
|
|
|
|
|
| |
* sm/decrypt.c (gpgsm_decrypt): Check cert chain only in de-vs
compliance mode.
--
We need to check the certificate chain for validity and the de-vs
flag only in de-vs compliance mode.
GnuPG-bug-id: 8333
|
| |
|
|
|
|
|
|
|
| |
* sm/decrypt.c (gpgsm_decrypt): Require a minimum authtaglen.
--
Reported-by: Thai Duong <[email protected]>
This is similar to OpenSSL's
CVE-id: CVE-2026-34182
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g10/options.h (COMPAT_NO_PARTIALFILEGUARD): New.
* g10/gpg.c (compatibility_flags_s compatibility_flags): Add
COMPAT_NO_PARTIALFILEGUARD.
* sm/gpgsm.c (compatibility_flags_s compatibility_flags): Fix the
option name.
* g10/packet.h (struct pfg, pfg_open_file, pfg_close_file): New.
* g10/decrypt-data.c (decrypt_data): Use pfg_open_file,
pfg_close_file, instead of get_output_file. Add log_error for MDC
failure just like AEAD failure.
* g10/plaintext.c (get_output_file): Mofify using PFG.
(pfg_open_file, pfg_close_file): New.
(handle_plaintext): Use PFG.
Add iobuf_error check to ensure aead filter failure is detected
correctly.
--
GnuPG-bug-id: 7873
Co-authored-by: Philip Le <[email protected]>
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
* sm/gpgsm.c (main): Prepare .part file and rename on success, remove
on failure.
* sm/gpgsm.h (COMPAT_NO_PARTIALFILEGUARD): New.
--
GnuPG-bug-id: 7873
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* sm/verify.c (gpgsm_verify): Display information about signers with
expired certificate.
--
The loop over signers skipped the parsing of the current signer's
information if the certificate is expired.
GnuPG-bug-id: 8188
Fixes-commit: fa1ac5c23d167dde6899536d6d80d9391737d21e
|
| |
|
|
|
|
|
|
|
|
| |
* sm/sign.c (add_signed_system_attribute): Rename to ...
(add_system_attribute): this. Prepare for unsigned attributes.
(add_signed_attribute): Rename to ...
(add_attribute): this. Support unsigned attributes.
--
GnuPG-bug-id: 4537
|
| |
|
|
|
|
|
|
|
|
| |
* sm/sign.c (add_signed_system_attribute): New.
(add_signed_attribute): Add args cert and signer and divert some calls
to new function.
(gpgsm_sign): Allow setting attributes to selected signers.
--
GnuPG-bug-id: 4537
|
| |
|
|
|
|
|
|
| |
* sm/certchain.c (find_up_dirmngr): Initialize all fields of
find_up_store_certs_parm.
--
Found while valgrinding new code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/gpgsm.h (opt): Move 'attributes' to ...
(struct server_control_s): ... here.
* sm/gpgsm.c (opt_attributes): New.
(main): Store value for --attribute in new var.
(gpgsm_init_default_ctrl): Set new member attribute from
opt_attributes.
(gpgsm_deinit_default_ctrl): Free new member.
* sm/server.c (cmd_setattr): New.
* sm/sign.c (gpgsm_sign): Use ctrl->attributes instead of the fomer
opt.attribute.
--
GnuPG-bug-id: 4537
|
| |
|
|
|
|
|
|
|
|
| |
* sm/sign.c (add_signed_attribute): Enable the long existing
--attribute option with a recent libksba.
--
Updates-commit: 5f3864fb647237f862bbe7e26763dffa0e945202
See also
GnuPG-bug-id: 4537
|
| |
|
|
| |
* sm/keydb.c (keydb_set_cert_flags): Flag EPHEMERAL arg as unused.
|
| |
|
|
|
|
| |
* sm/gpgsm.c (DEFAULT_CIPHER_ALGO_DE_VS): New.
(cipher_algo_option_seen): New.
(main): Switch default cipher algo.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/encrypt.c (struct dek_s): Add field 'mode'.
(init_dek): Take the mode from DEK.
(gpgsm_encrypt): Allocate the DEK earlier and set the mode from the
cipher-algo option. Set content-type depending on the mode. Adjust
compliance check. Handle the KSBA_SR_NEED_SIG event by setting the
authtag.
--
This is the second part to implement GCM encryption. Note that GCM
decryption works since 2.3.2 (nearly 5 years ago). Note that libksba
1.7.0 is required for proper functioning; earlier versions will return
an error during encryption..
GnuPG-bug-id: 3979
See-commit: 047d699aa40c6cd3f35c337091951b62adf32493
|
| |
|
|
|
|
|
|
| |
* sm/decrypt.c (gpgsm_decrypt): Run the chain validation only if we
have a certificate.
--
Fixes-commit: 56a1e5f3dda36b396874035c313fb2e6dd972c2f
|
| |
|
|
|
|
| |
* sm/gpgsm.c (no_final_failure_status): New.
(main): Set it.
(gpgsm_exit): Use it.
|
| |
|
|
|
|
|
|
|
| |
* sm/keydb.c (kbx_client_set_ephemeral): Revert logic
* kbx/kbxserver.c (cmd_setephemeral): Document option --set which can
be used for better readability.
--
Fixes-commit: 7428463a9db3c0586b30fe6cff884bcb35972d1e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/keydb.c (kbx_client_set_ephemeral): New.
(keydb_set_ephemeral): Implement the keyboxd use case.
(set_cert_flags): Rename from keydb_set_cert_flags for the case
of local keybox access.
(keydb_set_cert_flags): Implement the keyboxd use case.
(keydb_clear_some_cert_flags): Implement the keyboxd use case.
--
GnuPG-bug-id: 8048
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/decrypt.c (gpgsm_decrypt): Init issuer and serial in the recp
loop to avoid a double free in case of an error from
ksba_cms_get_issuer_serial. Also clar enc_val to be safe for future
code modifications.
* sm/verify.c (gpgsm_verify): Init serial. Not really needed, though.
--
A common pattern in GnuPG and related software for functions returning
allocated objects is to always init them in the called function to
NULL. Unfortunately this is not always the case in libksba and it
should have been done by the caller. Changing this in libksba would be
possible but has a minor regression risk. The allocation is done by
libksba and not user-controlled; thus the severity is low.
Reported-by: Ciwan Öztopal
GnuPG-bug-id: 8240
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dirmngr/crlcache.c (crl_cache_reload_crl): Print status messages on
errors.
* dirmngr/ks-engine-http.c (ks_http_fetch): Print a status message on
error.
* sm/call-dirmngr.c (warning_and_note_printer): Add new warning
messages.
* sm/certchain.c (is_cert_still_valid): Log an error message when
failing to retrieve a crlDP.
--
Let the dirmngr emit status messages on errors regarding checking a
CRL. These messages are then read by gpgsm and a warning is
printed. This commit adds warnings for http errors, fetching CRL
errors and inserting CRLs into cache errors.
GnuPG-bug-id: 8221
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/certcheck.c (extract_pss_params): Add arg 'silent'.
(gpgsm_check_cert_sig): Factor some code out to ...
(get_sig_val_from_cert): new function.
(gpgsm_pss_hash_algo_from_cert): New.
* sm/keylist.c (print_compliance_flags): Handle rsaPSS.
--
RSA-PSS certificates were not shown in key listings as de-vs
compliant. However verification showed tha they are compliant.
This patch fixes this.
Gotcha: When testing remember that the de-vs flag is only considered
in the global trustlist.
GnuPG-bug-id: T8222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/certchain.c (do_validate_chain): Fix typo
* sm/decrypt.c (gpgsm_decrypt): Check the certifacte chain for de-vs
compliance
* sm/verify.c (gpgsm_verify): Check the certificate chain for de-vs
compliance
* sm/certchain.c (do_validate_chain): Set the is_de_vs user data and
flag.
* sm/keylist.c (cert_has_de_vs_flag): New.
(print_compliance_flags): Print compliance string only if the flag
is set.
--
The gpgsm status for CO_DE_VS compliance should only be set if the
certificate chain is also checked and compliant (besides the pk algo,
the message digest and cipher which were already checked before).
GnuPG-bug-id: 8188
Cherry-picked-from: fa1ac5c23d167dde6899536d6d80d9391737d21e (2.2)
Some extra changes had to be picked from
See-commit: 14383ff052ff5013ba40b6d53b91a1525b5ae2d8 (2.2)
which was not yet ported to master. This is in particular setting the
is_de_vs user data for the cert in certchain.c and printing the
compliance flag only if it is compliant in keylist.c . Thus in de-vs
compliance mode we now look at the de-vs flag from the trustlist.txt
and print a certificate as VS-NfD compliant only if this flag is set.
Obviously this now requires that --with-validation has been used. The
advantage of this behaviour (as already avaulabel in 2.2) is that also
non-compliant certificates can be entered into the trustlist.txt and
such certs can be used with the usual warning that the cert is not
VS-NfD compliant.
GnuPG-bug-id: 7593
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* common/miscellaneous.c (gnupg_cipher_mode_name): New.
* common/audit.c (proc_type_encrypt): Print the encryption mode.
* sm/misc.c (gpgsm_map_cipher_name_to_oid): New.
* sm/gpgsm.c (DEFAULT_CIPHER_ALGO): Change to AES256-CBC for
consistent error messages.
(main): Replace the alias name mapping using if-else by a call to the
new function.
* g10/misc.c (openpgp_aead_algo_name): Use gnupg_cipher_mode_name for
consistency.
--
Note that DEFAULT_CIPHER_ALGO may now also be used to make GCM the
default.
GnuPG-bug-id: 3979
Take care: This is the first patch to implement GCM encryption. The
actual encryption part is not yet ready and instead a debug message
will be printed.
|
| |
|
|
|
|
| |
* common/compliance.c (gnupg_cipher_is_compliant): Allow GCM for
gpgsm.
(gnupg_cipher_is_allowed): Allow GCM for gpgsm also in producer mode.
|
| |
|
|
|
|
|
| |
* sm/sign.c (gpgsm_sign): Add GCM capabilities.
--
GnuPG-bug-id: 3979
|
| |
|
|
|
|
|
|
|
|
|
| |
* sm/certreqgen.c (create_request): Take the algo from the sigkey
instead of the to-be-signed public key.
--
The bug was that a certificate could only be signed by a signing key
using the same algo.
Reported-by: Youfu Zhang <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
* sm/certchain.c (do_validate_chain): Initialize TMP_CERT.
--
When keydb_get_cert raises an error, it was possible that
ksba_cert_release was called with bogus value.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
* sm/minip12.c (parse_bag_encrypted_data): Parse and ignore the
optional keyLength.
(parse_shrouded_key_bag): Ditto.
--
We have noticed newer German Telekom issued certificates which for the
first time include this optional parameter. This patch allows to
properly parse them. See RFC-2898, A2 for the specs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/gpgsm.c (oAssertValidsig, oAssertKeyusage): New.
(opts): Add options --assert0validsig and --assert-keyusage.
(assert_validsig_true): New global var.
(main): Set options.
(gpgsm_exit): Implement --assert-validsig.
* sm/gpgsm.h (opt): Add fields assert_validsig and assert_keyusage.
* sm/verify.c (gpgsm_verify): Set assert_validsig_true.
--
This option will be used by internal use of gpgsm.
Note that --assert-keyusage is not yet implemented.
|
| |
|
|
|
|
|
| |
* sm/keydb.c (keydb_search): Loop over all descriptions.
--
GnuPG-bug-id: 8026
|
| |
|
|
|
|
|
| |
* sm/call-agent.c (keyinfo_status_cb): Set S back.
--
GnuPG-bug-id: 7914
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g10/keydb.c (internal_keydb_update_keyblock): Caller should lock the
resource by keydb_lock, before use of this routine.
(internal_keydb_insert_keyblock): Likewise.
(internal_keydb_delete_keyblock): Likewise.
* g10/delkey.c (do_delete_key): Serialize the access to the resource.
* g10/import.c (import_revoke_cert): Likewise.
* g10/keyedit.c (quick_find_keyblock): Likewise.
* g10/keygen.c (quick_find_keyblock): Likewise.
* sm/delete.c (delete_one): Lock earlier to protect the resource
correctly.
* sm/keydb.c (do_set_flags): Rename from keydb_set_flags.
(keydb_set_cert_flags): Follow the change.
(keydb_update_cert): Require locked by caller.
* sm/keydb.h (keydb_set_flags): Remove.
--
GnuPG-bug-id: 7855
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* sm/keydb.c (do_insert_cert): Rename from keydb_insert_cert.
Don't call unlock_all.
(keydb_delete): Don't call unlock_all.
(keydb_store_cert): Use keydb_lock, instead of internal lock_all
directly. Follow the name change of do_insert_cert.
--
GnuPG-bug-id: 7855
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* kbx/keybox.h (keybox_fp_close): New.
* kbx/keybox-init.c (keybox_fp_close): New.
(keybox_release): Don't close FP here.
* kbx/keybox-update.c (keybox_compress_when_no_other_users): Use
keybox_fp_close.
* kbx/backend-kbx.c (be_kbx_release_kbx_hd): Follow the change.
* g10/keyring.h (keyring_fp_close): New.
* g10/keyring.c (keyring_fp_close): New.
(keyring_release): Don't close IOBUF here.
(keyring_rebuild_cache): Use keyring_fp_close.
* g10/keydb.c (do_fp_close): New.
(unlock_all): Close FP before unlocking.
* sm/keydb.c (do_fp_close): New.
(unlock_all): Close FP before unlocking.
--
GnuPG-bug-id: 7855
Signed-off-by: NIIBE Yutaka <[email protected]>
|