summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dht/Makefile.am4
-rw-r--r--src/dht/dht_api_new.c101
-rw-r--r--src/dht/gnunet-service-dht-new.c4
-rw-r--r--src/dht/gnunet-service-dht_clients.c8
-rw-r--r--src/dht/gnunet-service-dht_clients.h10
-rw-r--r--src/dht/gnunet-service-dht_datacache.c2
-rw-r--r--src/dht/gnunet-service-dht_neighbours.c4
7 files changed, 68 insertions, 65 deletions
diff --git a/src/dht/Makefile.am b/src/dht/Makefile.am
index 274a89b18..70fa5ca28 100644
--- a/src/dht/Makefile.am
+++ b/src/dht/Makefile.am
@@ -18,7 +18,9 @@ if USE_COVERAGE
18 XLIB = -lgcov 18 XLIB = -lgcov
19endif 19endif
20 20
21lib_LTLIBRARIES = libgnunetdht.la \ 21lib_LTLIBRARIES = \
22 libgnunetdht.la \
23 libgnunetdhtnew.la \
22 libgnunetdhtlog.la 24 libgnunetdhtlog.la
23 25
24plugin_LTLIBRARIES = \ 26plugin_LTLIBRARIES = \
diff --git a/src/dht/dht_api_new.c b/src/dht/dht_api_new.c
index 9f7097d34..84ed733e8 100644
--- a/src/dht/dht_api_new.c
+++ b/src/dht/dht_api_new.c
@@ -26,17 +26,13 @@
26 */ 26 */
27 27
28#include "platform.h" 28#include "platform.h"
29#include "gnunet_bandwidth_lib.h" 29#include "gnunet_util_lib.h"
30#include "gnunet_client_lib.h"
31#include "gnunet_constants.h" 30#include "gnunet_constants.h"
32#include "gnunet_container_lib.h"
33#include "gnunet_arm_service.h" 31#include "gnunet_arm_service.h"
34#include "gnunet_hello_lib.h" 32#include "gnunet_hello_lib.h"
35#include "gnunet_protocols.h" 33#include "gnunet_protocols.h"
36#include "gnunet_server_lib.h" 34#include "gnunet_dht_service_new.h"
37#include "gnunet_time_lib.h" 35#include "dht_new.h"
38#include "gnunet_dht_service.h"
39#include "dht.h"
40 36
41#define DEBUG_DHT_API GNUNET_NO 37#define DEBUG_DHT_API GNUNET_NO
42 38
@@ -104,9 +100,9 @@ struct PendingMessage
104 100
105 101
106/** 102/**
107 * Handle to a route request 103 * Handle to a GET request
108 */ 104 */
109struct GNUNET_DHT_RouteHandle 105struct GNUNET_DHT_GetHandle
110{ 106{
111 107
112 /** 108 /**
@@ -242,14 +238,14 @@ try_connect (struct GNUNET_DHT_Handle *handle)
242 * 238 *
243 * @param cls the 'struct GNUNET_DHT_Handle*' 239 * @param cls the 'struct GNUNET_DHT_Handle*'
244 * @param key key for the request (not used) 240 * @param key key for the request (not used)
245 * @param value the 'struct GNUNET_DHT_RouteHandle*' 241 * @param value the 'struct GNUNET_DHT_GetHandle*'
246 * @return GNUNET_YES (always) 242 * @return GNUNET_YES (always)
247 */ 243 */
248static int 244static int
249add_request_to_pending (void *cls, const GNUNET_HashCode * key, void *value) 245add_request_to_pending (void *cls, const GNUNET_HashCode * key, void *value)
250{ 246{
251 struct GNUNET_DHT_Handle *handle = cls; 247 struct GNUNET_DHT_Handle *handle = cls;
252 struct GNUNET_DHT_RouteHandle *rh = value; 248 struct GNUNET_DHT_GetHandle *rh = value;
253 249
254 if (GNUNET_NO == rh->message->in_pending_queue) 250 if (GNUNET_NO == rh->message->in_pending_queue)
255 { 251 {
@@ -424,7 +420,7 @@ static int
424process_reply (void *cls, const GNUNET_HashCode * key, void *value) 420process_reply (void *cls, const GNUNET_HashCode * key, void *value)
425{ 421{
426 const struct GNUNET_DHT_ClientResultMessage *dht_msg = cls; 422 const struct GNUNET_DHT_ClientResultMessage *dht_msg = cls;
427 struct GNUNET_DHT_RouteHandle *rh = value; 423 struct GNUNET_DHT_GetHandle *rh = value;
428 const struct GNUNET_PeerIdentity *put_path; 424 const struct GNUNET_PeerIdentity *put_path;
429 const struct GNUNET_PeerIdentity *get_path; 425 const struct GNUNET_PeerIdentity *get_path;
430 uint32_t put_path_length; 426 uint32_t put_path_length;
@@ -440,10 +436,10 @@ process_reply (void *cls, const GNUNET_HashCode * key, void *value)
440 return GNUNET_YES; 436 return GNUNET_YES;
441 } 437 }
442 msize = ntohs (dht_msg->header.size); 438 msize = ntohs (dht_msg->header.size);
443 meta_length = sizeof (struct GNUNET_DHT_ClientResultMessage) +
444 sizeof (struct GNUNET_PeerIdentity) * (get_path_length + put_path_length);
445 put_path_length = ntohl (dht_msg->put_path_length); 439 put_path_length = ntohl (dht_msg->put_path_length);
446 get_path_length = ntohl (dht_msg->get_path_length); 440 get_path_length = ntohl (dht_msg->get_path_length);
441 meta_length = sizeof (struct GNUNET_DHT_ClientResultMessage) +
442 sizeof (struct GNUNET_PeerIdentity) * (get_path_length + put_path_length);
447 if ( (msize < meta_length) || 443 if ( (msize < meta_length) ||
448 (get_path_length > GNUNET_SERVER_MAX_MESSAGE_SIZE / sizeof (struct GNUNET_PeerIdentity)) || 444 (get_path_length > GNUNET_SERVER_MAX_MESSAGE_SIZE / sizeof (struct GNUNET_PeerIdentity)) ||
449 (put_path_length > GNUNET_SERVER_MAX_MESSAGE_SIZE / sizeof (struct GNUNET_PeerIdentity)) ) 445 (put_path_length > GNUNET_SERVER_MAX_MESSAGE_SIZE / sizeof (struct GNUNET_PeerIdentity)) )
@@ -461,7 +457,7 @@ process_reply (void *cls, const GNUNET_HashCode * key, void *value)
461 get_path, get_path_length, 457 get_path, get_path_length,
462 put_path, put_path_length, 458 put_path, put_path_length,
463 ntohl (dht_msg->type), 459 ntohl (dht_msg->type),
464 data_size, data); 460 data_length, data);
465 return GNUNET_YES; 461 return GNUNET_YES;
466} 462}
467 463
@@ -477,7 +473,7 @@ static void
477service_message_handler (void *cls, const struct GNUNET_MessageHeader *msg) 473service_message_handler (void *cls, const struct GNUNET_MessageHeader *msg)
478{ 474{
479 struct GNUNET_DHT_Handle *handle = cls; 475 struct GNUNET_DHT_Handle *handle = cls;
480 const struct GNUNET_DHT_RouteResultMessage *dht_msg; 476 const struct GNUNET_DHT_ClientResultMessage *dht_msg;
481 477
482 if (msg == NULL) 478 if (msg == NULL)
483 { 479 {
@@ -492,13 +488,13 @@ service_message_handler (void *cls, const struct GNUNET_MessageHeader *msg)
492 do_disconnect (handle); 488 do_disconnect (handle);
493 return; 489 return;
494 } 490 }
495 if (ntohs (msg->size) < sizeof (struct GNUNET_DHT_RouteResultMessage)) 491 if (ntohs (msg->size) < sizeof (struct GNUNET_DHT_ClientResultMessage))
496 { 492 {
497 GNUNET_break (0); 493 GNUNET_break (0);
498 do_disconnect (handle); 494 do_disconnect (handle);
499 return; 495 return;
500 } 496 }
501 dht_msg = (const struct GNUNET_DHT_RouteResultMessage *) msg; 497 dht_msg = (const struct GNUNET_DHT_ClientResultMessage *) msg;
502 GNUNET_CONTAINER_multihashmap_get_multiple (handle->active_requests, 498 GNUNET_CONTAINER_multihashmap_get_multiple (handle->active_requests,
503 &dht_msg->key, &process_reply, 499 &dht_msg->key, &process_reply,
504 (void *) dht_msg); 500 (void *) dht_msg);
@@ -626,9 +622,12 @@ GNUNET_DHT_put (struct GNUNET_DHT_Handle *handle, const GNUNET_HashCode * key,
626 void *cont_cls) 622 void *cont_cls)
627{ 623{
628 struct GNUNET_DHT_ClientPutMessage *put_msg; 624 struct GNUNET_DHT_ClientPutMessage *put_msg;
625 size_t msize;
626 struct PendingMessage *pending;
629 627
630 msize = sizeof (struct GNUNET_DHT_ClientPutMessage) + size; 628 msize = sizeof (struct GNUNET_DHT_ClientPutMessage) + size;
631 if (msize >= GNUNET_SERVER_MAX_MESSAGE_SIZE) 629 if ( (msize >= GNUNET_SERVER_MAX_MESSAGE_SIZE) ||
630 (size >= GNUNET_SERVER_MAX_MESSAGE_SIZE) )
632 { 631 {
633 GNUNET_break (0); 632 GNUNET_break (0);
634 if (NULL != cont) 633 if (NULL != cont)
@@ -636,24 +635,22 @@ GNUNET_DHT_put (struct GNUNET_DHT_Handle *handle, const GNUNET_HashCode * key,
636 return; 635 return;
637 } 636 }
638 pending = GNUNET_malloc (sizeof (struct PendingMessage) + msize); 637 pending = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
639 message = (struct GNUNET_DHT_ClientPutMessage *) &pending[1]; 638 put_msg = (struct GNUNET_DHT_ClientPutMessage *) &pending[1];
640 pending->msg = &message->header; 639 pending->msg = &put_msg->header;
641 pending->handle = handle; 640 pending->handle = handle;
642 pending->cont = cont; 641 pending->cont = cont;
643 pending->cont_cls = cont_cls; 642 pending->cont_cls = cont_cls;
644 pending->free_on_send = GNUNET_YES; 643 pending->free_on_send = GNUNET_YES;
645 pending->timeout_task = 644 pending->timeout_task =
646 GNUNET_SCHEDULER_add_delayed (timeout, &timeout_put_request, pending); 645 GNUNET_SCHEDULER_add_delayed (timeout, &timeout_put_request, pending);
647 message->header.size = htons (msize); 646 put_msg->header.size = htons (msize);
648 message->header.type = htons (GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT); 647 put_msg->header.type = htons (GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT);
649 message->type = htonl (type); 648 put_msg->type = htonl (type);
650 message->options = htonl ((uint32_t) options); 649 put_msg->options = htonl ((uint32_t) options);
651 message->desired_replication_level = htonl (desired_replication_level); 650 put_msg->desired_replication_level = htonl (desired_replication_level);
652 message->expiration = GNUNET_TIME_absolute_hton (exp); 651 put_msg->expiration = GNUNET_TIME_absolute_hton (exp);
653 message->key = *key; 652 put_msg->key = *key;
654 handle->uid_gen++; 653 memcpy (&put_msg[1], data, size);
655 message->unique_id = handle->uid_gen;
656 memcpy (&message[1], data, size);
657 GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail, 654 GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail,
658 pending); 655 pending);
659 pending->in_pending_queue = GNUNET_YES; 656 pending->in_pending_queue = GNUNET_YES;
@@ -689,37 +686,40 @@ GNUNET_DHT_get_start (struct GNUNET_DHT_Handle *handle,
689{ 686{
690 struct GNUNET_DHT_ClientGetMessage *get_msg; 687 struct GNUNET_DHT_ClientGetMessage *get_msg;
691 struct GNUNET_DHT_GetHandle *get_handle; 688 struct GNUNET_DHT_GetHandle *get_handle;
689 size_t msize;
690 struct PendingMessage *pending;
692 691
693 msize = sizeof (struct GNUNET_DHT_ClientGetMessage) + xquery_size; 692 msize = sizeof (struct GNUNET_DHT_ClientGetMessage) + xquery_size;
694 if (msize >= GNUNET_SERVER_MAX_MESSAGE_SIZE) 693 if ( (msize >= GNUNET_SERVER_MAX_MESSAGE_SIZE) ||
694 (xquery_size >= GNUNET_SERVER_MAX_MESSAGE_SIZE) )
695 { 695 {
696 GNUNET_break (0); 696 GNUNET_break (0);
697 return NULL; 697 return NULL;
698 } 698 }
699 pending = GNUNET_malloc (sizeof (struct PendingMessage) + msize); 699 pending = GNUNET_malloc (sizeof (struct PendingMessage) + msize);
700 message = (struct GNUNET_DHT_ClientGetMessage *) &pending[1]; 700 get_msg = (struct GNUNET_DHT_ClientGetMessage *) &pending[1];
701 pending->msg = &message->header; 701 pending->msg = &get_msg->header;
702 pending->handle = handle; 702 pending->handle = handle;
703 pending->free_on_send = GNUNET_NO; 703 pending->free_on_send = GNUNET_NO;
704 message->header.size = htons (msize); 704 get_msg->header.size = htons (msize);
705 message->header.type = htons (GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET); 705 get_msg->header.type = htons (GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET);
706 message->options = htonl ((uint32_t) options); 706 get_msg->options = htonl ((uint32_t) options);
707 message->desired_replication_level = htonl (desired_replication_level); 707 get_msg->desired_replication_level = htonl (desired_replication_level);
708 message->type = htonl (type); 708 get_msg->type = htonl (type);
709 message->key = *key; 709 get_msg->key = *key;
710 handle->uid_gen++; 710 handle->uid_gen++;
711 message->unique_id = handle->uid_gen; 711 get_msg->unique_id = handle->uid_gen;
712 memcpy (&message[1], xquery, xquery_size); 712 memcpy (&get_msg[1], xquery, xquery_size);
713 GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail, 713 GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail,
714 pending); 714 pending);
715 pending->in_pending_queue = GNUNET_YES; 715 pending->in_pending_queue = GNUNET_YES;
716 get_handle = GNUNET_malloc (sizeof (struct GNUNET_DHT_GetHandle)); 716 get_handle = GNUNET_malloc (sizeof (struct GNUNET_DHT_GetHandle));
717 get_handle->iter = iter; 717 get_handle->iter = iter;
718 get_handle->iter_cls = iter_cls; 718 get_handle->iter_cls = iter_cls;
719 get_handle->route_handle = pending; 719 get_handle->message = pending;
720 GNUNET_CONTAINER_multihashmap_put (handle->active_requests, 720 GNUNET_CONTAINER_multihashmap_put (handle->active_requests,
721 key, get_handle, 721 key, get_handle,
722 GNUNET_CONTAINER_MULITHASHMAPOPTION_MULTIPLE); 722 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
723 process_pending_messages (handle); 723 process_pending_messages (handle);
724 return get_handle; 724 return get_handle;
725} 725}
@@ -736,19 +736,20 @@ GNUNET_DHT_get_stop (struct GNUNET_DHT_GetHandle *get_handle)
736 struct GNUNET_DHT_Handle *handle; 736 struct GNUNET_DHT_Handle *handle;
737 const struct GNUNET_DHT_ClientGetMessage *get_msg; 737 const struct GNUNET_DHT_ClientGetMessage *get_msg;
738 738
739 handle = get_handle->pending->handle; 739 /* FIXME: send STOP to service! */
740 get_msg = (const struct GNUNET_DHT_ClientGetMessage*) get_handle->pending->msg; 740 handle = get_handle->message->handle;
741 get_msg = (const struct GNUNET_DHT_ClientGetMessage*) get_handle->message->msg;
741 GNUNET_assert (GNUNET_YES == 742 GNUNET_assert (GNUNET_YES ==
742 GNUNET_CONTAINER_multihashmap_remove (handle->active_requests, 743 GNUNET_CONTAINER_multihashmap_remove (handle->active_requests,
743 &get_msg->key, get_handle)); 744 &get_msg->key, get_handle));
744 if (GNUNET_YES == get_handle->pending->in_pending_queue) 745 if (GNUNET_YES == get_handle->message->in_pending_queue)
745 { 746 {
746 GNUNET_CONTAINER_DLL_remove (handle->pending_head, 747 GNUNET_CONTAINER_DLL_remove (handle->pending_head,
747 handle->pending_tail, 748 handle->pending_tail,
748 get_handle->pending); 749 get_handle->message);
749 get_handle->pending->in_pending_queue = GNUNET_NO; 750 get_handle->message->in_pending_queue = GNUNET_NO;
750 } 751 }
751 GNUNET_free (get_handle->pending); 752 GNUNET_free (get_handle->message);
752 GNUNET_free (get_handle); 753 GNUNET_free (get_handle);
753} 754}
754 755
diff --git a/src/dht/gnunet-service-dht-new.c b/src/dht/gnunet-service-dht-new.c
index 766c6c0a9..1469385d2 100644
--- a/src/dht/gnunet-service-dht-new.c
+++ b/src/dht/gnunet-service-dht-new.c
@@ -113,7 +113,7 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
113 GDS_NEIGHBOURS_done (); 113 GDS_NEIGHBOURS_done ();
114 GDS_DATACACHE_done (); 114 GDS_DATACACHE_done ();
115 GDS_ROUTING_done (); 115 GDS_ROUTING_done ();
116 GDS_CLIENT_done (); 116 GDS_CLIENTS_done ();
117 GDS_NSE_done (); 117 GDS_NSE_done ();
118 if (GDS_block_context != NULL) 118 if (GDS_block_context != NULL)
119 { 119 {
@@ -147,7 +147,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
147 GDS_ROUTING_init (); 147 GDS_ROUTING_init ();
148 GDS_NSE_init (); 148 GDS_NSE_init ();
149 GDS_DATACACHE_init (); 149 GDS_DATACACHE_init ();
150 GDS_CLIENT_init (server); 150 GDS_CLIENTS_init (server);
151 if (GNUNET_OK != 151 if (GNUNET_OK !=
152 GDS_NEIGHBOURS_init ()) 152 GDS_NEIGHBOURS_init ())
153 { 153 {
diff --git a/src/dht/gnunet-service-dht_clients.c b/src/dht/gnunet-service-dht_clients.c
index 154d8d98e..13102a998 100644
--- a/src/dht/gnunet-service-dht_clients.c
+++ b/src/dht/gnunet-service-dht_clients.c
@@ -386,7 +386,7 @@ handle_dht_local_put (void *cls, struct GNUNET_SERVER_Client *client,
386 } 386 }
387 dht_msg = (const struct GNUNET_DHT_ClientPutMessage *) message; 387 dht_msg = (const struct GNUNET_DHT_ClientPutMessage *) message;
388 /* give to local clients */ 388 /* give to local clients */
389 GDS_CLIENT_handle_reply (GNUNET_TIME_absolute_ntoh (dht_msg->expiration), 389 GDS_CLIENTS_handle_reply (GNUNET_TIME_absolute_ntoh (dht_msg->expiration),
390 &dht_msg->key, 390 &dht_msg->key,
391 0, NULL, 391 0, NULL,
392 0, NULL, 392 0, NULL,
@@ -772,7 +772,7 @@ forward_reply (void *cls, const GNUNET_HashCode * key, void *value)
772 * @param data application payload data 772 * @param data application payload data
773 */ 773 */
774void 774void
775GDS_CLIENT_handle_reply (struct GNUNET_TIME_Absolute expiration, 775GDS_CLIENTS_handle_reply (struct GNUNET_TIME_Absolute expiration,
776 const GNUNET_HashCode *key, 776 const GNUNET_HashCode *key,
777 unsigned int get_path_length, 777 unsigned int get_path_length,
778 const struct GNUNET_PeerIdentity *get_path, 778 const struct GNUNET_PeerIdentity *get_path,
@@ -840,7 +840,7 @@ GDS_CLIENT_handle_reply (struct GNUNET_TIME_Absolute expiration,
840 * @param server the initialized server 840 * @param server the initialized server
841 */ 841 */
842void 842void
843GDS_CLIENT_init (struct GNUNET_SERVER_Handle *server) 843GDS_CLIENTS_init (struct GNUNET_SERVER_Handle *server)
844{ 844{
845 static struct GNUNET_SERVER_MessageHandler plugin_handlers[] = { 845 static struct GNUNET_SERVER_MessageHandler plugin_handlers[] = {
846 {&handle_dht_local_put, NULL, 846 {&handle_dht_local_put, NULL,
@@ -863,7 +863,7 @@ GDS_CLIENT_init (struct GNUNET_SERVER_Handle *server)
863 * Shutdown client subsystem. 863 * Shutdown client subsystem.
864 */ 864 */
865void 865void
866GDS_CLIENT_done () 866GDS_CLIENTS_done ()
867{ 867{
868 GNUNET_assert (client_head == NULL); 868 GNUNET_assert (client_head == NULL);
869 GNUNET_assert (client_tail == NULL); 869 GNUNET_assert (client_tail == NULL);
diff --git a/src/dht/gnunet-service-dht_clients.h b/src/dht/gnunet-service-dht_clients.h
index d6d99540f..66fa433c0 100644
--- a/src/dht/gnunet-service-dht_clients.h
+++ b/src/dht/gnunet-service-dht_clients.h
@@ -24,8 +24,8 @@
24 * @author Christian Grothoff 24 * @author Christian Grothoff
25 * @author Nathan Evans 25 * @author Nathan Evans
26 */ 26 */
27#ifndef GNUNET_SERVICE_DHT_CLIENTS_H 27#ifndef GNUNET_SERVICE_DHT_CLIENT_H
28#define GNUNET_SERVICE_DHT_CLIENTS_H 28#define GNUNET_SERVICE_DHT_CLIENT_H
29 29
30#include "gnunet_util_lib.h" 30#include "gnunet_util_lib.h"
31#include "gnunet_block_lib.h" 31#include "gnunet_block_lib.h"
@@ -46,7 +46,7 @@
46 * @param data application payload data 46 * @param data application payload data
47 */ 47 */
48void 48void
49GDS_CLIENT_handle_reply (struct GNUNET_TIME_Absolute expiration, 49GDS_CLIENTS_handle_reply (struct GNUNET_TIME_Absolute expiration,
50 const GNUNET_HashCode *key, 50 const GNUNET_HashCode *key,
51 unsigned int get_path_length, 51 unsigned int get_path_length,
52 const struct GNUNET_PeerIdentity *get_path, 52 const struct GNUNET_PeerIdentity *get_path,
@@ -63,13 +63,13 @@ GDS_CLIENT_handle_reply (struct GNUNET_TIME_Absolute expiration,
63 * @param server the initialized server 63 * @param server the initialized server
64 */ 64 */
65void 65void
66GDS_CLIENT_init (struct GNUNET_SERVER_Handle *server); 66GDS_CLIENTS_init (struct GNUNET_SERVER_Handle *server);
67 67
68 68
69/** 69/**
70 * Shutdown client subsystem. 70 * Shutdown client subsystem.
71 */ 71 */
72void 72void
73GDS_CLIENT_done (void); 73GDS_CLIENTS_done (void);
74 74
75#endif 75#endif
diff --git a/src/dht/gnunet-service-dht_datacache.c b/src/dht/gnunet-service-dht_datacache.c
index 4ac0a815b..723dd02ca 100644
--- a/src/dht/gnunet-service-dht_datacache.c
+++ b/src/dht/gnunet-service-dht_datacache.c
@@ -202,7 +202,7 @@ datacache_get_iterator (void *cls, struct GNUNET_TIME_Absolute exp,
202 case GNUNET_BLOCK_EVALUATION_OK_LAST: 202 case GNUNET_BLOCK_EVALUATION_OK_LAST:
203 case GNUNET_BLOCK_EVALUATION_OK_MORE: 203 case GNUNET_BLOCK_EVALUATION_OK_MORE:
204 /* forward to local clients */ 204 /* forward to local clients */
205 GDS_CLIENT_handle_reply (exp, 205 GDS_CLIENTS_handle_reply (exp,
206 key, 206 key,
207 0, NULL, 207 0, NULL,
208 put_path_length, pp, 208 put_path_length, pp,
diff --git a/src/dht/gnunet-service-dht_neighbours.c b/src/dht/gnunet-service-dht_neighbours.c
index 7411c964d..a9ecbe4af 100644
--- a/src/dht/gnunet-service-dht_neighbours.c
+++ b/src/dht/gnunet-service-dht_neighbours.c
@@ -1478,7 +1478,7 @@ handle_dht_p2p_put (void *cls,
1478 putlen = 0; 1478 putlen = 0;
1479 1479
1480 /* give to local clients */ 1480 /* give to local clients */
1481 GDS_CLIENT_handle_reply (GNUNET_TIME_absolute_ntoh (put->expiration_time), 1481 GDS_CLIENTS_handle_reply (GNUNET_TIME_absolute_ntoh (put->expiration_time),
1482 &put->key, 1482 &put->key,
1483 0, NULL, 1483 0, NULL,
1484 putlen, 1484 putlen,
@@ -1806,7 +1806,7 @@ handle_dht_p2p_result (void *cls, const struct GNUNET_PeerIdentity *peer,
1806 get_path_length++; 1806 get_path_length++;
1807 1807
1808 /* forward to local clients */ 1808 /* forward to local clients */
1809 GDS_CLIENT_handle_reply (GNUNET_TIME_absolute_ntoh (prm->expiration_time), 1809 GDS_CLIENTS_handle_reply (GNUNET_TIME_absolute_ntoh (prm->expiration_time),
1810 &prm->key, 1810 &prm->key,
1811 get_path_length, 1811 get_path_length,
1812 xget_path, 1812 xget_path,