diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-10-31 21:02:30 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-10-31 21:02:30 +0000 |
commit | db0bbaa1293f15ca825c69addfaa76beab40829e (patch) | |
tree | 5080d930bbe7a79934955c79e2a754f1988a742e /src/nat/nat_api.c | |
parent | 331e0e66df283db2d305bd6b80ac2b1896271d4f (diff) |
-more work towards NAT service
Diffstat (limited to 'src/nat/nat_api.c')
-rw-r--r-- | src/nat/nat_api.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/nat/nat_api.c b/src/nat/nat_api.c index e567368d25..421befab39 100644 --- a/src/nat/nat_api.c +++ b/src/nat/nat_api.c @@ -403,6 +403,35 @@ GNUNET_NAT_register (const struct GNUNET_CONFIGURATION_Handle *cfg, off = (char *) &rm[1]; for (unsigned int i=0;i<num_addrs;i++) { + switch (addrs[i]->sa_family) + { + case AF_INET: + if (sizeof (struct sockaddr_in) != addrlens[i]) + { + GNUNET_break (0); + return NULL; + } + break; + case AF_INET6: + if (sizeof (struct sockaddr_in6) != addrlens[i]) + { + GNUNET_break (0); + return NULL; + } + break; +#if AF_UNIX + case AF_UNIX: + if (sizeof (struct sockaddr_un) != addrlens[i]) + { + GNUNET_break (0); + return NULL; + } + break; +#endif + default: + GNUNET_break (0); + return NULL; + } GNUNET_memcpy (off, addrs[i], addrlens[i]); |