@@ -65,10 +65,14 @@ #ifdef OF_NINTENDO_3DS # include <3ds.h> #endif +#ifndef SOCK_DNS +# define SOCK_DNS 0 +#endif + /* * RFC 1035 doesn't specify if pointers to pointers are allowed, and if so how * many. Since it's unspecified, we have to assume that it might happen, but we * also want to limit it to avoid DoS. Limiting it to 16 levels of pointers and * immediately rejecting pointers to itself seems like a fair balance. @@ -1234,14 +1238,10 @@ [self of_obtainAmigaOS4SystemConfig]; #elif defined(OF_NINTENDO_3DS) [self of_obtainNintendo3DSSytemConfig]; #elif defined(OF_HAVE_FILES) [self of_parseHosts: HOSTS_PATH]; -# ifdef OF_OPENBSD - [self of_parseHosts: @"/etc/resolv.conf.tail"]; -# endif - [self of_parseResolvConf: RESOLV_CONF_PATH]; #endif if (_staticHosts == nil) { OFArray *localhost = @@ -1787,11 +1787,12 @@ if (_IPv6Socket == nil) { of_socket_address_t address = of_socket_address_parse_ip(@"::", 0); _IPv6Socket = [[OFUDPSocket alloc] init]; - [_IPv6Socket of_bindToAddress: &address]; + [_IPv6Socket of_bindToAddress: &address + extraType: SOCK_DNS]; [_IPv6Socket setBlocking: false]; } sock = _IPv6Socket; break; @@ -1800,11 +1801,12 @@ if (_IPv4Socket == nil) { of_socket_address_t address = of_socket_address_parse_ip(@"0.0.0.0", 0); _IPv4Socket = [[OFUDPSocket alloc] init]; - [_IPv4Socket of_bindToAddress: &address]; + [_IPv4Socket of_bindToAddress: &address + extraType: SOCK_DNS]; [_IPv4Socket setBlocking: false]; } sock = _IPv4Socket; break;