Releases: oryxlabs/PolarDNS
Releases · oryxlabs/PolarDNS
v1.6.0
New documentation, features and updates.
Change log:
03/Feb/2025
- new catalog documentation using GitHub Pages, providing detailed explanations, examples, and PCAP files for each example
- major rework of all modules to align with the new documentation format, including examples and in-depth explanations
- added tests (total test count: 2407)
28/Jan/2025
- deprecated the
bigcname
feature, succeeded by thenfz
modifier - deprecated the
cgena
feature, succeeded by thenfz
modifier - deprecated the
cgenb
feature, succeeded by thenfz
modifier - deprecated the
cnamefuzz1
feature, succeeded by thenfz
modifier - deprecated the
cnamefuzz2
feature, succeeded by thenfz
modifier - deprecated the
dotcname
feature, succeeded by thenfz
modifier - deprecated the
illcname
feature, succeeded by thenfz
modifier - deprecated the
manycnames
feature, succeeded by thenfz
modifier - deprecated the
manylabels
feature, succeeded by thenfz
modifier - deprecated the
cutabuf
feature, succeeded by thecut
modifier - deprecated the
cutcnamebuf
feature, succeeded by thecut
modifier - deprecated the
chunkedcnames
feature, succeeded by thecnk
modifier
27/Jan/2025
- deprecated the
inj01
feature, succeeded by theinja
feature - deprecated the
inj02
feature, succeeded by theinja
feature - deprecated the
inj03
feature, succeeded by theinja
feature - deprecated the
inj04
feature, succeeded by theinja
feature - deprecated the
inj05
feature, succeeded by theinja
feature - deprecated the
inj06
feature, succeeded by theinjaaaa
feature - deprecated the
inj07
feature, succeeded by theinja
feature - deprecated the
inj08
feature, succeeded by theinja
feature - deprecated the
inj09
feature, succeeded by theinjptr
feature - deprecated the
inj10
feature, succeeded by theinjns
feature - deprecated the
inj11
feature, succeeded by theinjns
feature - deprecated the
inj12
feature, succeeded by theinjns
feature - deprecated the
inj13
feature, succeeded by theinjns
feature - deprecated the
inj14
feature, succeeded by theinjcname
feature
26/Jan/2025
- major consolidation of all cache poisoning (record injection) modules, introducing new injection features
- added the
inja
feature for injecting unsolicited A records - added the
injns
feature for injecting unsolicited NS records - added the
injaaaa
feature for injecting unsolicited AAAA records - added the
injcname
feature for injecting unsolicited CNAME records - added the
injdname
feature for injecting unsolicited DNAME records - added the
injmx
feature for injecting unsolicited MX records
19/Jan/2025
- overhaul of the
nfz
name fuzzing generator, now supporting variable, parameterized, and customizable malformations - enhanced the
always
feature feature to support generating a variable number of A or AAAA records
15/Dec/2024
- enhanced the
size
feature to support both A and AAAA records - enhanced the
self
feature to return both the client's IP address and source port
11/Dec/2024
- added the
cnk
modifier enabling transmission of DNS responses in variable sized chunks - added the
len
modifier allowing adjusting the DNS packet length (size) in TCP
28/Oct/2024
- added the
queryback4
feature - added self-DoS protection in the
queryback3
feature
Full History: v1.5.0...v1.6.0
v1.5.0
New features and updates.
Change log:
- added the
nsloop
,nschain
andnsalias
features responding with NS records - added the
spfloop
,spfchain
,spfalias1
andspfalias2
features responding with TXT SPF records - the
loop
,chain
andalias
generic features now also support the NS and SPF (TXT) record types - added the
ptralias
,ptrloop1
andptrloop2
features responding with PTR records - added the
nptenumalias
andnptenumloop
features returning NAPTR records in response to ENUM (E.164) phone number queries - added the
add
modifier for appending arbitrary bytes to the end of the packet - added the
rl
modifier for recalculating the length in TCP in casecut
oradd
modifiers were used during a request - changed behavior across all
alias*
feature (CNAME/DNAME/HTTPS/SVCB/SRV/MX/NS/TXT) to send only one alias by default - small fix in matching of underscored domain names for the SRV and SVCB
alias
/chain
/loop
features - enhanced the tests,
test/test.sh -h
will give usage info - various other small code optimizations and code fixes
- adopting the semantic versioning (SemVer)
- updated the catalogue documentation
- added tests (total test count: 750)
Full History: v1.4...v1.5.0
v1.4
New features and updates.
Change log:
- added support for the Attrleaf naming pattern (underscored domain names) for the SRV and SVCB alias/chain/loop features
- enhanced the
nfz
modifier, added 4 more variants, now it can produce 49 different domain name variants - deprecated the
manycnames
,cnamefuzz1
,cnamefuzz2
andillcname
features - added support for parsing the EDNS0 section, configurable via config file
- added the
size
feature that responds with the maximum number of A records that can fit in the specified packet size - added support for DNS compression, configurable via config file
- added the
nc
modifier to not use compression in a response - added the
fc
modifier to force compression in a response - added the
cut
modifier for cutting arbitrary number of bytes from the end of the packet - deprecated the
cutabuf
andcutcnamebuf
features - many code optimizations and code fixes
- updated the catalogue documentation
- added tests (total test count: 678)
Full History: v1.3...v1.4
v1.3
New features and updates.
Change log:
- improved the startup module loading logic to be more robust and user-friendly
- optimized the random number generation everywhere to use the random.getrandbits() which looks to be fastest
- added the
nfz
modifier for name fuzzing, which can produce various illegal and malformed domain names - added the
cnloop
,cnchain
andcnalias
features responding with CNAME records - added the
dnloop
,dnchain
anddnalias
features responding with DNAME records - added the
htloop
,htchain
andhtalias
features responding with HTTPS records - added the
svloop
,svchain
andsvalias
features responding with SVCB records - added the
srloop
,srchain
andsralias
features responding with SRV records - added the
mxloop
,mxchain
andmxalias
features responding with MX records - added tests for all the new features (total test count: 545)
- updated the catalogue documentation
Full History: v1.2...v1.3
v1.2
New features and updates.
Change log:
- added the
httpsloop
feature for creating alias loops in HTTPS records (RFC 9460) - added the
httpschain
feature for creating infinite alias chains in HTTPS records (RFC 9460) - added the
svcbloop
feature for creating alias loops in SVCB records (RFC 9460) - added the
svcbchain
feature for creating infinite alias chains in SVCB records (RFC 9460) - added the
dloop
feature for creating alias loops in DNAME records - added the
self
/whatismyip
feature for returning the client's IP address (aka. what is my IP) - added tests for all the new features (total test count: 344)
- updated the catalogue and other documentation
- small code fixes in
polardns.py
file
Full History: v1.1...v1.2
v1.1
Major update adding support for standalone modules to PolarDNS.
Change log:
- added support for standalone feature modules in the form of
.toml
files - moved the majority of existing features to a modular format
- major cleanup of the polardns codebase
- major review of the variables scope and naming conventions in the code
- adopting a more object-oriented approach for DNS request and DNS response variables
- upon startup, sort the modules in alphabetical order during the construction of the
polardns_real.py
file - major update of the contribution page
- added steps how to implement new features to PolarDNS
- added steps how to debug PolarDNS in the contribution page
Full History: v1.0...v1.1
v1.0
First stable working version of PolarDNS.