From 6588438f94ba8053f8b4917b9b30a5165e9181ad Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 28 Feb 2017 14:38:56 +0100 Subject: [PATCH] misc minor fixes --- src/cadet/gnunet-service-cadet-new.c | 8 +++++--- src/cadet/gnunet-service-cadet-new_channel.c | 10 ++++++---- src/consensus/test_consensus.conf | 13 ++++++++----- src/util/service_new.c | 4 ++-- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/cadet/gnunet-service-cadet-new.c b/src/cadet/gnunet-service-cadet-new.c index b0a818c7c..de85db5b6 100644 --- a/src/cadet/gnunet-service-cadet-new.c +++ b/src/cadet/gnunet-service-cadet-new.c @@ -716,9 +716,11 @@ handle_local_data (void *cls, msg->ccn); if (NULL == ch) { - /* Channel does not exist! */ - GNUNET_break (0); - GNUNET_SERVICE_client_drop (c->client); + /* Channel does not exist (anymore) */ + LOG (GNUNET_ERROR_TYPE_WARNING, + "Dropping payload for channel %u from client (channel unknown, other endpoint may have disconnected)\n", + (unsigned int) ntohl (msg->ccn.channel_of_client)); + GNUNET_SERVICE_client_continue (c->client); return; } payload_size = ntohs (msg->header.size) - sizeof (*msg); diff --git a/src/cadet/gnunet-service-cadet-new_channel.c b/src/cadet/gnunet-service-cadet-new_channel.c index c418893a8..8769601c2 100644 --- a/src/cadet/gnunet-service-cadet-new_channel.c +++ b/src/cadet/gnunet-service-cadet-new_channel.c @@ -1618,7 +1618,8 @@ GCCH_handle_remote_destroy (struct CadetChannel *ch, return; } ccc = (NULL != ch->owner) ? ch->owner : ch->dest; - if (NULL != ccc->head_recv) + if ( (NULL != ccc) && + (NULL != ccc->head_recv) ) { LOG (GNUNET_ERROR_TYPE_WARNING, "Lost end of transmission due to remote shutdown on %s\n", @@ -1626,9 +1627,10 @@ GCCH_handle_remote_destroy (struct CadetChannel *ch, /* FIXME: change API to notify client about truncated transmission! */ } ch->destroy = GNUNET_YES; - GSC_handle_remote_channel_destroy (ccc->c, - ccc->ccn, - ch); + if (NULL != ccc) + GSC_handle_remote_channel_destroy (ccc->c, + ccc->ccn, + ch); channel_destroy (ch); } diff --git a/src/consensus/test_consensus.conf b/src/consensus/test_consensus.conf index d1b33c4fd..f78b77d09 100644 --- a/src/consensus/test_consensus.conf +++ b/src/consensus/test_consensus.conf @@ -17,19 +17,22 @@ BINARY = gnunet-service-evil-consensus RESOURCE_DIAGNOSTICS = resource.log.${PEERID:-master} [core] -FORECESTART = YES +FORCESTART = YES [revocation] -FORECESTART = NO +FORCESTART = NO [fs] -FORECESTART = NO +FORCESTART = NO [gns] -FORECESTART = NO +FORCESTART = NO + +[zonemaster] +FORCESTART = NO [hostlist] -FORECESTART = NO +FORCESTART = NO [cadet] #PREFIX = valgrind diff --git a/src/util/service_new.c b/src/util/service_new.c index 8371f7703..22eec0bde 100644 --- a/src/util/service_new.c +++ b/src/util/service_new.c @@ -2402,8 +2402,8 @@ resume_client_receive (void *cls) GNUNET_YES); if (GNUNET_SYSERR == ret) { - GNUNET_break (0); - GNUNET_SERVICE_client_drop (c); + if (NULL != c->drop_task) + GNUNET_SERVICE_client_drop (c); return; } if (GNUNET_NO == ret) -- 2.25.1