diff options
author | Simon Kelley <simon@thekelleys.org.uk> | 2012-08-13 17:39:57 +0100 |
---|---|---|
committer | Simon Kelley <simon@thekelleys.org.uk> | 2012-08-13 17:39:57 +0100 |
commit | 3169daad4692213a7efc4f204505a23741bc46e7 (patch) | |
tree | fc4cae1525c291a53f3e2bebf3a8bd2bc7f639d7 | |
parent | fd05f127909bbf4f6983a4de2dcb611947488dee (diff) | |
download | dnsmasq-3169daad4692213a7efc4f204505a23741bc46e7.tar.gz |
Fix TFTP access control, broken earlier in release.
-rw-r--r-- | src/tftp.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -113,7 +113,6 @@ void tftp_request(struct listener *listen, time_t now) else { struct cmsghdr *cmptr; - int check; if (msg.msg_controllen < sizeof(struct cmsghdr)) return; @@ -193,10 +192,14 @@ void tftp_request(struct listener *listen, time_t now) #ifdef HAVE_IPV6 if (listen->family == AF_INET6) - check = iface_check(AF_INET6, (struct all_addr *)&addr.in6.sin6_addr, name); + { + if (!iface_check(AF_INET6, (struct all_addr *)&addr.in6.sin6_addr, name)) + return; + } else #endif - check = iface_check(AF_INET, (struct all_addr *)&addr.in.sin_addr, name); + if (!iface_check(AF_INET, (struct all_addr *)&addr.in.sin_addr, name)) + return; #ifdef HAVE_DHCP /* allowed interfaces are the same as for DHCP */ |