struct LookupHandle *handle = cls;
struct MHD_Response *resp;
- resp = GNUNET_REST_create_json_response (NULL);
+ resp = GNUNET_REST_create_response (NULL);
handle->proc (handle->proc_cls, resp, handle->response_code);
cleanup_handle (handle);
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Result %s\n", result);
json_decref (result_array);
GNUNET_JSONAPI_document_delete (json_document);
- resp = GNUNET_REST_create_json_response (result);
+ resp = GNUNET_REST_create_response (result);
handle->proc (handle->proc_cls, resp, MHD_HTTP_OK);
GNUNET_free (result);
cleanup_handle (handle);
* identified by the given public key and the shorten zone.
*
* @param pkey public key to use for the zone, can be NULL
- * @param shorten_key private key used for shortening, can be NULL
*/
static void
-lookup_with_keys (struct LookupHandle *handle, const struct GNUNET_CRYPTO_EcdsaPrivateKey *shorten_key)
+lookup_with_public_key (struct LookupHandle *handle)
{
if (UINT32_MAX == handle->type)
{
&handle->pkey,
handle->type,
handle->options,
- shorten_key,
&process_lookup_result,
handle);
}
}
}
-/**
- * Method called to with the ego we are to use for shortening
- * during the lookup.
- *
- * @param cls closure contains the public key to use
- * @param ego ego handle, NULL if not found
- * @param ctx context for application to store data for this ego
- * (during the lifetime of this process, initially NULL)
- * @param name name assigned by the user for this ego,
- * NULL if the user just deleted the ego and it
- * must thus no longer be used
- */
-static void
-identity_shorten_cb (void *cls,
- struct GNUNET_IDENTITY_Ego *ego,
- void **ctx,
- const char *name)
-{
- struct LookupHandle *handle = cls;
-
- handle->id_op = NULL;
- if (NULL == ego)
- lookup_with_keys (handle, NULL);
- else
- lookup_with_keys (handle,
- GNUNET_IDENTITY_ego_get_private_key (ego));
-}
-
-/**
- * Perform the actual resolution, starting with the zone
- * identified by the given public key.
- *
- * @param pkey public key to use for the zone
- */
-static void
-lookup_with_public_key (struct LookupHandle *handle)
-{
- handle->pkeym = handle->pkey;
- GNUNET_break (NULL == handle->id_op);
- handle->id_op = GNUNET_IDENTITY_get (handle->identity,
- "gns-short",
- &identity_shorten_cb,
- handle);
- if (NULL == handle->id_op)
- {
- GNUNET_break (0);
- lookup_with_keys (handle, NULL);
- }
-}
/**
* Method called to with the ego we are to use for the lookup,
json_decref(handle->json_root);
}
+
/**
* Method called to with the ego we are to use for the lookup,
* when the ego is the one for the default master zone.
GNUNET_SCHEDULER_add_now (&do_error, handle);
return;
}
- GNUNET_IDENTITY_ego_get_public_key (ego, &handle->pkey);
+ GNUNET_IDENTITY_ego_get_public_key (ego,
+ &handle->pkey);
/* main name is our own master zone, do no look for that in the DHT */
handle->options = GNUNET_GNS_LO_LOCAL_MASTER;
/* if the name is of the form 'label.gnu', never go to the DHT */
return GNUNET_OK;
}
+
static void
get_gns_cont (struct GNUNET_REST_RequestHandle *conndata_handle,
const char* url,
{
handle->pkey_str = GNUNET_CONTAINER_multihashmap_get (conndata_handle->url_param_map,
&key);
+ GNUNET_assert (NULL != handle->pkey_str);
if (GNUNET_OK !=
GNUNET_CRYPTO_ecdsa_public_key_from_string (handle->pkey_str,
strlen(handle->pkey_str),
struct LookupHandle *handle = cls;
//For GNS, independent of path return all options
- resp = GNUNET_REST_create_json_response (NULL);
+ resp = GNUNET_REST_create_response (NULL);
MHD_add_response_header (resp,
"Access-Control-Allow-Methods",
MHD_HTTP_METHOD_GET);
* @param data body of the HTTP request (optional)
* @param data_size length of the body
* @param proc callback function for the result
- * @param proc_cls closure for callback function
- * @return GNUNET_OK if request accepted
+ * @param proc_cls closure for @a proc
+ * @return #GNUNET_OK if request accepted
*/
static void
-rest_gns_process_request(struct GNUNET_REST_RequestHandle *conndata_handle,
- GNUNET_REST_ResultProcessor proc,
- void *proc_cls)
+rest_gns_process_request (struct GNUNET_REST_RequestHandle *conndata_handle,
+ GNUNET_REST_ResultProcessor proc,
+ void *proc_cls)
{
+ static const struct GNUNET_REST_RequestHandler handlers[] = {
+ {MHD_HTTP_METHOD_GET, GNUNET_REST_API_NS_GNS, &get_gns_cont},
+ {MHD_HTTP_METHOD_OPTIONS, GNUNET_REST_API_NS_GNS, &options_cont},
+ GNUNET_REST_HANDLER_END
+ };
struct LookupHandle *handle = GNUNET_new (struct LookupHandle);
struct GNUNET_REST_RequestHandlerError err;
handle->proc = proc;
handle->rest_handle = conndata_handle;
- static const struct GNUNET_REST_RequestHandler handlers[] = {
- {MHD_HTTP_METHOD_GET, GNUNET_REST_API_NS_GNS, &get_gns_cont},
- {MHD_HTTP_METHOD_OPTIONS, GNUNET_REST_API_NS_GNS, &options_cont},
- GNUNET_REST_HANDLER_END
- };
-
if (GNUNET_NO == GNUNET_JSONAPI_handle_request (conndata_handle,
handlers,
&err,