From 4992eacc10bedaa0edfa03b401253408c6267798 Mon Sep 17 00:00:00 2001 From: Phil Date: Wed, 25 Jul 2018 17:43:37 +0200 Subject: [PATCH] added name search --- src/identity/plugin_rest_identity.c | 23 ++++++++++++++++++++--- src/identity/test_plugin_rest_identity.sh | 6 ++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/identity/plugin_rest_identity.c b/src/identity/plugin_rest_identity.c index f1d33b0f3..59dad66c7 100644 --- a/src/identity/plugin_rest_identity.c +++ b/src/identity/plugin_rest_identity.c @@ -346,7 +346,8 @@ ego_get (struct GNUNET_REST_RequestHandle *con_handle, const char* url, handle->subsystem); handle->op = GNUNET_IDENTITY_get (handle->identity_handle, - handle->subsystem, &ego_get_for_subsystem, + handle->subsystem, + &ego_get_for_subsystem, handle); if (NULL == handle->op) { @@ -359,9 +360,10 @@ ego_get (struct GNUNET_REST_RequestHandle *con_handle, const char* url, egoname = NULL; keystring = NULL; - //if only one identity requested + //if only one identity requested with key GNUNET_CRYPTO_hash (GNUNET_REST_PARAM_PUBKEY, - strlen (GNUNET_REST_PARAM_PUBKEY), &key); + strlen (GNUNET_REST_PARAM_PUBKEY), + &key); if ( GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains ( handle->rest_handle->url_param_map, &key)) @@ -379,6 +381,21 @@ ego_get (struct GNUNET_REST_RequestHandle *con_handle, const char* url, } } + //if only one identity requested with name + if (NULL == egoname) + { + GNUNET_CRYPTO_hash (GNUNET_REST_PARAM_NAME, + strlen (GNUNET_REST_PARAM_NAME), + &key); + if ( GNUNET_YES + == GNUNET_CONTAINER_multihashmap_contains ( + handle->rest_handle->url_param_map, &key)) + { + egoname = GNUNET_CONTAINER_multihashmap_get ( + handle->rest_handle->url_param_map, &key); + } + } + json_root = json_array (); //Return ego/egos for (ego_entry = handle->ego_head; diff --git a/src/identity/test_plugin_rest_identity.sh b/src/identity/test_plugin_rest_identity.sh index b48becc45..170f3e928 100755 --- a/src/identity/test_plugin_rest_identity.sh +++ b/src/identity/test_plugin_rest_identity.sh @@ -84,6 +84,12 @@ fi id="$(gnunet-identity -d | grep "Test - " | sed "s/Test - //g")" #Test GET (one identity) for success and error json +cache="$(curl --silent "${link_to_api}?name=Test" | grep "error")" +if [ "" != "$cache" ] +then + exit 1 +fi +#Test GET (one identity) for success and error json cache="$(curl --silent "${link_to_api}?pubkey=$id" | grep "error")" if [ "" != "$cache" ] then -- 2.25.1