CHANGES:
+2009-06-01: 0.5.2 "WifiFree"
+ - Fixed client segfault on OS X, #57
+ - Added check that nameserver lookup was successful
+ - Fixed ENOTSOCK error on OS X and FreeBSD, #58.
+
2009-03-21: 0.5.1 "Boringo"
- Added initial Windows support, fixes #43.
- Added length check of autoprobe responses
unsigned long inlen;
char out[64*1024];
char in[64*1024];
- size_t read;
+ ssize_t read;
if ((read = read_tun(tun_fd, in, sizeof(in))) <= 0)
return -1;
/* NOTREACHED */
}
- set_nameserver(nameserv_addr);
+ if (nameserv_addr) {
+ set_nameserver(nameserv_addr);
+ } else {
+ usage();
+ /* NOTREACHED */
+ }
if(strlen(topdomain) <= 128) {
if(check_topdomain(topdomain)) {
#if defined (FREEBSD) || defined (DARWIN) || defined(NETBSD) || defined(WINDOWS32)
/* FreeBSD/Darwin/NetBSD has no header */
int bytes;
- bytes = recv(tun_fd, buf + 4, len, 0);
+ memset(buf, 0, 4);
+ bytes = read(tun_fd, buf + 4, len - 4);
if (bytes < 0) {
return bytes;
} else {