Project

General

Profile

« Previous | Next » 

Revision fc27d3f4

Added by Phil Davis about 12 years ago

Reorder reverse lookup overrides so user-specified ones are effective

If the user specifies a domain override for 10.in-addr.arpa and also specifies "Do not forward private reverse lookups" then the user-specified entry is not effective. But the code was supposed to allow users to specify individual reverse lookup domain overrides that took precedence.
Re-ordering the placement of the --server entries on the dnsmasq command line fixes this.
Forum: http://forum.pfsense.org/index.php/topic,64986.0.html

View differences:

etc/inc/services.inc
1669 1669
			}
1670 1670
		}
1671 1671

  
1672
		/* Setup forwarded domains */
1673
		if (isset($config['dnsmasq']['domainoverrides']) && is_array($config['dnsmasq']['domainoverrides'])) {
1674
			foreach($config['dnsmasq']['domainoverrides'] as $override) {
1675
				if ($override['ip'] == "!")
1676
					$override[ip] = "";
1677
				$args .= ' --server=/' . $override['domain'] . '/' . $override['ip'];
1678
			}
1679
		}
1680

  
1681
		/* If selected, then forward reverse lookups for private IPv4 addresses to nowhere. */
1672
		/* If selected, then first forward reverse lookups for private IPv4 addresses to nowhere. */
1673
		/* If any of these are duplicated by a user-specified domain override (e.g. 10.in-addr.arpa) then */
1674
		/* the user-specified entry made later on the command line below will be the one that is effective. */
1682 1675
		if (isset($config['dnsmasq']['no_private_reverse'])) {
1683 1676
			/* Note: Carrier Grade NAT (CGN) addresses 100.64.0.0/10 are intentionally not here. */
1684 1677
			/* End-users should not be aware of CGN addresses, so reverse lookups for these should not happen. */
......
1691 1684
			}
1692 1685
		}
1693 1686

  
1687
		/* Setup forwarded domains */
1688
		if (isset($config['dnsmasq']['domainoverrides']) && is_array($config['dnsmasq']['domainoverrides'])) {
1689
			foreach($config['dnsmasq']['domainoverrides'] as $override) {
1690
				if ($override['ip'] == "!")
1691
					$override[ip] = "";
1692
				$args .= ' --server=/' . $override['domain'] . '/' . $override['ip'];
1693
			}
1694
		}
1695

  
1694 1696
		/* Allow DNS Rebind for forwarded domains */
1695 1697
		if (isset($config['dnsmasq']['domainoverrides']) && is_array($config['dnsmasq']['domainoverrides'])) {
1696 1698
			if(!isset($config['system']['webgui']['nodnsrebindcheck'])) {

Also available in: Unified diff