zeek/testing/btest/scripts/base/protocols/dns
Klemens Nanni 397f7e5c0e Parse SVCB/HTTPS SvcParams list
Add full support for RFC 9460's SvcParams list.

Amend the existing `dns_svcb_rr` record by a vector of new
`dns_svcb_param` records containing aptly typed SvcParamKey and
SvcParamValue pairs.  Example output:

```
@load base/protocols/dns
event dns_HTTPS( c: connection , msg: dns_msg , ans: dns_answer , https: dns_svcb_rr ) {
	for (_, param in https$svc_params)
		print to_json(param);  # filter uninitialised values
}
```

```
$ dig https cloudflare-ech.com +short | tr [:space:] \\n
1
.
alpn="h3,h2"
ipv4hint=104.18.10.118,104.18.11.118
ech=AEX+DQBBHgAgACBGL2e9TiFwjK/w1Zg9AmRm7mgXHz3PjffP0mTFNMxmDQAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA=
ipv6hint=2606:4700::6812:a76,2606:4700::6812:b76
```

```
{"key":1,"alpn":["h3","h2"]}
{"key":4,"hint":["104.18.10.118","104.18.11.118"]}
{"key":5,"ech":"AEX+DQBBHgAgACBGL2e9TiFwjK/w1Zg9AmRm7mgXHz3PjffP0mTFNMxmDQAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA="}
{"key":6,"hint":["2606:4700::6812:a76","2606:4700::6812:b76"]}
```

Values with malformed data or belonging to invalid/reserved keys
are passed raw bytes in network order for script-level inspection.

Follow up to "Initial Support to DNS SVCB/HTTPS RR"
https://github.com/zeek/zeek/pull/1808
2025-09-03 09:53:55 +03:00
..
ad-cd.zeek dns: Remove AD and CD flags from log 2023-03-16 10:09:27 +01:00
binds.zeek Add btests for DNS WKS and BINDS 2021-09-01 12:00:50 -05:00
caa.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
dns-edns-cookie.zeek Btests: don't use -C in Zeek invocations that don't actually need it 2025-06-06 13:46:45 -07:00
dns-edns-ecs.zeek Add test case to cover weird EDNS ECS parsing situations 2020-12-08 13:14:20 -08:00
dns-edns-tcp-keepalive.zeek Btests: don't use -C in Zeek invocations that don't actually need it 2025-06-06 13:46:45 -07:00
dns-key.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
dnskey.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
dnssec.zeek DNS: Add Ed25519 and Ed448 enum values to parser 2023-11-17 19:56:47 +01:00
ds.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
duplicate-reponses.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
dynamic-update.zeek Add weird for unhandled opcodes in DNS analyzer 2024-09-04 13:01:24 -07:00
ech.zeek Parse SVCB/HTTPS SvcParams list 2025-09-03 09:53:55 +03:00
edns-rcode.zeek Fix parsing of EDNS rcode 2025-07-24 14:57:00 +01:00
event-handler-warning.zeek Raise warnings when for DNS events that are not raised due to dns_skip_all_addl 2025-01-07 17:46:27 +00:00
flip.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
hinfo.zeek dns_HINFO_reply event was never being generated. 2021-07-15 09:56:38 -05:00
https.zeek Btests: don't use -C in Zeek invocations that don't actually need it 2025-06-06 13:46:45 -07:00
huge-ttl.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
loc.zeek Support for additional DNS RR Type: LOC[29], SSHFP[44], NSEC3PARAM[51], custom BIND9 signaling[65534] 2020-11-11 13:35:51 -07:00
multiple-txt-strings.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
naptr.zeek DNS: Implement NAPTR RR support 2025-06-24 17:43:27 +02:00
nsec.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
nsec3.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
nsec3param.zeek Add btest for DNS NSEC3PARAM RR. 2021-07-14 20:22:06 -05:00
rrsig.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
spf.zeek DNS: Add support for SPF response records 2019-06-14 10:18:37 -05:00
sshfp.zeek Support for additional DNS RR Type: LOC[29], SSHFP[44], NSEC3PARAM[51], custom BIND9 signaling[65534] 2020-11-11 13:35:51 -07:00
svcb.zeek add svcb test case 2021-10-12 17:43:32 -04:00
tkey.zeek Add DNS TKEY event 2024-08-16 10:20:42 -04:00
tsig.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
wks.zeek Add btests for DNS WKS and BINDS 2021-09-01 12:00:50 -05:00
zero-responses.zeek General btest cleanup 2020-08-11 11:26:22 -07:00