Log the query name, and correct the docs now Rust is the default - #6
Merged
Conversation
added 3 commits
September 3, 2026 20:09
An expiry said which addresses were withdrawn but not what they had been
resolved for, which is the part an operator needs to recognise. The qname is
already in the Redis hash the scan reads, so it costs nothing to carry.
TTL expired from pfui_ipv4_domains: 23.55.129.60 (www.bing.com.)
The READMEs also drop the pending-validation wording, and the install example
leads with the Rust daemon.
The config example named the group without saying whether installing it was someone's job. The server installer creates it and adds _pfui_firewall, the client installer adds _unbound if it finds the group already there, so the order matters and a resolver installed first needs a second pass. Unbound also has to restart before a new membership takes effect.
Python is optional on the firewall now: the Rust daemon is the default and needs none. The compatibility note, the component summary and the shebang entry under Known Issues are each scoped to the daemon they apply to. The chroot note is the resolver's, not the firewall's.
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.
Follow-up to #5, from running the Rust daemon on a live firewall.
Log lines named the addresses but not the answer
Two log lines reported IPs and TTLs without saying which query they belonged
to, which is the part an operator recognises. A TTL is also unreadable without
the
kind: seconds remaining underrr, an absolute expiry undercache.The expiry line costs nothing to produce:
qnameis already in the Redis hashthe scan reads, so
expired_keysnow returns it alongside the address.The _pfui group left the reader unsure whose job it was
The unix-socket config example named
SOCKET_UNIX_GROUP: _pfuiwith noindication of whether installing it was manual. It is not, provided the
firewall is installed first: the server installer creates the group and adds
_pfui_firewall, and the client installer adds_unboundwhen it finds thegroup already present. Install the resolver first and that second step is
silently skipped, so the README now says so and gives the manual command.
Unbound must restart before a new membership takes effect.
Documentation still described a Python-only firewall
Python is optional on the firewall now. The component summary, the
compatibility note and the shebang entry under Known Issues are each scoped
to the daemon they apply to, and the chroot caveat is the resolver's rather
than the firewall's. The
server-rustrow and its README also drop thepending-validation wording, since that validation is done.
Testing
cargo fmt --checkandclippy -D warningscleanbash -nandksh -non every scriptwith a present qname, an absent one, and both
rrandcacheFollow-ups