aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/gnunet-service-cadet_peer.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-05-20 00:35:13 +0200
committerChristian Grothoff <christian@grothoff.org>2018-05-20 00:36:20 +0200
commit0be37e812d034754eb725701f237fbc81b973904 (patch)
treec50481209ec97b5dbbd075489255477c5e761d3d /src/cadet/gnunet-service-cadet_peer.c
parentc227e3f00efb4b3677e9b85c0273a7bf5fbcb4a9 (diff)
downloadgnunet-0be37e812d034754eb725701f237fbc81b973904.tar.gz
gnunet-0be37e812d034754eb725701f237fbc81b973904.zip
fix off-by-one error in cadet connection construction, also enforce better timeouts for retransmissions of handshake
Diffstat (limited to 'src/cadet/gnunet-service-cadet_peer.c')
-rw-r--r--src/cadet/gnunet-service-cadet_peer.c38
1 files changed, 31 insertions, 7 deletions
diff --git a/src/cadet/gnunet-service-cadet_peer.c b/src/cadet/gnunet-service-cadet_peer.c
index 05555e693..35e2c6148 100644
--- a/src/cadet/gnunet-service-cadet_peer.c
+++ b/src/cadet/gnunet-service-cadet_peer.c
@@ -242,12 +242,15 @@ struct CadetPeer
242const char * 242const char *
243GCP_2s (const struct CadetPeer *cp) 243GCP_2s (const struct CadetPeer *cp)
244{ 244{
245 static char buf[32]; 245 static char buf[5];
246 246 char *ret;
247 GNUNET_snprintf (buf, 247
248 sizeof (buf), 248 ret = GNUNET_CRYPTO_eddsa_public_key_to_string (&cp->pid.public_key);
249 "P(%s)", 249 strncpy (buf,
250 GNUNET_i2s (&cp->pid)); 250 ret,
251 sizeof (buf) - 1);
252 GNUNET_free (ret);
253 buf[4] = '\0';
251 return buf; 254 return buf;
252} 255}
253 256
@@ -649,6 +652,27 @@ mqm_execute (struct GCP_MessageQueueManager *mqm)
649 } 652 }
650 else 653 else
651 { 654 {
655 {
656 const struct GNUNET_MessageHeader *mh;
657
658 mh = GNUNET_MQ_env_get_msg (mqm->env);
659 switch (ntohs (mh->type))
660 {
661 case GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX:
662 {
663 const struct GNUNET_CADET_TunnelKeyExchangeMessage *msg
664 = (const struct GNUNET_CADET_TunnelKeyExchangeMessage *) mh;
665 LOG (GNUNET_ERROR_TYPE_DEBUG,
666 "P2P forwarding KX with ephemeral %s to %s on CID %s\n",
667 GNUNET_e2s (&msg->ephemeral_key),
668 GCP_2s (cp),
669 GNUNET_sh2s (&msg->cid.connection_of_tunnel));
670 }
671 break;
672 default:
673 break;
674 }
675 }
652 LOG (GNUNET_ERROR_TYPE_DEBUG, 676 LOG (GNUNET_ERROR_TYPE_DEBUG,
653 "Sending to peer %s from MQM %p\n", 677 "Sending to peer %s from MQM %p\n",
654 GCP_2s (cp), 678 GCP_2s (cp),
@@ -1044,7 +1068,7 @@ GCP_add_connection (struct CadetPeer *cp,
1044 struct CadetConnection *cc) 1068 struct CadetConnection *cc)
1045{ 1069{
1046 LOG (GNUNET_ERROR_TYPE_DEBUG, 1070 LOG (GNUNET_ERROR_TYPE_DEBUG,
1047 "Adding connection %s to peer %s\n", 1071 "Adding %s to peer %s\n",
1048 GCC_2s (cc), 1072 GCC_2s (cc),
1049 GCP_2s (cp)); 1073 GCP_2s (cp));
1050 GNUNET_assert (GNUNET_OK == 1074 GNUNET_assert (GNUNET_OK ==