summaryrefslogtreecommitdiffstats
path: root/tests/libzscanner/data/57_SVCB.in
blob: c4ce534e0d656c414ebc85f231bce0b4696d16ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
$ORIGIN	.
$TTL	1

; OK
@	SVCB	0	.
@	SVCB	0	@	; Comment
@	SVCB	65535	.	mandatory=alpn alpn=h2
@	SVCB	1	.	mandatory="alpn" alpn=h2
@	SVCB	1	.	alpn=h2
@	SVCB	1	.	alpn="abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMN1234\053"    ; Text string of maximal length (255 chars)
@	SVCB	1	.	alpn="part1,part2,part3\\,part4\\\\"
@	SVCB	1	.	alpn=part1\,\p\a\r\t2\044part3\092,part4\092\\
@	SVCB	1	.	no-default-alpn
@	SVCB	1	.	port=0
@	SVCB	1	.	port="65535"
@	SVCB	1	.	ipv4hint=0.0.0.0
@	SVCB	1	.	ipv4hint="255.255.255.255"
@	SVCB	1	.	ech=AA==
@	SVCB	1	.	ech="Zm9vYg=="
@	SVCB	1	.	ipv6hint=::1
@	SVCB	1	.	ipv6hint="::1"
@	SVCB	1	.	key7
@	SVCB	1	.	key65535
@	SVCB	1	.	key65535=a
@	SVCB	1	.	key65535="a"
@	SVCB	1	.	key65535="a" key1000=b port=4 key7 mandatory=key7,port
@	TYPE64	\# 3 000000
@	TYPE64	0	.
@	svcb	0	.

; RFC OK examples
example.com.	HTTPS	0 foo.example.com.
example.com.	SVCB	1 .
example.com.	SVCB	16 foo.example.com. port=53
example.com.	SVCB	1 foo.example.com. key667=hello
example.com.	SVCB	1 foo.example.com. key667="hello\210qoo"
example.com.	SVCB	1 foo.example.com. (
                        ipv6hint="2001:db8::1,2001:db8::53:1"
                        )
example.com.	SVCB	1 example.com. ipv6hint="::ffff:198.51.100.100"
example.com.	SVCB	16 foo.example.org. (
                        alpn=h2,h3-19 mandatory=ipv4hint,alpn
                        ipv4hint=192.0.2.1
                        )
example.com.	SVCB	16 foo.example.org. alpn="f\\\\oo\\,bar,h2"
example.com.	SVCB	16 foo.example.org. alpn=f\\\092oo\092,bar,h2

; KO
@	SVCB
@	SVCB						; Empty rdata
@	SVCB	\# 0					; Hex empty rdata
@	SVCB	65536	.				; Priority overflow
@	SVCB	0					; Missing item
@	SVCB	1	.	bogus			; Unknown parameter
@	SVCB	1	.	PORT=0			; Capital letter in parameter name
@	SVCB	1	.	mandatory
@	SVCB	1	.	mandatory=
@	SVCB	1	.	mandatory=a,
@	SVCB	1	.	mandatory=a,,b
@	SVCB	1	.	mandatory=mandatory
@	SVCB	1	.	mandatory=bogus
@	SVCB	1	.	alpn
@	SVCB	1	.	alpn=
@	SVCB	1	.	alpn=a,
@	SVCB	1	.	alpn=a,,b
@	SVCB	1	.	alpn="abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNabcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMN1234\0536"    ; Text string overflow (256 chars)
@	SVCB	1	.	no-default-alpn=
@	SVCB	1	.	no-default-alpn=h1
@	SVCB	1	.	no-default-alpn="h1"
@	SVCB	1	.	port
@	SVCB	1	.	port=
@	SVCB	1	.	port=65536
@	SVCB	1	.	port=1,2
@	SVCB	1	.	ipv4hint
@	SVCB	1	.	ipv4hint=
@	SVCB	1	.	ipv4hint=1.2.3
@	SVCB	1	.	ipv4hint=1.2.3.4,
@	SVCB	1	.	ipv4hint=1.2.3.4,,2.3.4.5
@	SVCB	1	.	ech
@	SVCB	1	.	ech=
@	SVCB	1	.	ech=AA==,AA==
@	SVCB	1	.	ech=W
@	SVCB	1	.	ipv6hint
@	SVCB	1	.	ipv6hint=
@	SVCB	1	.	ipv6hint=::1,,::2
@	SVCB	1	.	ipv6hint=::W

; RFC KO examples
example.com.	SVCB	1 foo.example.com. (
                        key123=abc key123=def
                        )
example.com.	SVCB	1 foo.example.com. mandatory
example.com.	SVCB	1 foo.example.com. alpn
example.com.	SVCB	1 foo.example.com. port
example.com.	SVCB	1 foo.example.com. ipv4hint
example.com.	SVCB	1 foo.example.com. ipv6hint
example.com.	SVCB	1 foo.example.com. no-default-alpn=abc
example.com.	SVCB	1 foo.example.com. mandatory=key123
example.com.	SVCB	1 foo.example.com. mandatory=mandatory
example.com.	SVCB	1 foo.example.com. (
                        mandatory=key123,key123 key123=abc
                        )