-
Notifications
You must be signed in to change notification settings - Fork 2.7k
luci-mod-network: Add flag for address_as_local #7957
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
Draft
markozajc
wants to merge
1
commit into
openwrt:master
Choose a base branch
from
markozajc:patch/dnsmasq-local-resolve
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
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
markozajc
added a commit
to markozajc/openwrt
that referenced
this pull request
Sep 24, 2025
`list address` entries in /etc/config/dhcp are sometimes (I'm not sure
about the exact conditions) passed to upstream resolver, bypassing local
resolution. Adding them (minus the IP) to --local prevents this. In the
configuration, this means that
# /etc/config/dhcp
list address '/hello.com/world.com/1.2.3.4'
list address '/foo.com/bar.com/4.3.2.1'
which previously translated into
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
address=/foo.com/bar.com/4.3.2.1
now becomes
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
local=/hello.com/world.com/
address=/foo.com/bar.com/4.3.2.1
local=/foo.com/bar.com/
This behaviour is controlled by the `address_as_local` boolean option, which
defaults to false (old behaviour). openwrt/luci#7957 adds support for this flag
to LuCI.
A workaround for a small list of domains is to add them to `option local`,
but this is very tedious to do for every `list address` entry and dnsmasq
limits this option to 1024 characters.
Signed-off-by: Marko Zajc <[email protected]>
markozajc
added a commit
to markozajc/openwrt
that referenced
this pull request
Sep 24, 2025
`list address` entries in /etc/config/dhcp are sometimes (I'm not sure
about the exact conditions) passed to upstream resolver, bypassing local
resolution. Adding them (minus the IP) to --local prevents this. In the
configuration, this means that
# /etc/config/dhcp
list address '/hello.com/world.com/1.2.3.4'
list address '/foo.com/bar.com/4.3.2.1'
which previously translated into
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
address=/foo.com/bar.com/4.3.2.1
now becomes
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
local=/hello.com/world.com/
address=/foo.com/bar.com/4.3.2.1
local=/foo.com/bar.com/
This behaviour is controlled by the `address_as_local` boolean option, which
defaults to false (old behaviour). openwrt/luci#7957 adds support for this flag
to LuCI.
A workaround for a small list of domains is to add them to `option local`,
but this is very tedious to do for every `list address` entry and dnsmasq
limits this option to 1024 characters.
Signed-off-by: Marko Zajc <[email protected]>
|
Tested on 24.10.3, LGTM for main and 24.10 backport... |
markozajc
added a commit
to markozajc/openwrt
that referenced
this pull request
Oct 22, 2025
`list address` entries in /etc/config/dhcp are sometimes (I'm not sure
about the exact conditions) passed to upstream resolver, bypassing local
resolution. Adding them (minus the IP) to --local prevents this. In the
configuration, this means that
# /etc/config/dhcp
list address '/hello.com/world.com/1.2.3.4'
list address '/foo.com/bar.com/4.3.2.1'
which previously translated into
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
address=/foo.com/bar.com/4.3.2.1
now becomes
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
local=/hello.com/world.com/
address=/foo.com/bar.com/4.3.2.1
local=/foo.com/bar.com/
This behaviour is controlled by the `address_as_local` boolean option, which
defaults to false (old behaviour). openwrt/luci#7957 adds support for this flag
to LuCI.
A workaround for a small list of domains is to add them to `option local`,
but this is very tedious to do for every `list address` entry and dnsmasq
limits this option to 1024 characters.
Signed-off-by: Marko Zajc <[email protected]>
deab95e to
24503fe
Compare
|
Can you add the commit message from the openwrt repo here also? Then it's more understandable why this setting should exist - its rationale if you will. |
|
Sure, |
|
… to the commit |
|
Ah, right. |
'Addresses' option entries in the general tab of DHCP and DNS settings are sometimes (I'm not sure about the exact conditions) passed to upstream resolver, bypassing local resolution. A workaround for a small list of domains is to add them to 'Resolve these locally' option, but this is very tedious to do, and dnsmasq limits it to 1024 characters. openwrt/openwrt#18610 adds behaviour to add addresses to the local resolution list automatically, and this commit adds a flag to LuCI to control that. Signed-off-by: Marko Zajc <[email protected]>
24503fe to
59688c6
Compare
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.
See openwrt/openwrt#18610 for more information. These pull requests should be merged together.
This PR is not from my main or master branch 💩, but a separate branch ✅
Each commit has a valid ✒️
Signed-off-by: <[email protected]>row (viagit commit --signoff)Each commit and PR title has a valid 📝
<package name>: titlefirst line subject for packagesIncremented 🆙 any
PKG_VERSIONin the MakefileTested on: ramips/mt7621, OpenWrt 24.10.2, Firefox ✅
( Preferred ) Mention: @ the original code author for feedback
( Preferred ) Screenshot or mp4 of changes:

( Optional ) Closes: e.g. openwrt/luci#issue-number
( Optional ) Depends on: e.g. dnsmasq: prevent upstream resolution of addresses openwrt#18610
Description: Adds a toggle for the behaviour described in dnsmasq: prevent upstream resolution of addresses openwrt#18610. The toggle defaults to off (old behaviour) to avoid breaking existing workflows.