IPv6 DNS pin rejected on ignore, disabled and link-local profiles #48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found during independent review of breadcrumbs PR46, following the pre-existing observation in comment 5672. Confidence: high. Deduplicated against all current CRUMB issue cards; none covers this mode-specific rejection.
At reviewed head
2dff10b59c, src/nm.rs:835-875 preserves an existing IPv6 method but unconditionally writes the nonempty IPv6 DNS list. enforce_dns then sends Update2. With ipv6.method ignore, disabled or link-local, libnm rejects ipv6.dns. This behavior also exists on base939d9edcfe, so it is separate from CRUMB-32 missing-section repair.Independent reproduction on Hestia using only in-process libnm 1.46.0, no NMClient, daemon, D-Bus or live networking: construct a valid ethernet connection dictionary with ipv4.method=auto and ipv6.method equal to each of ignore/disabled/link-local, add IPv6 dns 2606:4700:4700::1111 and ignore-auto-dns=true, then NM.SimpleConnection.new_from_dbus/verify. Each rejects with ipv6.dns: this property is not allowed for method=. The same dictionary with method=auto verifies and normalizes. Script and output: /tmp/opencode/crumb46-2dff-evidence/libnm.py and libnm.log.
Effect: a mixed-family pin cannot be persisted, including its IPv4 changes; caller logs DNS application failure. Decide explicit behavior for incompatible modes without silently enabling IPv6. Add mode-aware error/handling and real libnm or faithful fixture regression checks. Not fixed or deployed during review.