aboutsummaryrefslogtreecommitdiff
path: root/src/nat/nat_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-10-31 21:02:30 +0000
committerChristian Grothoff <christian@grothoff.org>2016-10-31 21:02:30 +0000
commitdb0bbaa1293f15ca825c69addfaa76beab40829e (patch)
tree5080d930bbe7a79934955c79e2a754f1988a742e /src/nat/nat_api.c
parent331e0e66df283db2d305bd6b80ac2b1896271d4f (diff)
-more work towards NAT service
Diffstat (limited to 'src/nat/nat_api.c')
-rw-r--r--src/nat/nat_api.c29
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]);