aboutsummaryrefslogtreecommitdiff
path: root/src/nat/nat_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-01-02 09:47:37 +0100
committerChristian Grothoff <christian@grothoff.org>2017-01-02 09:47:37 +0100
commit1082a8e39e4f3d9b908b14995653ac262f640adb (patch)
tree7f9228753dd499d819916f69193804406e196fba /src/nat/nat_api.c
parentab31d0d5b13f9361f6312c4eadbb2054922b1a61 (diff)
downloadgnunet-1082a8e39e4f3d9b908b14995653ac262f640adb.tar.gz
gnunet-1082a8e39e4f3d9b908b14995653ac262f640adb.zip
improve/fix handling of NAT server logic for ICMP-based autonomous NAT traversal
Diffstat (limited to 'src/nat/nat_api.c')
-rw-r--r--src/nat/nat_api.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/nat/nat_api.c b/src/nat/nat_api.c
index 481bc6fde..ab36d6162 100644
--- a/src/nat/nat_api.c
+++ b/src/nat/nat_api.c
@@ -176,14 +176,7 @@ check_connection_reversal_request (void *cls,
176{ 176{
177 if (ntohs (crm->header.size) != 177 if (ntohs (crm->header.size) !=
178 sizeof (*crm) + 178 sizeof (*crm) +
179 ntohs (crm->local_addr_size) + 179 sizeof (struct sockaddr_in) )
180 ntohs (crm->remote_addr_size) )
181 {
182 GNUNET_break (0);
183 return GNUNET_SYSERR;
184 }
185 if ( (sizeof (struct sockaddr_in) != ntohs (crm->local_addr_size)) ||
186 (sizeof (struct sockaddr_in) != ntohs (crm->remote_addr_size)) )
187 { 180 {
188 GNUNET_break (0); 181 GNUNET_break (0);
189 return GNUNET_SYSERR; 182 return GNUNET_SYSERR;
@@ -203,13 +196,9 @@ handle_connection_reversal_request (void *cls,
203 const struct GNUNET_NAT_ConnectionReversalRequestedMessage *crm) 196 const struct GNUNET_NAT_ConnectionReversalRequestedMessage *crm)
204{ 197{
205 struct GNUNET_NAT_Handle *nh = cls; 198 struct GNUNET_NAT_Handle *nh = cls;
206 const struct sockaddr_in *local_sa = (const struct sockaddr_in *) &crm[1];
207 const struct sockaddr_in *remote_sa = &local_sa[1];
208 199
209 nh->reversal_callback (nh->callback_cls, 200 nh->reversal_callback (nh->callback_cls,
210 (const struct sockaddr *) local_sa, 201 (const struct sockaddr *) &crm[1],
211 sizeof (struct sockaddr_in),
212 (const struct sockaddr *) remote_sa,
213 sizeof (struct sockaddr_in)); 202 sizeof (struct sockaddr_in));
214} 203}
215 204