From 9d14e95f42f600406d8974fd2bff58c789ba83c0 Mon Sep 17 00:00:00 2001 From: Luca Saiu Date: Thu, 2 Sep 2021 15:36:02 +0200 Subject: [PATCH] remove keyserver lookup functionality Remove keyserver lookup functionality. Simplify brutally. --- API reference details.md | 13 ------ server/mini-adapter-impl.cc | 82 ------------------------------------- server/mini-adapter-impl.hh | 14 ------- 3 files changed, 109 deletions(-) diff --git a/API reference details.md b/API reference details.md index aa2572b..5c8dda4 100644 --- a/API reference details.md +++ b/API reference details.md @@ -114,12 +114,6 @@ Start Key Synchronization for the current session. ##### stopKeySync() Stop Key Synchronization for the current session. -##### startKeyserverLookup() -Start a global thread for Keyserver Lookup. This thread handles all keyserver communication for all sessions. - -##### stopKeyserverLookup() -Stop the global thread for Keyserver Lookup. - ##### encrypt_message(Message src, StringList extra_keys, Message⇑ dst, PEP_enc_format enc_format, Integer flags) encrypt message in memory @@ -749,12 +743,5 @@ JSON Adapter version etc. ##### version() Returns a codename for the current JSON Server Adapter's version. - -##### getGpgEnvironment() -Returns a struct holding 3 members -* gnupg_path -* gnupg_home environment variable, if set -* gpg_agent_info environment variable, if set. - ##### shutdown() shutdown the JSON Adapter diff --git a/server/mini-adapter-impl.cc b/server/mini-adapter-impl.cc index 4459313..b43a2b4 100644 --- a/server/mini-adapter-impl.cc +++ b/server/mini-adapter-impl.cc @@ -2,38 +2,13 @@ #include "json-adapter.hh" #include -#include -#include #include // from libpEpAdapter. -#include #include #include namespace pEp { namespace mini { - typedef std::unique_ptr ThreadPtr; - - // keyserver lookup - utility::locked_queue< pEp_identity*, &free_identity> keyserver_lookup_queue; - PEP_SESSION keyserver_lookup_session = nullptr; // FIXME: what if another adapter started it already? - ThreadPtr keyserver_lookup_thread; - - int injectIdentity(pEp_identity* idy) - { - keyserver_lookup_queue.push_back(idy); - return 0; - } - - pEp_identity* retrieveNextIdentity(void* /*userdata*/) - { - return keyserver_lookup_queue.pop_front(); - } - - struct dummy_t{}; - dummy_t dummy{}; - - void startSync() { pEp::callback_dispatcher.start_sync(); @@ -46,63 +21,6 @@ void stopSync() } -void startKeyserverLookup() -{ - if(keyserver_lookup_session) - throw std::runtime_error("KeyserverLookup already started."); - - PEP_STATUS status = pEp::call_with_lock(&init, &keyserver_lookup_session, pEp::CallbackDispatcher::messageToSend, ::pEp::Adapter::_inject_sync_event, pEp::Adapter::_ensure_passphrase); - if(status != PEP_STATUS_OK || keyserver_lookup_session==nullptr) - { - throw std::runtime_error("Cannot create keyserver lookup session! status: " + ::pEp::status_to_string(status)); - } - - keyserver_lookup_queue.clear(); - status = register_examine_function(keyserver_lookup_session, - examineIdentity, - &keyserver_lookup_session // nullptr is not accepted, so any dummy ptr is used here - ); - if (status != PEP_STATUS_OK) - throw std::runtime_error("Cannot register keyserver lookup callbacks! status: " + ::pEp::status_to_string(status)); - - keyserver_lookup_thread.reset( new std::thread( &keyserverLookupThreadRoutine, &keyserver_lookup_session /* just a dummy */ ) ); -} - - -void stopKeyserverLookup() -{ - // No keyserver lookup session active - if(keyserver_lookup_session == nullptr) - return; - - keyserver_lookup_queue.push_front(NULL); - keyserver_lookup_thread->join(); - - // there is no unregister_examine_callback() function. hum... - keyserver_lookup_queue.clear(); - pEp::call_with_lock(&release, keyserver_lookup_session); - keyserver_lookup_session = nullptr; -} - - -int examineIdentity(pEp_identity* idy, void* obj) -{ -// JsonAdapter* ja = static_cast(obj); - return injectIdentity(idy); -} - - -void* keyserverLookupThreadRoutine(void* arg) -{ - PEP_STATUS status = do_keymanagement( - &retrieveNextIdentity, - arg); // does the whole work - - keyserver_lookup_queue.clear(); - return (void*) status; -} - - Adapter& Adapter::createInstance() { return dynamic_cast(JsonAdapter::createInstance( new Adapter() )); diff --git a/server/mini-adapter-impl.hh b/server/mini-adapter-impl.hh index 78f1611..c20db72 100644 --- a/server/mini-adapter-impl.hh +++ b/server/mini-adapter-impl.hh @@ -1,30 +1,16 @@ #ifndef MINI_ADAPTER_IMPL_HH #define MINI_ADAPTER_IMPL_HH -#include #include #include "json-adapter.hh" -#include #include - namespace pEp{ namespace mini { - int injectIdentity(pEp_identity* idy); - - pEp_identity* retrieveNextIdentity( void* /*management*/); - void startSync(); void stopSync(); - void startKeyserverLookup(); - void stopKeyserverLookup(); - - int examineIdentity(pEp_identity* idy, void* obj); - - void* keyserverLookupThreadRoutine(void* arg); - class Adapter : public JsonAdapter { public: