aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/cadet_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cadet/cadet_api.c')
-rw-r--r--src/cadet/cadet_api.c32
1 files changed, 9 insertions, 23 deletions
diff --git a/src/cadet/cadet_api.c b/src/cadet/cadet_api.c
index 12d1ba2da..c65475b10 100644
--- a/src/cadet/cadet_api.c
+++ b/src/cadet/cadet_api.c
@@ -1078,13 +1078,9 @@ process_get_peer (struct GNUNET_CADET_Handle *h,
1078 struct GNUNET_CADET_LocalInfoTunnel *msg; 1078 struct GNUNET_CADET_LocalInfoTunnel *msg;
1079 size_t esize; 1079 size_t esize;
1080 size_t msize; 1080 size_t msize;
1081 unsigned int ch_n;
1082 unsigned int c_n;
1083 struct GNUNET_CADET_Hash *conns;
1084 CADET_ChannelNumber *chns;
1085 1081
1086 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Get Tunnel messasge received\n"); 1082 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Get Tunnel messasge received\n");
1087 if (NULL == h->info_cb.tunnel_cb) 1083 if (NULL == h->info_cb.peer_cb)
1088 { 1084 {
1089 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " ignored\n"); 1085 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " ignored\n");
1090 return; 1086 return;
@@ -1093,38 +1089,28 @@ process_get_peer (struct GNUNET_CADET_Handle *h,
1093 /* Verify message sanity */ 1089 /* Verify message sanity */
1094 msg = (struct GNUNET_CADET_LocalInfoTunnel *) message; 1090 msg = (struct GNUNET_CADET_LocalInfoTunnel *) message;
1095 msize = ntohs (message->size); 1091 msize = ntohs (message->size);
1096 esize = sizeof (struct GNUNET_CADET_LocalInfoTunnel); 1092 esize = sizeof (struct GNUNET_CADET_LocalInfoPeer);
1097 if (esize > msize) 1093 if (esize > msize)
1098 { 1094 {
1099 GNUNET_break_op (0); 1095 GNUNET_break_op (0);
1100 h->info_cb.tunnel_cb (h->info_cls, NULL, 0, 0, NULL, NULL, 0, 0); 1096 h->info_cb.peer_cb (h->info_cls, NULL, 0, 0, 0, NULL);
1101 goto clean_cls; 1097 goto clean_cls;
1102 } 1098 }
1103 ch_n = ntohl (msg->channels); 1099// esize += ch_n * sizeof (CADET_ChannelNumber);
1104 c_n = ntohl (msg->connections); 1100// esize += c_n * sizeof (struct GNUNET_CADET_Hash);
1105 esize += ch_n * sizeof (CADET_ChannelNumber);
1106 esize += c_n * sizeof (struct GNUNET_CADET_Hash);
1107 if (msize != esize) 1101 if (msize != esize)
1108 { 1102 {
1109 GNUNET_break_op (0); 1103 GNUNET_break_op (0);
1110 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "m:%u, e: %u (%u ch, %u conn)\n", 1104 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "m:%u, e: %u\n", msize, esize);
1111 msize, esize, ch_n, c_n); 1105 h->info_cb.peer_cb (h->info_cls, NULL, 0, 0, 0, NULL);
1112 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u (%u ch, %u conn)\n",
1113 sizeof (struct GNUNET_CADET_LocalInfoTunnel),
1114 sizeof (CADET_ChannelNumber), sizeof (struct GNUNET_HashCode));
1115 h->info_cb.tunnel_cb (h->info_cls, NULL, 0, 0, NULL, NULL, 0, 0);
1116 goto clean_cls; 1106 goto clean_cls;
1117 } 1107 }
1118 1108
1119 /* Call Callback with tunnel info. */ 1109 /* Call Callback with tunnel info. */
1120 conns = (struct GNUNET_CADET_Hash *) &msg[1]; 1110 h->info_cb.peer_cb (h->info_cls, &msg->destination, 0, 0, 0, NULL);
1121 chns = (CADET_ChannelNumber *) &conns[c_n];
1122 h->info_cb.tunnel_cb (h->info_cls, &msg->destination,
1123 ch_n, c_n, chns, conns,
1124 ntohs (msg->estate), ntohs (msg->cstate));
1125 1111
1126 clean_cls: 1112 clean_cls:
1127 h->info_cb.tunnel_cb = NULL; 1113 h->info_cb.peer_cb = NULL;
1128 h->info_cls = NULL; 1114 h->info_cls = NULL;
1129} 1115}
1130 1116