Don't skip device lookup when resolver.macNames is disabled#2846
Merged
Conversation
find_device_by_hwaddr() returned DB_NODATA without querying the database when resolver.macNames was false. This caused all three callers (parse_neighbor_cache, add_FTL_clients_to_network_table, add_local_interfaces_to_network_table) to treat every device as new and attempt INSERT on each periodic run, hitting the UNIQUE constraint on network.hwaddr every ~60 seconds. The macNames setting controls name resolution from MAC addresses, not device tracking — the early return was conflating the two. The other two uses of the flag (getNameFromMAC and the gravity-db MAC lookup) correctly gate name resolution only and are unaffected. Closes #2844 Signed-off-by: Dominik <dl6er@dl6er.de>
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes incorrect coupling between the resolver.macNames setting and network device tracking by ensuring find_device_by_hwaddr() still queries the network database even when MAC-derived naming is disabled. This prevents repeated “new device” inserts (and resulting UNIQUE constraint errors) during periodic network-table refreshes.
Changes:
- Removed the early-return path in
find_device_by_hwaddr()that bypassed DB lookup whenresolver.macNamesisfalse.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Member
Author
|
Marked as draft as this depends on #2845 (fixing the tests) being merged first |
yubiuser
approved these changes
Apr 13, 2026
|
This pull request has been mentioned on Pi-hole Userspace. There might be relevant details there: https://discourse.pi-hole.net/t/pi-hole-ftl-v6-6-1-and-core-v6-4-2-released/85843/1 |
github-actions Bot
pushed a commit
to bigbeartechworld/big-bear-universal-apps
that referenced
this pull request
Apr 25, 2026
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [pihole/pihole](https://redirect.github.com/pi-hole/docker-pi-hole) | patch | `2026.04.0` → `2026.04.1` | --- ### Release Notes <details> <summary>pi-hole/docker-pi-hole (pihole/pihole)</summary> ### [`v2026.04.1`](https://redirect.github.com/pi-hole/docker-pi-hole/releases/tag/2026.04.1) [Compare Source](https://redirect.github.com/pi-hole/docker-pi-hole/compare/2026.04.0...2026.04.1) <!-- Release notes generated using configuration in .github/release.yml at master --> ##### What's Changed - docs: update capability documentation links by [@​SirRGB](https://redirect.github.com/SirRGB) in [#​2025](https://redirect.github.com/pi-hole/docker-pi-hole/pull/2025) ##### New Contributors - [@​SirRGB](https://redirect.github.com/SirRGB) made their first contribution in [#​2025](https://redirect.github.com/pi-hole/docker-pi-hole/pull/2025) **Full Changelog**: <pi-hole/docker-pi-hole@2026.04.0...2026.04.1> ##### New component versions included in this tag: ##### What's Changed (FTL v6.6.1) - Add new `GET /api/config/_properties` endpoint by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2356](https://redirect.github.com/pi-hole/FTL/pull/2356) - Fix thread-safety issues causing SIGSEGV under concurrent API load by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2835](https://redirect.github.com/pi-hole/FTL/pull/2835) - fix: fix rare race condition for SHM strings in API handlers by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2833](https://redirect.github.com/pi-hole/FTL/pull/2833) - Accept punycode domains that libidn2 rejects under IDNA2008 by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2838](https://redirect.github.com/pi-hole/FTL/pull/2838) - Improve shutdown diagnostics to identify SIGTERM source by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2839](https://redirect.github.com/pi-hole/FTL/pull/2839) - Resolve empty backtraces when addr2line is not installed by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2831](https://redirect.github.com/pi-hole/FTL/pull/2831) - Improve thread-safety for concurrent API requests by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2847](https://redirect.github.com/pi-hole/FTL/pull/2847) - Don't skip device lookup when resolver.macNames is disabled by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2846](https://redirect.github.com/pi-hole/FTL/pull/2846) - Fix linker error when compiling w/o optimization by [@​aeolio](https://redirect.github.com/aeolio) in [pi-hole/FTL#2850](https://redirect.github.com/pi-hole/FTL/pull/2850) - Clarify `dns.blockESNI` wording by [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) in [pi-hole/FTL#2784](https://redirect.github.com/pi-hole/FTL/pull/2784) - Preserve log file path config when fopen fails by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2834](https://redirect.github.com/pi-hole/FTL/pull/2834) ##### Security advisories - <GHSA-6w8x-p785-6pm4> - Fixed with : [pi-hole/FTL@`88c569a`](https://redirect.github.com/pi-hole/FTL/commit/88c569aa026d905d0066135bb71f36a13acf4bf4) and [pi-hole/pi-hole@`7ccb8dd`](https://redirect.github.com/pi-hole/pi-hole/commit/7ccb8ddfb085479fa96e801886eb1cdbeaf3a720) - <GHSA-9cqv-839p-gpq2> - Fixed with : [pi-hole/FTL@`0c46e4e`](https://redirect.github.com/pi-hole/FTL/commit/0c46e4ec7fe57f762fce261625f2cf5d43806e6d) ##### New Contributors - [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) made their first contribution in [pi-hole/FTL#2784](https://redirect.github.com/pi-hole/FTL/pull/2784) **Full Changelog**: <pi-hole/FTL@v6.6...v6.6.1> ##### What's Changed (Core v6.4.2) - Wipe version file before creating a new one by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6538](https://redirect.github.com/pi-hole/pi-hole/pull/6538) - Fix ownership permissions for containing directories in fix\_owner\_per… by [@​PromoFaux](https://redirect.github.com/PromoFaux) in [pi-hole/pi-hole#6589](https://redirect.github.com/pi-hole/pi-hole/pull/6589) - Remove reference to /usr/local/bin/COL\_TABLE by [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) in [pi-hole/pi-hole#6594](https://redirect.github.com/pi-hole/pi-hole/pull/6594) - Skip apt cache update when pihole-meta is current by [@​PromoFaux](https://redirect.github.com/PromoFaux) in [pi-hole/pi-hole#6581](https://redirect.github.com/pi-hole/pi-hole/pull/6581) - Set versions in /etc/pihole/versions to null if script fails by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6550](https://redirect.github.com/pi-hole/pi-hole/pull/6550) - Remove redundant touching of logfiles from systemd Service by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6601](https://redirect.github.com/pi-hole/pi-hole/pull/6601) - Loosen requirements for local file access for gravity by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6430](https://redirect.github.com/pi-hole/pi-hole/pull/6430) - Fix permission for \*.etag files after gravity run by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6353](https://redirect.github.com/pi-hole/pi-hole/pull/6353) - add logrotate to DEB and RPM dependencies by [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) in [pi-hole/pi-hole#6524](https://redirect.github.com/pi-hole/pi-hole/pull/6524) - Improve gravity error message including curl exit code and errormsg by [@​rdwebdesign](https://redirect.github.com/rdwebdesign) in [pi-hole/pi-hole#6605](https://redirect.github.com/pi-hole/pi-hole/pull/6605) ##### Security advisories - <GHSA-6w8x-p785-6pm4> - Fixed with : [pi-hole/pi-hole@`7ccb8dd`](https://redirect.github.com/pi-hole/pi-hole/commit/7ccb8ddfb085479fa96e801886eb1cdbeaf3a720) and [pi-hole/FTL@`88c569a`](https://redirect.github.com/pi-hole/FTL/commit/88c569aa026d905d0066135bb71f36a13acf4bf4) **Full Changelog**: <pi-hole/pi-hole@v6.4.1...v6.4.2> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/bigbeartechworld/big-bear-universal-apps). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==-->
github-actions Bot
pushed a commit
to bigbeartechworld/big-bear-universal-apps
that referenced
this pull request
Apr 25, 2026
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [jacklul/pihole](https://redirect.github.com/pi-hole/docker-pi-hole) | patch | `2026.04.0` → `2026.04.1` | --- ### Release Notes <details> <summary>pi-hole/docker-pi-hole (jacklul/pihole)</summary> ### [`v2026.04.1`](https://redirect.github.com/pi-hole/docker-pi-hole/releases/tag/2026.04.1) [Compare Source](https://redirect.github.com/pi-hole/docker-pi-hole/compare/2026.04.0...2026.04.1) <!-- Release notes generated using configuration in .github/release.yml at master --> #### What's Changed - docs: update capability documentation links by [@​SirRGB](https://redirect.github.com/SirRGB) in [#​2025](https://redirect.github.com/pi-hole/docker-pi-hole/pull/2025) #### New Contributors - [@​SirRGB](https://redirect.github.com/SirRGB) made their first contribution in [#​2025](https://redirect.github.com/pi-hole/docker-pi-hole/pull/2025) **Full Changelog**: <pi-hole/docker-pi-hole@2026.04.0...2026.04.1> #### New component versions included in this tag: #### What's Changed (FTL v6.6.1) - Add new `GET /api/config/_properties` endpoint by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2356](https://redirect.github.com/pi-hole/FTL/pull/2356) - Fix thread-safety issues causing SIGSEGV under concurrent API load by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2835](https://redirect.github.com/pi-hole/FTL/pull/2835) - fix: fix rare race condition for SHM strings in API handlers by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2833](https://redirect.github.com/pi-hole/FTL/pull/2833) - Accept punycode domains that libidn2 rejects under IDNA2008 by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2838](https://redirect.github.com/pi-hole/FTL/pull/2838) - Improve shutdown diagnostics to identify SIGTERM source by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2839](https://redirect.github.com/pi-hole/FTL/pull/2839) - Resolve empty backtraces when addr2line is not installed by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2831](https://redirect.github.com/pi-hole/FTL/pull/2831) - Improve thread-safety for concurrent API requests by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2847](https://redirect.github.com/pi-hole/FTL/pull/2847) - Don't skip device lookup when resolver.macNames is disabled by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2846](https://redirect.github.com/pi-hole/FTL/pull/2846) - Fix linker error when compiling w/o optimization by [@​aeolio](https://redirect.github.com/aeolio) in [pi-hole/FTL#2850](https://redirect.github.com/pi-hole/FTL/pull/2850) - Clarify `dns.blockESNI` wording by [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) in [pi-hole/FTL#2784](https://redirect.github.com/pi-hole/FTL/pull/2784) - Preserve log file path config when fopen fails by [@​DL6ER](https://redirect.github.com/DL6ER) in [pi-hole/FTL#2834](https://redirect.github.com/pi-hole/FTL/pull/2834) #### Security advisories - <GHSA-6w8x-p785-6pm4> - Fixed with : [pi-hole/FTL@`88c569a`](https://redirect.github.com/pi-hole/FTL/commit/88c569aa026d905d0066135bb71f36a13acf4bf4) and [pi-hole/pi-hole@`7ccb8dd`](https://redirect.github.com/pi-hole/pi-hole/commit/7ccb8ddfb085479fa96e801886eb1cdbeaf3a720) - <GHSA-9cqv-839p-gpq2> - Fixed with : [pi-hole/FTL@`0c46e4e`](https://redirect.github.com/pi-hole/FTL/commit/0c46e4ec7fe57f762fce261625f2cf5d43806e6d) #### New Contributors - [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) made their first contribution in [pi-hole/FTL#2784](https://redirect.github.com/pi-hole/FTL/pull/2784) **Full Changelog**: <pi-hole/FTL@v6.6...v6.6.1> #### What's Changed (Core v6.4.2) - Wipe version file before creating a new one by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6538](https://redirect.github.com/pi-hole/pi-hole/pull/6538) - Fix ownership permissions for containing directories in fix\_owner\_per… by [@​PromoFaux](https://redirect.github.com/PromoFaux) in [pi-hole/pi-hole#6589](https://redirect.github.com/pi-hole/pi-hole/pull/6589) - Remove reference to /usr/local/bin/COL\_TABLE by [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) in [pi-hole/pi-hole#6594](https://redirect.github.com/pi-hole/pi-hole/pull/6594) - Skip apt cache update when pihole-meta is current by [@​PromoFaux](https://redirect.github.com/PromoFaux) in [pi-hole/pi-hole#6581](https://redirect.github.com/pi-hole/pi-hole/pull/6581) - Set versions in /etc/pihole/versions to null if script fails by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6550](https://redirect.github.com/pi-hole/pi-hole/pull/6550) - Remove redundant touching of logfiles from systemd Service by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6601](https://redirect.github.com/pi-hole/pi-hole/pull/6601) - Loosen requirements for local file access for gravity by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6430](https://redirect.github.com/pi-hole/pi-hole/pull/6430) - Fix permission for \*.etag files after gravity run by [@​yubiuser](https://redirect.github.com/yubiuser) in [pi-hole/pi-hole#6353](https://redirect.github.com/pi-hole/pi-hole/pull/6353) - add logrotate to DEB and RPM dependencies by [@​darkexplosiveqwx](https://redirect.github.com/darkexplosiveqwx) in [pi-hole/pi-hole#6524](https://redirect.github.com/pi-hole/pi-hole/pull/6524) - Improve gravity error message including curl exit code and errormsg by [@​rdwebdesign](https://redirect.github.com/rdwebdesign) in [pi-hole/pi-hole#6605](https://redirect.github.com/pi-hole/pi-hole/pull/6605) #### Security advisories - <GHSA-6w8x-p785-6pm4> - Fixed with : [pi-hole/pi-hole@`7ccb8dd`](https://redirect.github.com/pi-hole/pi-hole/commit/7ccb8ddfb085479fa96e801886eb1cdbeaf3a720) and [pi-hole/FTL@`88c569a`](https://redirect.github.com/pi-hole/FTL/commit/88c569aa026d905d0066135bb71f36a13acf4bf4) **Full Changelog**: <pi-hole/pi-hole@v6.4.1...v6.4.2> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/bigbeartechworld/big-bear-universal-apps). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==-->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this implement/fix?
find_device_by_hwaddr()returnedDB_NODATAwithout querying the database whenresolver.macNameswasfalse. This caused all three callers (parse_neighbor_cache,add_FTL_clients_to_network_table,add_local_interfaces_to_network_table) to treat every device as new and attemptINSERTon each periodic run, hitting theUNIQUEconstraint onnetwork.hwaddrevery 60 seconds.The
macNamessetting controls name resolution from MAC addresses, not device tracking — the early return was conflating the two. The other two uses of the flag (getNameFromMACand the gravity-db MAC lookup) correctly gate name resolution only and are unaffected.Related issue or feature (if applicable): Closes #2844
Pull request in docs with documentation (if applicable): N/A
By submitting this pull request, I confirm the following:
git rebase)Checklist:
developmentbranch.