diff --git a/dnstun.c b/dnstun.c index 762161d..0b730c7 100644 --- a/dnstun.c +++ b/dnstun.c @@ -88,6 +88,9 @@ tunnel(int tun_fd, int dns_fd) read = dns_read(dns_fd, frame->data, FRAMESIZE-4); if (read > 0) { printf("Got data on dns! %d bytes\n", read); + + frame->flags = 0x0000; + frame->proto = 0x0800; write_tun(tun_fd, frame, read + 4); } } diff --git a/dnstund.c b/dnstund.c index 55cdf06..80f486c 100644 --- a/dnstund.c +++ b/dnstund.c @@ -76,8 +76,11 @@ tunnel(int tun_fd, int dns_fd) } if(FD_ISSET(dns_fd, &fds)) { read = dnsd_read(dns_fd, frame->data, 64*1024-4); - if(read > 0) + if(read > 0) { + frame->flags = 0x0000; + frame->proto = 0x0800; write_tun(tun_fd, frame, read + 4); + } } } }