mirror of
https://github.com/yarrick/iodine.git
synced 2025-04-11 21:10:56 +00:00
Iodine: Changed handshake protocol to support IPv6
This commit is contained in:
parent
2e2bac1dea
commit
5447492c80
2 changed files with 10 additions and 7 deletions
15
src/client.c
15
src/client.c
|
@ -1521,19 +1521,20 @@ handshake_login(int dns_fd, int seed)
|
||||||
if (strncmp("LNAK", in, 4) == 0) {
|
if (strncmp("LNAK", in, 4) == 0) {
|
||||||
fprintf(stderr, "Bad password\n");
|
fprintf(stderr, "Bad password\n");
|
||||||
return 1;
|
return 1;
|
||||||
} else if (sscanf(in, "%64[^-]-%64[^-]-%d-%d-%64[^-]-%d",
|
} else if (sscanf(in, "%64[^-]-%64[^-]-%d-%d-%64[^-]-%64[^-]-%d",
|
||||||
server, client, &mtu, &netmask, server6, client6, &netmask6) == 4) {
|
server, client, &mtu, &netmask, server6, client6, &netmask6) == 7) {
|
||||||
|
|
||||||
fprintf(stderr, "Server tunnel IPv6 is %s\n", server6);
|
|
||||||
fprintf(stderr, "Client tunnel IPv6 is %s\n", client6);
|
|
||||||
fprintf(stderr, "Tunnel netmask is %d\n", netmask6);
|
|
||||||
|
|
||||||
server[64] = 0;
|
server[64] = 0;
|
||||||
client[64] = 0;
|
client[64] = 0;
|
||||||
if (tun_setip(client, server, netmask) == 0 &&
|
if (tun_setip(client, server, netmask) == 0 &&
|
||||||
tun_setmtu(mtu) == 0) {
|
tun_setmtu(mtu) == 0 && !tun_setip6(client6, netmask6)) {
|
||||||
|
|
||||||
fprintf(stderr, "Server tunnel IP is %s\n", server);
|
fprintf(stderr, "Server tunnel IP is %s\n", server);
|
||||||
|
|
||||||
|
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;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
errx(4, "Failed to set IP and MTU");
|
errx(4, "Failed to set IP and MTU");
|
||||||
|
|
|
@ -803,6 +803,8 @@ handle_null_request(int tun_fd, int dns_fd, struct query *q, int domain_len)
|
||||||
read = snprintf(out, sizeof(out), "%s-%s-%d-%d-%s-%s-%d",
|
read = snprintf(out, sizeof(out), "%s-%s-%d-%d-%s-%s-%d",
|
||||||
tmp[0], tmp[1], my_mtu, netmask, server6, client6, netmask6);
|
tmp[0], tmp[1], my_mtu, netmask, server6, client6, netmask6);
|
||||||
|
|
||||||
|
printf("%s\n", out);
|
||||||
|
|
||||||
write_dns(dns_fd, q, out, read, users[userid].downenc);
|
write_dns(dns_fd, q, out, read, users[userid].downenc);
|
||||||
q->id = 0;
|
q->id = 0;
|
||||||
syslog(LOG_NOTICE, "accepted password from user #%d, given IP %s", userid, tmp[1]);
|
syslog(LOG_NOTICE, "accepted password from user #%d, given IP %s", userid, tmp[1]);
|
||||||
|
|
Loading…
Add table
Reference in a new issue