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.
♻️ Current situation
When the advertised service has no TXT data, the RDATA generated is invalid. RFC 1035 3.3.14. mandates TXT RDATA be "One or more <character-string>s". Currently ciao generates zero <character-string>s if there is no TXT data associated with the service.
In this case other server implementations seem to return a TXT RDATA containing one <character-string> of zero length which is valid according to the RFC.
Most client implementations gracefully handle the invalid data. iOS 17 does not, so currently services advertised by ciao are not discoverable on iOS 17.
💡 Proposed solution
Follow other server implementations' behavior: return one <character-string> having length of 0.
this.txt
is assigned accordingly inTXTRecord
constructor.⚙️ Release Notes
Fix TXT record encoding according to RFC 1035.
Testing
No changes.
Reviewer Nudging
Oneliner! ;)