resolvectl: avoid TXT lookup for plain SRV service queries
The service verb documents the one- and two-argument forms as
SRV lookups. They should not request TXT records by default.
Only the three-argument DNS-SD form should request TXT metadata.
Reproducer:
Run resolvectl service _mysvc._tcp signed.test in the
TEST-75-RESOLVED environment, where signed.test contains:
_mysvc._tcp SRV 10 5 1234 myservice
_mysvc._tcp TXT "This is TXT for myservice"
myservice A 10.0.0.20
Before:
resolvectl service _mysvc._tcp signed.test printed TXT data
for the plain SRV form:
_mysvc._tcp/signed.test: myservice.signed.test:1234 [priority=10, weight=5]
10.0.0.20
fd00:dead:beef:cafe::17
This is TXT for myservice
After:
The plain SRV form suppresses TXT data. The DNS-SD form still
shows it:
resolvectl service '' _mysvc._tcp signed.test
Follow-up for: a7a4c60a25
This commit is contained in:
@@ -579,10 +579,13 @@ testcase_08_resolved() {
|
||||
# Check SRV support
|
||||
run resolvectl service _mysvc._tcp signed.test
|
||||
grep -qF "myservice.signed.test:1234" "$RUN_OUT"
|
||||
grep -qF "This is TXT for myservice" "$RUN_OUT"
|
||||
(! grep -qF "This is TXT for myservice" "$RUN_OUT")
|
||||
grep -qF "10.0.0.20" "$RUN_OUT"
|
||||
grep -qF "fd00:dead:beef:cafe::17" "$RUN_OUT"
|
||||
grep -qF "authenticated: yes" "$RUN_OUT"
|
||||
run resolvectl service "" _mysvc._tcp signed.test
|
||||
grep -qF "myservice.signed.test:1234" "$RUN_OUT"
|
||||
grep -qF "This is TXT for myservice" "$RUN_OUT"
|
||||
|
||||
# Test service resolve over Varlink
|
||||
run varlinkctl call /run/systemd/resolve/io.systemd.Resolve io.systemd.Resolve.ResolveService '{"name":"","type":"_mysvc._tcp","domain":"signed.test"}'
|
||||
@@ -1338,7 +1341,7 @@ testcase_14_refuse_record_types() {
|
||||
|
||||
run resolvectl service _mysvc._tcp signed.test
|
||||
grep -qF "myservice.signed.test:1234" "$RUN_OUT"
|
||||
grep -qF "This is TXT for myservice" "$RUN_OUT"
|
||||
(! grep -qF "This is TXT for myservice" "$RUN_OUT")
|
||||
grep -qF "10.0.0.20" "$RUN_OUT"
|
||||
(! grep -qF "fd00:dead:beef:cafe::17" "$RUN_OUT")
|
||||
grep -qF "authenticated: yes" "$RUN_OUT"
|
||||
@@ -1360,7 +1363,7 @@ testcase_14_refuse_record_types() {
|
||||
|
||||
run resolvectl service _mysvc._tcp signed.test
|
||||
grep -qF "myservice.signed.test:1234" "$RUN_OUT"
|
||||
grep -qF "This is TXT for myservice" "$RUN_OUT"
|
||||
(! grep -qF "This is TXT for myservice" "$RUN_OUT")
|
||||
(! grep -qF "10.0.0.20" "$RUN_OUT")
|
||||
(! grep -qF "fd00:dead:beef:cafe::17" "$RUN_OUT")
|
||||
grep -qF "authenticated: yes" "$RUN_OUT"
|
||||
|
||||
Reference in New Issue
Block a user