Release 1.8.0: fill the gaps found in the Esselink-nu and NoorDigitalAgency forks - #63
Merged
Merged
Conversation
- HostInfoResponse.Host was protected, so host info could not be read. It is now public (NoorDigitalAgency). - DomainTransferResponse looked for domain:expDate instead of RFC 5731's domain:exDate, so ExpirationDate was always null. It now reads exDate (falling back to expDate) and the trStatus, reID, reDate, acID and acDate elements RFC 5731 requires (Esselink-nu). - Name servers can be sent as host attributes with glue addresses: DomainCreate.NameServerAttributes and EppDomainUpdateAddRemove.NameServerAttributes, alongside the existing host object lists; mixing both in one domain:ns throws. Info responses keep the addresses in Domain.NameServerAttributes (Esselink-nu's approach, reworked to stay source compatible). - PollResponse.DomainName falls back to the domain-1.0 name in the message, covering standard panData/trnData notifications and IIS updateNotify/deleteNotify/transferNotify (NoorDigitalAgency). Implements the host info and both domain transfer response tests that were Inconclusive placeholders. Credits both forks in CONTRIBUTORS. Bump to 1.8.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
I went through all 33 forks for work that never came back upstream. Two had changes still missing from master. This PR reimplements them so existing code keeps compiling, and credits both forks.
HostInfoResponse.Hostwasprotected, so callers couldn't reach the parsed host; the library's own test was disabled for that reason. It now has a public getter.DomainTransferResponselooked fordomain:expDate, but RFC 5731 names itdomain:exDate, soExpirationDatewas always null. It now readsexDate, keepingexpDateas a fallback. It also reads the elements RFC 5731 requires in every transfer response, intoTransferStatus,RequestClientId,RequestDate,ActionClientIdandActionDate.hostAttrform, with glue addresses:DomainHostAttributeclass.DomainCreate.NameServerAttributesandEppDomainUpdateAddRemove.NameServerAttributes, alongside the existing string lists. The fork changedNameServers' type and forcedhostAttrfor everyone, which would break existing callers, so this adds them side by side instead.domain:nsthrows, as RFC 5731 allows only one form.Domain.NameServerAttributes, also filled for the Nominet and IIS info responses.PollResponse.DomainNamefor notifications (from @NoorDigitalAgency, 7663881). It now falls back to thedomain-1.0name element in the message. That covers standardpanData/trnDatanotifications as well as IISupdateNotify,deleteNotifyandtransferNotify, which the fork handled one by one. None of the Nominet notification fixtures use that namespace, so their behavior is unchanged.Both forks are added to CONTRIBUTORS. The other fork changes (DNSSEC info, TLS 1.2, netstandard2.0, a test fixture) are already in master through 1.4.0–1.7.0.
Version bumped to 1.8.0. The changes add API and change no existing signatures.
Testing
Inconclusiveplaceholders are now real tests:TestHostInfoResponse1,TestDomainTransferQueryResponse1andTestDomainTransferRequestResponse1.hostAttrin create and update, rejecting mixed forms, parsinghostAttrfrom info responses, andDomainNamefrom the RFCpanDatafixture and from an IISupdateNotify.🤖 Generated with Claude Code