X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fdv%2Fdv_api.c;h=d954d718b30b45ba9da651e67d45f7f2710916ba;hb=19377520016cc644070d207af34ae3e76618fdc8;hp=93e82f77f68570b41a301667e4e2f6e20048f00d;hpb=bed6dae023442471779a5876c184eef07a1da9a2;p=oweals%2Fgnunet.git diff --git a/src/dv/dv_api.c b/src/dv/dv_api.c index 93e82f77f..d954d718b 100644 --- a/src/dv/dv_api.c +++ b/src/dv/dv_api.c @@ -4,7 +4,7 @@ GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 2, or (at your + by the Free Software Foundation; either version 3, or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but @@ -36,7 +36,7 @@ #include "gnunet_time_lib.h" #include "gnunet_dv_service.h" #include "dv.h" -#include "../transport/plugin_transport.h" +#include "gnunet_transport_plugin.h" /** * Store ready to send messages @@ -65,10 +65,6 @@ struct PendingMessages */ struct GNUNET_DV_Handle { - /** - * Our scheduler. - */ - struct GNUNET_SCHEDULER_Handle *sched; /** * Configuration to use. @@ -175,7 +171,7 @@ try_connect (struct GNUNET_DV_Handle *ret) { if (ret->client != NULL) return GNUNET_OK; - ret->client = GNUNET_CLIENT_connect (ret->sched, "dv", ret->cfg); + ret->client = GNUNET_CLIENT_connect ("dv", ret->cfg); if (ret->client != NULL) return GNUNET_YES; #if DEBUG_DV_MESSAGES @@ -367,9 +363,8 @@ void handle_message_receipt (void *cls, received_msg = (struct GNUNET_DV_MessageReceived *)msg; packed_msg_len = ntohl(received_msg->msg_len); - sender_address_len = ntohl(received_msg->sender_address_len); - - GNUNET_assert(ntohs(msg->size) == (sizeof(struct GNUNET_DV_MessageReceived) + packed_msg_len + sender_address_len)); + sender_address_len = ntohs(msg->size) - packed_msg_len - sizeof(struct GNUNET_DV_MessageReceived); + GNUNET_assert(sender_address_len > 0); sender_address = GNUNET_malloc(sender_address_len); memcpy(sender_address, &received_msg[1], sender_address_len); packed_msg_start = (char *)&received_msg[1]; @@ -530,7 +525,6 @@ transmit_start (void *cls, size_t size, void *buf) /** * Connect to the DV service * - * @param sched the scheduler to use * @param cfg the configuration to use * @param receive_handler method call when on receipt from the service * @param receive_handler_cls closure for receive_handler @@ -538,8 +532,7 @@ transmit_start (void *cls, size_t size, void *buf) * @return handle to the DV service */ struct GNUNET_DV_Handle * -GNUNET_DV_connect (struct GNUNET_SCHEDULER_Handle *sched, - const struct GNUNET_CONFIGURATION_Handle *cfg, +GNUNET_DV_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_DV_MessageReceivedHandler receive_handler, void *receive_handler_cls) { @@ -549,11 +542,10 @@ GNUNET_DV_connect (struct GNUNET_SCHEDULER_Handle *sched, handle = GNUNET_malloc(sizeof(struct GNUNET_DV_Handle)); handle->cfg = cfg; - handle->sched = sched; handle->pending_list = NULL; handle->current = NULL; handle->th = NULL; - handle->client = GNUNET_CLIENT_connect(sched, "dv", cfg); + handle->client = GNUNET_CLIENT_connect("dv", cfg); handle->receive_handler = receive_handler; handle->receive_cls = receive_handler_cls;