diff options
author | Werner Koch <[email protected]> | 2023-04-04 06:49:55 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-04-04 06:49:55 +0000 |
commit | 56d309133f0e54ac5e2f95871fb74f8cb97e2636 (patch) | |
tree | 79624645582e9dbe72b16287b553b37abfcfc724 /dirmngr/ks-action.c | |
parent | agent: Add trustlist flag "de-vs". (diff) | |
download | gnupg-56d309133f0e54ac5e2f95871fb74f8cb97e2636.tar.gz gnupg-56d309133f0e54ac5e2f95871fb74f8cb97e2636.zip |
dirmngr: Return modifyTimestamp and add server option --newer.
* dirmngr/server.c (cmd_ks_get): Add option --newer.
(cmd_ad_query): Ditto.
* dirmngr/ldap-misc.c (isotime2rfc4517): New.
(rfc4517toisotime): New.
* dirmngr/ks-action.c (ks_action_get): Add arg newer and pass on.
(ks_action_query): Ditto.
* dirmngr/ks-engine-ldap.c (extract_keys): Print new "chg" record.
(ks_ldap_get): Add arg newer. Modify filter with newer arg.
(ks_ldap_search): Print the modifyTimestamp.
(ks_ldap_query): Add arg newer. Modify filter with newer arg.
--
Note that the modifyTimestamp is also available on Windows, where its
value is more commonly known as whenChanged. Both are constructed
attributes.
Note that the --newer option is a bit of a misnomer because LDAP has
only a greater-or-equal and no greater-than operator.
Diffstat (limited to 'dirmngr/ks-action.c')
-rw-r--r-- | dirmngr/ks-action.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/dirmngr/ks-action.c b/dirmngr/ks-action.c index 6b5f78f49..002f1a7a5 100644 --- a/dirmngr/ks-action.c +++ b/dirmngr/ks-action.c @@ -337,7 +337,8 @@ ks_action_search (ctrl_t ctrl, uri_item_t keyservers, keyservers and write the result to the provided output stream. */ gpg_error_t ks_action_get (ctrl_t ctrl, uri_item_t keyservers, - strlist_t patterns, unsigned int ks_get_flags, estream_t outfp) + strlist_t patterns, unsigned int ks_get_flags, + gnupg_isotime_t newer, estream_t outfp) { gpg_error_t err = 0; gpg_error_t first_err = 0; @@ -382,7 +383,7 @@ ks_action_get (ctrl_t ctrl, uri_item_t keyservers, #if USE_LDAP if (is_ldap) err = ks_ldap_get (ctrl, uri->parsed_uri, sl->d, ks_get_flags, - &infp); + newer, &infp); else #endif if (is_hkp_s) @@ -549,7 +550,8 @@ ks_action_put (ctrl_t ctrl, uri_item_t keyservers, * the filter expression FILTER. Write the result to OUTFP. */ gpg_error_t ks_action_query (ctrl_t ctrl, const char *url, unsigned int ks_get_flags, - const char *filter, char **attrs, estream_t outfp) + const char *filter, char **attrs, + gnupg_isotime_t newer, estream_t outfp) { #if USE_LDAP gpg_error_t err; @@ -576,7 +578,7 @@ ks_action_query (ctrl_t ctrl, const char *url, unsigned int ks_get_flags, || puri->parsed_uri->opaque) { err = ks_ldap_query (ctrl, puri->parsed_uri, ks_get_flags, filter, - attrs, &infp); + attrs, newer, &infp); if (!err) err = copy_stream (infp, outfp); } |