diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-01-02 09:47:37 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-01-02 09:47:37 +0100 |
commit | 1082a8e39e4f3d9b908b14995653ac262f640adb (patch) | |
tree | 7f9228753dd499d819916f69193804406e196fba /src/nat/nat_api.c | |
parent | ab31d0d5b13f9361f6312c4eadbb2054922b1a61 (diff) | |
download | gnunet-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.c | 15 |
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 | ||