release 3.1.0 - #132
Merged
Merged
Conversation
- feat(packet): Packet.parse stops at a failure that leaves the reader misaligned - feat(packet): RDLENGTH bounds every rdata decoder, so a malformed record no longer cascades (RFC 1035 §4.1.3) - feat(packet): `Packet.typeName`, `Packet.TYPE_NAME`, `Packet.EDNS_OPTION_NAME` - feat(client/udp): a query timeout names the last dropped response and why - feat(index): `resolve()` uses `Promise.any`, so one dead NS no longer fails all - fix(packet): parse throws `Packet.DecodeError` for a message with no usable header - fix(packet): parse no longer swallows per-record decode failures, reports on `packet.errors` - fix(packet): encoding a record or question whose TYPE/CLASS is not a 16-bit int throws - fix(packet): encoding an A/AAAA record with an invalid address throws, was `0.0.0.0` - fix(packet): RRSIG was unreachable — `Packet.TYPE.RRSIG` (46) was missing - fix(packet): RRSIG timestamps mixed the local-time year with UTC fields - fix(packet): RRSIG retains raw rdata so re-serializing keeps the signature - fix(packet): EDNS skipped unknown options by bits instead of octets - fix(packet): length validation for A, AAAA, CAA, DNSKEY, RRSIG and ECS rdata - fix(packet): `Packet.readStream` rejects a truncated message - fix: DNS option timeout is ms and now reaches the client (default `3000`) - fix(index): `resolveA(domain, clientIp)` never sent the ECS option - fix(client/doh): a non-200 response rejected and then resolved - fix(packet): drop the `Array.prototype.flatMap` polyfill for Node 10
- declare node 22 as floor - better error messages - ts: update node10 to node16 - test: do not treat timed-out tests as passes - fix: pipeline does not swallow extra bytes
- feat(packet): Extended DNS Errors (RFC 8914) — `Packet.EDE` INFO-CODEs, an EDE EDNS option codec, and `Packet.createErrorResponseFromRequest` - feat(packet): `Packet.RCODE` completed from the IANA registry — 6-11 and 16-23 - feat(ts): `Packet.RCODE` was missing from the type declarations entirely
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.
Packet.EDEINFO-CODEs, an EDE EDNS option codec, andPacket.createErrorResponseFromRequestPacket.RCODEcompleted from the IANA registry — 6-11 and 16-23Packet.RCODEwas missing from the type declarationsPacket.typeName,Packet.TYPE_NAME,Packet.EDNS_OPTION_NAMEresolve()usesPromise.any, so one dead NS no longer fails allPacket.DecodeErrorfor a message with no usable headerpacket.errors0.0.0.0Packet.TYPE.RRSIG(46) was missingPacket.readStreamrejects a truncated message3000)resolveA(domain, clientIp)never sent the ECS optionArray.prototype.flatMappolyfill for Node 10Fringe Benefit
Throughput is now ~23k req/s on benchmark/udp.js (from 14.1k)