diff options
Diffstat (limited to 'fatvpnd.c')
| -rw-r--r-- | fatvpnd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fatvpnd.c b/fatvpnd.c index f3f891b..b2fa145 100644 --- a/fatvpnd.c +++ b/fatvpnd.c @@ -38,20 +38,24 @@ int main(int argc, char *argv[]){ memset(&c, 0, sizeof(c)); c.ss_family = AF_INET; (*(struct sockaddr_in*)&c).sin_port = htons((u16)atoi(argv[argc-1])); +#ifdef ENABLE_IPV6 if (argc == 4){ res = inet_pton(AF_INET6, argv[2], ((struct sockaddr_in6*)&c)->sin6_addr.s6_addr); if (res != 1){ +#endif res = inet_pton(AF_INET, argv[2], &psz); if (res != 1){ fprintf(stderr, "wrong addr: %s\n",argv[2]); exit(1); } memcpy(&((struct sockaddr_in*)&c)->sin_addr.s_addr, &psz, 4); +#ifdef ENABLE_IPV6 } else { c.ss_family = AF_INET6; } } +#endif if (strlen(argv[1]) + 1 > IFNAMSIZ) fputs("tap name is too long\n", stderr), exit(1); @@ -197,6 +201,7 @@ inf_loop: ((struct sockaddr_in*)&c)->sin_addr.s_addr == ((struct sockaddr_in*)&peer[i].a)->sin_addr.s_addr) break; break; +#ifdef ENABLE_IPV6 case AF_INET6: for (i=0; i < ccnt; i++) if (((struct sockaddr_in6*)&c)->sin6_port == @@ -204,6 +209,7 @@ inf_loop: 0 == memcmp(((struct sockaddr_in6*)&c)->sin6_addr.s6_addr, ((struct sockaddr_in6*)&peer[i].a)->sin6_addr.s6_addr, 16)) break; break; +#endif } if (i == ccnt){ |