1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-10-29 19:48:43 +01:00
gnupg/common
Werner Koch 5bab257d3a
agent: Update the key file only if not changed.
* common/name-value.c (struct name_value_container): Add flag
"modified".
(nvc_modified): New.
(nvc_new): Set flag.
(_nvc_add): Set flag.
(nvc_delete): Set flag.
(nve_set): Add arg PK.  Change the caller.  Check whether to change at
all.
* agent/findkey.c (agent_write_private_key): Update only if modified.
--

This helps software which uses a file system watcher to track changes
to private keys.  In particular smartcard triggered changes are a
problem for such software because this may at worst trigger another
smartcard read.

GnuPG-bug-id: 6829
2023-11-21 09:06:00 +01:00
..
agent-opt.c agent: New OPTION pretend-request-origin 2018-03-23 08:37:14 +01:00
all-tests.scm tests: Make it possible to run all tests using our infrastructure. 2017-05-11 18:12:37 +02:00
argparse.c common: Fix returning of option attributes for options with args. 2022-01-25 19:05:16 +01:00
argparse.h Backport of the new option parser from 2.3 2020-12-04 12:12:20 +01:00
asshelp2.c common: Use new function to print status strings. 2018-02-14 12:21:44 +01:00
asshelp.c assuan: Fix exponential decay for first second. 2018-08-28 16:47:38 +02:00
asshelp.h common: Use new function to print status strings. 2018-02-14 12:21:44 +01:00
audit.c sm: Consider certificates w/o CRL DP as valid. 2020-03-27 21:20:13 +01:00
audit.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
b64dec.c common: Add new function b64decode. 2023-09-29 11:34:06 +02:00
b64enc.c common: Add new function b64decode. 2023-09-29 11:34:06 +02:00
call-gpg.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
call-gpg.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccparray.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccparray.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ChangeLog-2011 Fix typos 2015-10-28 10:20:17 +01:00
ChangeLog-2011.include Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ChangeLog.jnlib common: Remove JNLIB from boiler plate (jnlib merge). 2015-04-24 16:42:28 +02:00
common-defs.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
compliance.c gpgsm: Support ECDSA in de-vs mode. 2023-11-08 17:16:31 +01:00
compliance.h gpgsm: Support ECDSA in de-vs mode. 2023-11-08 17:16:31 +01:00
convert.c dirmngr: New option --ignore-cert 2021-10-06 11:06:01 +02:00
dotlock.c common: Improve lock strategy for dotlock. 2023-10-02 14:40:08 +02:00
dotlock.h common: New function dotlock_is_locked. 2021-03-02 19:11:53 +01:00
dynload.h w32: Avoid warning about not including winsock2.h after windows.h 2022-06-03 15:00:20 +02:00
exaudit.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
exechelp-posix.c common: New flags for gnupg_spawn_process 2022-03-15 09:47:45 +01:00
exechelp-w32.c common: New flags for gnupg_spawn_process 2022-03-15 09:47:45 +01:00
exechelp-w32ce.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
exechelp.h common: New flags for gnupg_spawn_process 2022-03-15 09:47:45 +01:00
exectool.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
exectool.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
exstatus.awk Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
fwddecl.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gc-opt-flags.h gpgconf: Some more fixes for the backported stuff. 2022-01-26 16:43:46 +01:00
get-passphrase.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
get-passphrase.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gettime.c w32: Use utf8 for the asctimestamp function. 2023-10-27 14:18:59 +02:00
gettime.h common: New functions timegm_u64, isotime2epoch_u64. 2023-10-26 12:00:22 +02:00
gnupg.ico w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
gpgrlhelp.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
helpfile.c Replace most of the remaining stdio calls by estream calls. 2020-10-21 21:09:38 +02:00
homedir.c common: Fix creation of Windows socket directories. 2022-02-07 17:59:22 +01:00
host2net.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
i18n.c common: Respect gpgconf.ctl when looking up translations 2021-11-02 20:56:25 +01:00
i18n.h Fix typos found using codespell. 2015-11-17 12:50:22 +01:00
init.c w32: Make sure DEP is enabled. 2023-01-11 10:04:08 +01:00
init.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
iobuf.c common,w32: Add missing GetLastError->errno mapping. 2023-10-05 15:30:42 +02:00
iobuf.h gpg: Make progress work for large files on Windows. 2023-07-05 11:30:16 +02:00
isascii.c common: Change license of isascii.c to all-premissive, 2015-12-14 16:21:19 +01:00
ksba-io-support.c gpgsm: Strip trailing zeroes from detached signatures. 2023-09-07 16:38:35 +02:00
ksba-io-support.h gpgsm: Strip trailing zeroes from detached signatures. 2023-09-07 16:38:35 +02:00
localename.c common: Fix warning for portability. 2017-03-07 10:42:46 +09:00
logging.c common: Change argument order of log_printhex. 2020-05-12 18:51:47 +02:00
logging.h common: Change argument order of log_printhex. 2020-05-12 18:51:47 +02:00
Makefile.am common: Add new function b64decode. 2023-09-29 11:34:06 +02:00
mapstrings.c common: New function map_static_strings 2022-03-18 13:47:10 +01:00
mbox-util.c common: Add gnupg_memstr to repalce static versions. 2023-09-26 12:37:45 +02:00
mbox-util.h common: New function to validate domain names. 2018-07-29 18:39:32 +02:00
membuf.c common: Fix put_membuf. 2021-08-27 17:22:25 +09:00
membuf.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
miscellaneous.c common: Detect PNG and JPEG file formats. 2023-01-19 16:14:31 +01:00
mischelp.c common: New functions timegm_u64, isotime2epoch_u64. 2023-10-26 12:00:22 +02:00
mischelp.h common: New functions timegm_u64, isotime2epoch_u64. 2023-10-26 12:00:22 +02:00
mkdir_p.c Replace all calls to stat by gnupg_stat. 2020-10-23 11:15:59 +02:00
mkdir_p.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mkerrors Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
mkerrtok Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
mkstrtable.awk common: Fix AWK portability. 2019-04-16 13:27:44 +09:00
name-value.c agent: Update the key file only if not changed. 2023-11-21 09:06:00 +01:00
name-value.h agent: Update the key file only if not changed. 2023-11-21 09:06:00 +01:00
openpgp-fpr.c gpg: Partial fix for Unicode problem in output files. 2021-06-10 12:44:30 +02:00
openpgp-oid.c scd:openpgp: Fix a segv for cards supporting unknown curves. 2023-11-07 17:47:11 +09:00
openpgpdefs.h scd:openpgp: Allow auto-changing of the key attributes in genkey. 2023-01-13 14:54:23 +01:00
percent.c scd:p15: Fix decrypt followed by sign problem for D-Trust cards. 2020-04-15 15:31:56 +02:00
README common: Update README. 2016-03-02 14:27:30 +01:00
recsel.c common: Add gnupg_memstr to repalce static versions. 2023-09-26 12:37:45 +02:00
recsel.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
server-help.c common: New functions get_option_value and ascii_strupr. 2019-02-11 10:59:34 +01:00
server-help.h common: New functions get_option_value and ascii_strupr. 2019-02-11 10:59:34 +01:00
session-env.c common: Pass XDG_SESSION_TYPE and QT_QPA_PLATFORM envvars to pinentry 2021-08-16 12:01:00 +02:00
session-env.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
sexp-parse.h Clean up word replication. 2017-02-21 13:11:46 -05:00
sexputil.c common: Fix parsing ECC key. 2023-05-10 10:09:55 +02:00
shareddefs.h agent: New OPTION pretend-request-origin 2018-03-23 08:37:14 +01:00
signal.c build: Update to newer autoconf constructs. 2023-08-31 10:05:32 +02:00
simple-pwquery.c agent: Fix possible uninitalized use of CTX in simple_pwquery. 2018-10-24 20:30:17 +02:00
simple-pwquery.h Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
ssh-utils.c Fix use of strncpy, which is actually good to use memcpy. 2018-09-06 11:46:20 +09:00
ssh-utils.h common: Support different digest algorithms for ssh fingerprints. 2017-05-24 17:01:48 +02:00
status.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
status.h gpg: Add canceled status message. 2020-11-09 11:53:33 +01:00
stringhelp.c common: New function scan_secondsstr. 2023-10-14 17:27:20 +02:00
stringhelp.h common: Add gnupg_memstr to repalce static versions. 2023-09-26 12:37:45 +02:00
strlist.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
strlist.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
sysutils.c common,w32: Add missing GetLastError->errno mapping. 2023-10-05 15:30:42 +02:00
sysutils.h common,w32: Add missing GetLastError->errno mapping. 2023-10-05 15:30:42 +02:00
t-b64.c common: Add new function b64decode. 2023-09-29 11:34:06 +02:00
t-ccparray.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-convert.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-dotlock.c w32: Allow Unicode filenames for dotlock 2020-10-21 21:10:27 +02:00
t-exechelp.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-exectool.c Replace all calls to access by gnupg_access 2020-10-21 20:49:18 +02:00
t-gettime.c common: New function scan_secondsstr. 2023-10-14 17:27:20 +02:00
t-helpfile.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-iobuf.c Replace use of variable-length-arrays. 2017-01-02 13:29:18 +01:00
t-mapstrings.c common: New function map_static_strings 2022-03-18 13:47:10 +01:00
t-mbox-util.c common: New function to validate domain names. 2018-07-29 18:39:32 +02:00
t-name-value.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-openpgp-oid.c common: New function get_keyalgo_string. 2023-01-13 14:54:20 +01:00
t-percent.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-recsel.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-session-env.c w32: Exclude tests with HOME. 2022-11-22 10:38:38 +09:00
t-sexputil.c tests: Cope with broken Libgcrypt versions 2021-06-22 12:29:59 +02:00
t-ssh-utils.c common: Correctly render SHA256-based ssh fingerprints. 2017-05-24 17:07:13 +02:00
t-stringhelp.c w32: Fix for make check. 2022-11-22 10:37:15 +09:00
t-strlist.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-support.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-support.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-sysutils.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-timestuff.c Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
t-w32-cmdline.c common,w32: Implement globing of command line args. 2021-06-08 10:05:27 +02:00
t-w32-reg.c gpgconf: Improve registry dumping. 2022-08-02 12:25:23 +02:00
t-zb32.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
tlv-builder.c common: Add an easy to use DER builder. 2022-06-20 15:54:29 +02:00
tlv.c sm: Remove duplicated code. 2023-07-05 12:14:35 +02:00
tlv.h common: Add an easy to use DER builder. 2022-06-20 15:54:29 +02:00
ttyio.c w32: Add fallback in case the Windows console can't cope with Unicode. 2021-06-22 11:08:05 +02:00
ttyio.h common: Remove unused function tty_print_string. 2017-01-17 10:19:06 +01:00
types.h build: Use modern Autoconf check for types. 2023-08-31 10:29:21 +02:00
userids.c gpg: Allow deletion of subkeys with --delete-[secret-]key. 2019-05-27 11:41:35 +02:00
userids.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
utf8conv.c common: Fix fallback handling to utf-8. 2020-11-27 17:46:29 +01:00
utf8conv.h Clarify text of LGPLv2+/GPLv2+ licensed files. 2017-02-24 13:48:28 +01:00
util.h common: Add new function b64decode. 2023-09-29 11:34:06 +02:00
utilproto.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
w32-cmdline.c common: Rename w32-misc.c to w32-cmdline.c 2021-06-08 10:08:03 +02:00
w32-reg.c gpgconf: Improve registry dumping. 2022-08-02 12:25:23 +02:00
w32help.h gpgconf: Improve registry dumping. 2022-08-02 12:25:23 +02:00
w32info-rc.h.in Update copyright notices 2023-01-16 13:25:22 +01:00
xasprintf.c common,w32: Implement globing of command line args. 2021-06-08 10:05:27 +02:00
xreadline.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
yesno.c Clean up word replication. 2017-02-21 13:11:46 -05:00
zb32.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
zb32.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00

Common functionality used by all modules of GnuPG.