mirror of
https://github.com/yarrick/iodine.git
synced 2025-04-07 19:12:07 +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) {
|
||||
fprintf(stderr, "Bad password\n");
|
||||
return 1;
|
||||
} else if (sscanf(in, "%64[^-]-%64[^-]-%d-%d-%64[^-]-%d",
|
||||
server, client, &mtu, &netmask, server6, client6, &netmask6) == 4) {
|
||||
|
||||
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);
|
||||
} else if (sscanf(in, "%64[^-]-%64[^-]-%d-%d-%64[^-]-%64[^-]-%d",
|
||||
server, client, &mtu, &netmask, server6, client6, &netmask6) == 7) {
|
||||
|
||||
server[64] = 0;
|
||||
client[64] = 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 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 {
|
||||
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",
|
||||
tmp[0], tmp[1], my_mtu, netmask, server6, client6, netmask6);
|
||||
|
||||
printf("%s\n", out);
|
||||
|
||||
write_dns(dns_fd, q, out, read, users[userid].downenc);
|
||||
q->id = 0;
|
||||
syslog(LOG_NOTICE, "accepted password from user #%d, given IP %s", userid, tmp[1]);
|
||||
|
|
Loading…
Add table
Reference in a new issue