diff --git a/src/client.c b/src/client.c index f7f745c..e997e96 100644 --- a/src/client.c +++ b/src/client.c @@ -68,6 +68,8 @@ static const char *topdomain; static uint16_t rand_seed; +static char _v6; + /* Current up/downstream IP packet */ static struct packet outpkt; static struct packet inpkt; @@ -299,6 +301,12 @@ client_set_hostname_maxlen(int i) hostname_maxlen = i; } +void +client_set_v6(char v6) +{ + _v6 = v6; +} + const char * client_get_raw_addr() { @@ -1537,9 +1545,11 @@ handshake_login(int dns_fd, int seed) fprintf(stderr, "Server tunnel IP is %s\n", server); + if (_v6) { fprintf(stderr, "Server tunnel IPv6 is %s\n", server6); fprintf(stderr, "Client tunnel IPv6 is %s\n", client6); fprintf(stderr, "Tunnel netmask6 is %d\n", netmask6); + } return 0; } else { diff --git a/src/client.h b/src/client.h index 16ab0e4..51b4240 100644 --- a/src/client.h +++ b/src/client.h @@ -32,6 +32,7 @@ void set_downenc(char *encoding); void client_set_selecttimeout(int select_timeout); void client_set_lazymode(int lazy_mode); void client_set_hostname_maxlen(int i); +void client_set_v6(char v6); int client_handshake(int dns_fd, int raw_mode, int autodetect_frag_size, int fragsize); int client_tunnel(int tun_fd, int dns_fd); diff --git a/src/iodine.c b/src/iodine.c index 1f373f7..a3fb48c 100644 --- a/src/iodine.c +++ b/src/iodine.c @@ -137,10 +137,9 @@ main(int argc, char **argv) int lazymode; int selecttimeout; int hostname_maxlen; + char v6; int rtable = 0; - printf("***MODIFIED***\n"); - nameserv_addr = NULL; topdomain = NULL; #ifndef WINDOWS32 @@ -163,6 +162,8 @@ main(int argc, char **argv) selecttimeout = 4; hostname_maxlen = 0xFF; + v6 = 0; + #ifdef WINDOWS32 WSAStartup(req_version, &wsa_data); #endif @@ -178,7 +179,7 @@ main(int argc, char **argv) __progname++; #endif - while ((choice = getopt(argc, argv, "vfhru:t:d:R:P:m:M:F:T:O:L:I:")) != -1) { + while ((choice = getopt(argc, argv, "vfhru6:t:d:R:P:m:M:F:T:O:L:I:")) != -1) { switch(choice) { case 'v': version(); @@ -249,6 +250,9 @@ main(int argc, char **argv) if (selecttimeout < 1) selecttimeout = 1; break; + case '6': + v6 = 1; + break; default: usage(); /* NOTREACHED */ @@ -304,6 +308,7 @@ main(int argc, char **argv) client_set_lazymode(lazymode); client_set_topdomain(topdomain); client_set_hostname_maxlen(hostname_maxlen); + client_set_v6(v6); if (username != NULL) { #ifndef WINDOWS32 diff --git a/src/iodined.c b/src/iodined.c index c44f258..38715fb 100644 --- a/src/iodined.c +++ b/src/iodined.c @@ -571,13 +571,7 @@ tunnel_tun(int tun_fd, int dns_fd) userid = find_user_by_ip6(header6->ip6_dst); } -// printf("header6->ip6_dst: "); -// char i; -// for (i = 0; i < 8; ++i) -// printf("%04x%s", ntohs((header6->ip6_dst).__in6_u.__u6_addr16[i]), i < 7 ? ":" -// : "\n"); - - printf("tunnel_tun() - userid = %d, header_info[1] = %d\n", userid, header_info[1]); +// printf("tunnel_tun() - userid = %d, header_info[1] = %d\n", userid, header_info[1]); if (userid < 0) return 0; @@ -2369,10 +2363,7 @@ main(int argc, char **argv) argc -= optind; argv += optind; - /* - * Todo: Uncomment - */ -// check_superuser(usage); + check_superuser(usage); if (argc != 2) usage();