Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade embedded dnsmasq to v2.80 #401

Merged
merged 44 commits into from
Nov 21, 2018
Merged

Upgrade embedded dnsmasq to v2.80 #401

merged 44 commits into from
Nov 21, 2018

Conversation

DL6ER
Copy link
Member

@DL6ER DL6ER commented Oct 23, 2018

By submitting this pull request, I confirm the following (please check boxes, eg [X]) Failure to fill the template will close your PR:

Please submit all pull requests against the development branch. Failure to do so will delay or deny your request

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.

How familiar are you with the codebase?:

10


Official changelog:

  • Add support for RFC 4039 DHCP rapid commit. Thanks to Ashram Method for the initial patch and motivation.
  • Alter the default for dnssec-check-unsigned. Versions of dnsmasq prior to 2.80 defaulted to not checking unsigned replies, and used --dnssec-check-unsigned to switch this on. Such configurations will continue to work as before, but those which used the default of no checking will need to be altered to explicitly select no checking. The new default is because switching off checking for unsigned replies is inherently dangerous. Not only does it open the possiblity of forged replies, but it allows everything to appear to be working even when the upstream namesevers do not support DNSSEC, and in this case no DNSSEC validation at all is occuring.
  • Fix DHCP broken-ness when --no-ping AND --dhcp-sequential-ip are set. Thanks to Daniel Miess for help with this.
  • Add a facilty to store DNS packets sent/recieved in a pcap-format file for later debugging. The file location is given by the --dumpfile - option, and a bitmap controlling which packets should be dumped is given by the --dumpmask option.
  • Handle the case of both standard and constructed dhcp-ranges on the same interface better. We don't now construct a dhcp-range if there's - already one specified. This allows the specified interface to have different parameters and avoids advertising the same prefix twice. Thanks - to Luis Marsano for spotting this case.
  • Allow zone transfer in authoritative mode if auth-peer is specified, even if auth-sec-servers is not. Thanks to Raphael Halimi for the suggestion.
  • Fix bug which sometimes caused dnsmasq to wrongly return answers without DNSSEC RRs to queries with the do-bit set, but only when DNSSEC - validation was not enabled. Thanks to Petr Menšík for spotting this.
  • Fix missing fatal errors with some malformed options (server, local, address, rebind-domain-ok, ipset, alias). Thanks to Eugene Lozovoy for - spotting the problem.
  • Fix crash on startup with a --synth-domain which has no prefix. Introduced in 2.79. Thanks to Andreas Engel for the bug report.
  • Fix missing EDNS0 section in some replies generated by local DNS configuration which confused systemd-resolvd. Thanks to Steve Dodd for characterising the problem.
  • Add --dhcp-name-match config option.
  • Add --caa-record config option.
  • Implement --address=/example.com/# as (more efficient) syntactic sugar for --address=/example.com/0.0.0.0 and --address=/example.com/:: - Returning null addresses is a useful technique for ad-blocking. Thanks to Peter Russell for the suggestion.
  • Change anti cache-snooping behaviour with queries with the recursion-desired bit unset. Instead to returning SERVFAIL, we now always - forward, and never answer from the cache. This allows "dig +trace" command to work. (fixes Can't dig +trace #383)
  • Include in the example config file a formulation which stops DHCP clients from claiming the DNS name "wpad". This is a fix for the CERT Vulnerability VU#598349.

Note: This PR is Work-In-Progress and only meant for testing. As it implements a still rather fresh release of dnsmasq, it should not be merged to development until Pi-hole v4.1 has been released. Consider this branch as experimental as there is a certain likeliness that more internals of pihole-FTL may need to be adapted due to changes deeper inside the dnsmasq code.

The PR statistics are +1,460 -283 when ignoring whitespace changes.

This template was created based on the work of udemy-dl.

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
…e.c any more)

Signed-off-by: DL6ER <dl6er@dl6er.de>
@DL6ER DL6ER added this to the v4.2 milestone Oct 23, 2018
@DL6ER
Copy link
Member Author

DL6ER commented Oct 28, 2018

Ready to be merged into development. The release candidate (release/4.1) to be merged to master has already been branched out from development.

DL6ER and others added 16 commits November 4, 2018 22:24
Signed-off-by: DL6ER <dl6er@dl6er.de>
…ked (to avoid double counting)

Signed-off-by: DL6ER <dl6er@dl6er.de>
…nfig file blocking rules (may it be NXDOMAIN or NULL based)

Signed-off-by: DL6ER <dl6er@dl6er.de>
Properly account for user-defined wildcards
Merge bugfix #411 also into dnsmasq/v2.80
…LL address.

Signed-off-by: DL6ER <dl6er@dl6er.de>
… having displayed regex.list even though the blocking was done due to a gravity.list entry.

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Fix record_source() sometimes incorrectly returning regex.list
…efault path is not available.

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
…ode will be reused a few times

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
DL6ER and others added 23 commits November 7, 2018 16:57
…y are not used anywhere anymore.

Signed-off-by: DL6ER <dl6er@dl6er.de>
…or a local pihole-FTL.conf if none was found in the default locations

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
…his required a certain rearrangement of how we handle domains and clients internally.

Signed-off-by: DL6ER <dl6er@dl6er.de>
…n. Lowering the privacy level is possible, but you need to restart pihole-FTL to enable it.

Signed-off-by: DL6ER <dl6er@dl6er.de>
…t when using the web interface.

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
…ully matched and assigned.

Signed-off-by: DL6ER <dl6er@dl6er.de>
Signed-off-by: DL6ER <dl6er@dl6er.de>
@AzureMarker AzureMarker merged commit da8c276 into development Nov 21, 2018
@AzureMarker AzureMarker deleted the dnsmasq/v2.80 branch November 21, 2018 19:02
@pralor-bot
Copy link

This pull request has been mentioned on Pi-hole Userspace. There might be relevant details there:

https://discourse.pi-hole.net/t/pi-hole-v4-2-available-with-shared-memory-new-blocking-modes-and-more/16763/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants