Skip to content
Snippets Groups Projects
  1. May 09, 2017
    • Daniel Danzberger's avatar
      dnsmasq: add interface-name uci list. · eb99f891
      Daniel Danzberger authored
      
      This patch adds the interface-name option for each dhcp config
      in /etc/config/dhcp.
      
      With the interface_name option users can define a DNS name for each dhcp section
      that will be resolved by dnsmasq with the underlaying interface address.
      
      For example:
      config dhcp 'lan'
      	option interface 'lan'
      	...
      	list interface_name 'home.lan'
      	...
      
      Signed-off-by: default avatarDaniel Danzberger <daniel@dd-wrt.com>
      Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
      eb99f891
  2. May 02, 2017
  3. Mar 09, 2017
    • Kevin Darbyshire-Bryant's avatar
      dnsmasq: do not forward rfc6761 excluded domains · 3a06dd60
      Kevin Darbyshire-Bryant authored
      
      RFC 6761 defines a number of top level domains should not be forwarded
      to the Internet's domain servers since they are not responsible for
      those domains.
      
      This change adds a list of domains that will be blocked when 'boguspriv'
      is used and augments that which is already blocked by dnsmasq's notion
      of 'local service' using '--bogus-priv' i.e. RFC 1918 private addresses
      and IPv6 prefixes as defined in RFC 6303.
      
      To make this configurable rather than hard coded in dnsmasq's init
      script, a new file /usr/share/dnsmasq/rfc6761.conf is conditionally
      included.
      
      The default file matches the RFC 6761 recommendation along with a few
      other top level domains that should not be forwarded to the Internet.
      
      Compile & run tested Archer C7 v2
      
      Signed-off-by: default avatarKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
      3a06dd60
  4. Feb 22, 2017
  5. Feb 20, 2017
    • Kevin Darbyshire-Bryant's avatar
      dnsmasq: bump to dnsmasq v2.77test3 · 0247314f
      Kevin Darbyshire-Bryant authored
      
      New test release (since test1) includes 2 LEDE patches that are
      upstream and may be dropped, along with many spelling fixes.
      
      Add forthcoming 2017 root zone trust anchor to trust-anchors.conf.
      
      Backport 2 patches that just missed test3:
      
      Reduce logspam of those domains handled locally 'local addresses only'
      Implement RFC-6842 (Client-ids in DHCP replies)
      
      Compile & run tested Archer C7 v2
      
      Signed-off-by: default avatarKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
      0247314f
  6. Feb 05, 2017
    • Kevin Darbyshire-Bryant's avatar
      dnsmasq: update to dnsmasq 2.77test1 · 3bef96ef
      Kevin Darbyshire-Bryant authored
      
      Bump to dnsmasq 2.77test1 - this includes a number of fixes since 2.76
      and allows dropping of 2 LEDE carried patches.
      
      Notable fix in rrfilter code when talking to Nominum's DNS servers
      especially with DNSSEC.
      
      A patch to switch dnsmasq back to 'soft fail' for SERVFAIL responses
      from dns servers is also included.  This mean dnsmasq tries all
      configured servers before giving up.
      
      A 'localise queries' enhancement has also been backported (it will
      appear in test2/rc'n') this is especially important if using the
      recently imported to LEDE 'use dnsmasq standalone' feature 9525743c
      
      I have been following dnsmasq HEAD ever since 2.76 release.
      Compile & Run tested: ar71xx, Archer C7 v2
      
      Tested-by: default avatarKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
      
      Signed-off-by: default avatarKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
      3bef96ef
  7. Feb 01, 2017
    • Eric Luehrsen's avatar
      dnsmasq: make DHCPv6 viable for standalone dnsmasq install · 9525743c
      Eric Luehrsen authored
      
      dnsmasq has sufficient services to meet the needs of DHCP
      and RA with IP6 for single router router users. This is
      the most common use for consumer routers. Its reenforced
      as most ISP tend to only DHCP-PD /64. dnsmasq has year
      over year demonstrated great flexibility in its option
      set, and support for off-standard DHCP clients.
      
      odhcpd has enhanced capabilities focused on IP6 such
      as DHCP/RA relay and NDP proxy. However, it is not as
      flexible in its option set. odhcpd is not as forgiving
      with off-standard DHCP clients. Some points may represent
      a long term TODO list, but it is the state currently.
      
      These changes make any such combination possible. Already
      odhcpd can be set as the main dhcp server. Now odhcpd
      can be removed or disabled and dnsmasq will take over
      if DHCPv6 compiled in. The existing DHCPv6 and RA UCI
      are translated into dnsmasq.conf. The changes focus on
      '--dhcp-range', '--dhcp-host', and '--dhcp-options'.
      
      DHCP host ID is least 16 bits [::1000-::FFFF], but
      leaves low range for typical infrastructure assignments.
      dnsmasq accepts DHCPv6 options in the tranditional
      '--dhcp-option' put they must be prefixed 'option6:'.
      dnsmasq will also discover SLAAC DNS entries from DHCPv4
      clients MAC, and confirm with a ping at least renew.
      
      Long term TODO include improving use of dnsmasq relay
      options for DHCPv4 and DHCPv6 in parallel. It would also
      be possible to preconfigure DHCP-PD in host-with-options
      records for fixed infrastructure.
      
      Signed-off-by: default avatarEric Luehrsen <ericluehrsen@hotmail.com>
      [Jo-Philipp Wich: emit proper IPv6 hostid format in dhcp-host directive]
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      9525743c
    • Eric Luehrsen's avatar
      dnsmasq: expand 'add_local_hostname' fexibility including FQDN · 1b4e3eda
      Eric Luehrsen authored
      
      ref commit 612e2276
      ref commit ec63e3bf
      
      'option add_local_hostname' scripted implementation statically assigns
      this host in auto generated host file at init. If IFUP or other signals
      do not occur, then address changes are not tracked. The script doesn't
      apply all the addresses at an interface. This may make logs obscure.
      The script only puts the bare host name (maybe not FQDN) in host file,
      but if '--exapandhosts' is enabled, then /etc/hosts entries will be
      suffixed, and "127.0.0.1 localhost" becomes "localhost.lan".
      
      dnsmasq provides an option to perform this function, but it is rather
      greedy. '--interface-name=<name>,<iface>' will assign the name to all
      IP on the specified interface (except link local). This is a useful
      feature, but some setups depend on the original restrictive behavior.
      
      'option add_local_fqdn' is added to enhance the feature set, but
      if not entered or empty string, then it will default to original
      option and behavior. This new option has a few settings. At each
      increased setting the most detailed name becomes the PTR record:
      0 - same as add_local_hostname 0 or disabled
      1 - same as add_local_hostname 1
      2 - assigns the bare host name to all IP w/ --dnsmasq-interface
      3 - assigns the FQDN and host to all IP w/ --dnsmasq-interface
      4 - assigns <iface>.<host>.<domain> and above w/ --dnsmasq-nterface
      
      'option add_wan_fqdn' is added to run the same procedure on
      inferred WAN intefaces. If an interface has 'config dhcp' and
      'option ignore 1' set, then it is considered WAN. The original
      option would only run on DHCP serving interfaces.
      
      Signed-off-by: default avatarEric Luehrsen <ericluehrsen@hotmail.com>
      1b4e3eda
  8. Jan 12, 2017
    • Hans Dedecker's avatar
      Revert "dnsmasq: change 'add_local_hostname' to use dnsmasq '--interface-name'" · ec63e3bf
      Hans Dedecker authored
      
      This causes problem when a FQDN is configured in /etc/config/system. The
      domain name will appear twice in reverse DNS.
      
      Next to that, there seems to be a bug in dnsmasq. From the manual page:
      
      --interface-name=<name>,<interface>[/4|/6]
      Return  a  DNS  record  associating  the  name  with  the primary address
      on the given interface. This flag specifies an A or AAAA record for the
      given name in the same way as an /etc/hosts line, except that the address
      is not constant, but taken from the given interface. The interface may be
      followed by "/4" or "/6" to specify  that  only  IPv4  or  IPv6 addresses
      of the interface should be used. If the interface is down, not configured
      or non-existent, an empty record is returned. The matching PTR record is
      also created, mapping the interface address to the name. More than one name
      may be associated with an interface address by repeating the flag; in that
      case the first instance is used for  the  reverse address-to-name mapping.
      
      It does not just create an A/AAAA record for the primary address, it creates
      one for all addresses. And what is worse, it seems to actually resolve to the
      non-primary address first. This is quite annoying when you use floating IP
      addresses (e.g. VRRP), because when the floating IP is on the other device,
      SSH failes due to incorrect entry in the known hosts file.
      
      I know that this is not a common setup, but it would be nice if there was an
      option to restore the previous behaviour, rather than just forcing this new
      feature on everybody.
      
      Reported-by: default avatarStijn Tintel <stijn@linux-ipv6.be>
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
      ec63e3bf
  9. Jan 05, 2017
    • Eric Luehrsen's avatar
      dnsmasq: change 'add_local_hostname' to use dnsmasq '--interface-name' · 612e2276
      Eric Luehrsen authored
      
      'add_local_hostname' previous implementation may drop some addresses.
      Soft addition of IP6 addresses may not cause a reload or restart event.
      dnsmasq '--interface-name' robustly applies DNS to all addresses per
      interface (except fe80::/10).
      
      Change UCI 'add_local_hostname' to expand during each interface assignement
      during add_dhcp().
      Assign '<iface>.<host>.<domain>' as true name (reflexive A, AAAA, and PTR).
      Assign '<host>.<domain>' and '<host>' as convinience aliases (no PTR, not
      technically CNAME).
      This is accomplished with the '--interface-name' order, first is PTR.
      We could also assign each <ip4/6>.<iface>.<host>.<domain> to the respective
      dual stack on the interface.
      That seemed excessive so it was skipped (/4 or /6 suffix to the interface).
      Add UCI 'add_wan_hostname' similar to 'add_local_hostname' function for
      external WAN.
      
      WAN IP4 are less often named by the ISP and rarely WAN IP6 due to complexity.
      For logs, LuCI connection graph, and other uses assigning a WAN name is desired.
      'add_local_hostname' only applies with DHCP and 'add_wam_hostname' only applies
      without DHCP. Common residential users will want to set both options TRUE.
      Businesses will probably have global DNS, static IP, and 'add_wan_hostname' FALSE.
      
      Signed-off-by: default avatarEric Luehrsen <ericluehrsen@hotmail.com>
      612e2276
  10. Dec 16, 2016
  11. Dec 13, 2016
  12. Nov 08, 2016
    • Hans Dedecker's avatar
      dnsmasq: Support add-mac option · a50243ea
      Hans Dedecker authored
      
      Adds the mac address of the DNS requestor to DNS queries which
      are forwarded upstream and can be used to do filtering by the
      upstream servers. This only works if the requestor is on the
      same subnet as the dnsmasq server
      
      The addmac parameter can hold the following values:
      	0 : mac address is not added
      	1 : mac address is added in binary format
      	base64 : mac address is added base64 encoded
      	text: : mac address is added in human readable format
      		as hex and colons
      
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
      a50243ea
  13. Sep 10, 2016
  14. Sep 08, 2016
  15. Jul 29, 2016
  16. Jun 29, 2016
    • Hans Dedecker's avatar
      dnsmasq: Add broken realtime clock build switch in full variant · c2bd4695
      Hans Dedecker authored
      
      By default dnsmasq uses the time function; which returns the time since
      Epoch; to retrieve the current time. On boards which have no realtime
      clock this can lead to side effects when the time is synced via ntp
      as the "time wrap" forces dhcp leases to be considered as expired.
      By enabling the broken realtime clock build switch dnsmasq uses the
      times utility which returns the number of clock tick.
      
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
      [Jo-Philipp Wich: change symbol name, add sym to PKG_CONFIG_DEPENDS]
      Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
      c2bd4695
  17. Jun 24, 2016
    • Kevin Darbyshire-Bryant's avatar
      dnsmasq: dnssec time handling uses ntpd hotplug · 5acfe55d
      Kevin Darbyshire-Bryant authored
      
      Change dnsmasq's dnssec time check handling to use time validity
      indicated by ntpd rather than maintaining a cross boot/upgrade
      /etc/dnsmasq.time timestamp file.  This saves flash device wear.
      
      If ntpd client is configured in uci and you're using dnssec, then
      dnsmasq will not check dnssec timestamp validity until ntpd hotplug
      indicates sync via a stratum change. The ntpd hotplug leaves a status
      flag file to indicate to dnsmasq.init that time is valid and that it
      should now start in 'check dnssec timestamp valid' mode.
      
      If ntpd client is not configured and you're using dnssec, then it is
      presumed you're using an alternate time sync mechanism and that time is
      correct, thus dnsmasq checks dnssec timestamps are valid from 1st start.
      
      Signed-off-by: default avatarKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
      
      V2 - stratum & step ntp changes indicate time is valid
      V3 - on initial flag file step signal dnsmasq with SIGHUP if running
      V4 - only accept step ntp changes. Accepting both stratum & step could
      result in unpleasant script race conditions
      V5 - Actually only accepting stratum is the correct thing to do after
      further testing
      V6 - improve handling of non busybox ntpd
      if sysntpd not executable
        dnsmasq checks dnssec timestamps
      else
        sysntp script disabled - look for timestamp file - allows external mechanism to use hotplug flag file
        sysntp script enabled & uci ntp enabled  - look for timestamp file
        sysntp script enabled & uci ntp disabled - dnsmasq checks dnssec
      timestamps
      fi
      5acfe55d
  18. May 24, 2016
  19. May 19, 2016
  20. May 18, 2016
    • Kevin Darbyshire-Bryant's avatar
      dnsmasq: sysupgrade hook to conditionally preserve dnsmasq.time · d830cb08
      Kevin Darbyshire-Bryant authored
      conditionally save dnsmasq.time across sysupgrade
      dnsmasq uses /etc/dnsmasq.time as record of the last known good
      system time to aid its validation of dnssec timestamps.  dnsmasq
      updates the timestamp on process start/stop once it considers the system
      time as valid. The timestamp file should be preserved across system
      upgrade but should not be included as part of normal configuration
      backups to prevent restores corrupting the current timestamp.
      d830cb08
  21. Apr 28, 2016
  22. Apr 26, 2016
  23. Feb 26, 2016
    • John Crispin's avatar
      dnsmasq: add host-specific lease time option for static hosts · b5bfb353
      John Crispin authored
      
      Enable setting a host-specific lease time for static hosts.
      The new option is called "leasetime" and the format is similar
      as for the default lease time: e.g. 12h, 3d, infinite
      
      Default lease time is used for all hosts for which there is
      no host-specific definition.
      
      The option is added to /etc/config/dhcp for the selected hosts:
        config host
              option name 'Nexus'
              option mac 'd8:50:66:55:59:7c'
              option ip '192.168.1.245'
              option leasetime '2h'
      
      It gets appended to /var/etc/dnsmasq.conf like this:
        dhcp-host=d8:50:66:55:59:7c,192.168.1.245,Nexus,2h
      
      Signed-off-by: default avatarHannu Nyman <hannu.nyman@iki.fi>
      
      SVN-Revision: 48801
      b5bfb353
  24. Jan 25, 2016
    • Jo-Philipp Wich's avatar
      dnsmasq: Don't add local hostname if ula prefix is not specified · d8da5c56
      Jo-Philipp Wich authored
      
      Commit 6a7e56b adds support for adding local hostname for own lan ula adress
      but if ula prefix is not specified results into an invalid config (address=/OpenWrt.lan/1)
      causing dnsmasq not to start up.
      Use lanaddr6 when adding local hostname as the lan ula address is constructed based on the
      UCI parameters ip6hint and ip6ifaceid and thus not always ula prefix suffixed with 1
      
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
      
      SVN-Revision: 48495
      d8da5c56
  25. Jan 15, 2016
  26. Jan 12, 2016
  27. Sep 21, 2015
  28. Sep 09, 2015
  29. Sep 02, 2015
  30. Aug 03, 2015
  31. Jul 30, 2015
  32. Jun 15, 2015
  33. Jun 08, 2015
  34. May 17, 2015
  35. Apr 29, 2015
  36. Apr 23, 2015
  37. Apr 13, 2015
  38. Apr 10, 2015
Loading