diff options
author | David Goulet <dgoulet@torproject.org> | 2017-11-07 15:38:02 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2017-11-20 11:02:30 -0500 |
commit | 05766eae3099ff1542b1dc4715b824d206b7c84f (patch) | |
tree | 19d18636a5b0de7194e216a070c933ef46d8e3dc /src/or/hs_cache.c | |
parent | 04812e59dfed3c6ea4ad376595dbc8e36aaf12d2 (diff) | |
download | tor-05766eae3099ff1542b1dc4715b824d206b7c84f.tar.gz tor-05766eae3099ff1542b1dc4715b824d206b7c84f.zip |
hs-v3: Add an encoded descriptor client cache lookup function
This commit adds hs_cache_lookup_encoded_as_client() function that returns the
encoded descriptor for a given service public key. This will be needed by the
"GETINFO hs/client/desc/id/<ADDR>" control port command.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/hs_cache.c')
-rw-r--r-- | src/or/hs_cache.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/or/hs_cache.c b/src/or/hs_cache.c index 3ebe13fb4d..b864a0f717 100644 --- a/src/or/hs_cache.c +++ b/src/or/hs_cache.c @@ -706,6 +706,24 @@ cache_clean_v3_as_client(time_t now) } /** Public API: Given the HS ed25519 identity public key in <b>key</b>, return + * its HS encoded descriptor if it's stored in our cache, or NULL if not. */ +const char * +hs_cache_lookup_encoded_as_client(const ed25519_public_key_t *key) +{ + hs_cache_client_descriptor_t *cached_desc = NULL; + + tor_assert(key); + + cached_desc = lookup_v3_desc_as_client(key->pubkey); + if (cached_desc) { + tor_assert(cached_desc->encoded_desc); + return cached_desc->encoded_desc; + } + + return NULL; +} + +/** Public API: Given the HS ed25519 identity public key in <b>key</b>, return * its HS descriptor if it's stored in our cache, or NULL if not. */ const hs_descriptor_t * hs_cache_lookup_as_client(const ed25519_public_key_t *key) |