mirror of
https://github.com/yarrick/iodine.git
synced 2025-12-07 04:41:44 +00:00
Rework query testcase, some dns cleanup
This commit is contained in:
12
src/dns.c
12
src/dns.c
@@ -62,7 +62,7 @@ static uint16_t pingid;
|
||||
|
||||
|
||||
int
|
||||
open_dns(const char *domain, int localport, in_addr_t listen_ip)
|
||||
open_dns(int localport, in_addr_t listen_ip)
|
||||
{
|
||||
int fd;
|
||||
int flag;
|
||||
@@ -91,15 +91,19 @@ open_dns(const char *domain, int localport, in_addr_t listen_ip)
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Save top domain used
|
||||
strncpy(topdomain, domain, sizeof(topdomain) - 1);
|
||||
topdomain[sizeof(topdomain) - 1] = '\0';
|
||||
|
||||
printf("Opened UDP socket\n");
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
void
|
||||
dns_set_topdomain(const char *domain)
|
||||
{
|
||||
strncpy(topdomain, domain, sizeof(topdomain) - 1);
|
||||
topdomain[sizeof(topdomain) - 1] = '\0';
|
||||
}
|
||||
|
||||
int
|
||||
dns_settarget(const char *host)
|
||||
{
|
||||
|
||||
@@ -17,8 +17,9 @@
|
||||
#ifndef _DNS_H_
|
||||
#define _DNS_H_
|
||||
|
||||
int open_dns(const char *, int, in_addr_t);
|
||||
int open_dns(int, in_addr_t);
|
||||
int dns_settarget(const char*);
|
||||
void dns_set_topdomain(const char*);
|
||||
void close_dns(int);
|
||||
|
||||
int dns_sending();
|
||||
|
||||
@@ -327,7 +327,8 @@ main(int argc, char **argv)
|
||||
|
||||
if ((tun_fd = open_tun(device)) == -1)
|
||||
goto cleanup1;
|
||||
if ((dns_fd = open_dns(argv[1], 0, INADDR_ANY)) == -1)
|
||||
dns_set_topdomain(argv[1]);
|
||||
if ((dns_fd = open_dns(0, INADDR_ANY)) == -1)
|
||||
goto cleanup2;
|
||||
if (dns_settarget(argv[0]) == -1)
|
||||
goto cleanup2;
|
||||
|
||||
@@ -375,7 +375,8 @@ main(int argc, char **argv)
|
||||
goto cleanup0;
|
||||
if (tun_setip(argv[0]) != 0 || tun_setmtu(mtu) != 0)
|
||||
goto cleanup1;
|
||||
if ((dnsd_fd = open_dns(argv[1], port, listen_ip)) == -1)
|
||||
dns_set_topdomain(argv[1]);
|
||||
if ((dnsd_fd = open_dns(port, listen_ip)) == -1)
|
||||
goto cleanup2;
|
||||
|
||||
my_ip = inet_addr(argv[0]);
|
||||
|
||||
Reference in New Issue
Block a user