#
#  Test vectors for invalid DHCP attributes
#
proto dhcpv4
proto-dictionary dhcpv4
fuzzer-out dhcpv4

decode-pair 7d 7d 7d 7d 7d 7d 7d 7d 37 37 37 37 37 37 37 37 3f 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 be 37 37 37 2a 30 30 30 30 30 74 30 30 30 30 30 30 32 1d 00 37 31 37 38 30 38 32 35 37 33 30 36 31 37 00 04 00 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 00 00 00 00 00 00 00 20 00 37 37 37 37 37 37 37 37 00 00 1a 29 00 00 00 00 63 00 01 00 00
match V-I-Vendor-Specific = { raw.2105376125 = 0x7d7d37373737373737373f37373737373737373737373737373737373737373737373737be3737372a303030303074303030303030321d00373137383038323537333036313700040000370000000000000000000000000000000000fa000000000000002000373737373737373700001a2900000000630001 }

decode-pair 7d 00
match raw.V-I-Vendor-Specific = 0x

decode-proto 03 00 00 f5 00 11 41 04 04 04 04 04 29 04 04 00 04 ca 04 04 04 09 04 04 1a f3 ff 7e a0 b5 25 07 80 3b 60 00 00 1a 23 00 00 fd 00 80 00 00 00 00 00 10 00 80 00 00 00 00 00 00 2f 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 ca 04 04 04 04 04 04 1a 0d 00 00 60 b5 25 07 2b 35 60 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 00 00 00 00 00 00 11 00 00 00 00 00 32 60 1a 00 08 0d 00 00 60 b5 00 00 00 25 21 39 21 1a 0d 00 00 60 b5 25 07 80 34 60 00 00 1a 0d 00 00 60 b5 25 2a 60 00 31 00 80 1a 0d 00 00 60 b5 25 07 80 34 21 21 04 1a 0d 00 00 60 63 82 53 63 f2 60 b5 25 07 80 31 60 00 00 1a 29 00 00 00 f8 ff ff fc 00 00 00 00 00 00 04 00 00 00 d6 00 00 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 ca 04 04 04 04 04 04 1a 0d 00 00 60 b5 25 07 80 34 65 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 1a 0d 00 00 20 b5 25 07 80 35 2f 04 00 00 00 00 ff fb 00 00 00 00 00 00 00 00 00 00 00 04 00 04 0d 7a 7a 7a 7a 00 10 00 00 00 00 00 00 d5 10 00 00 00 00 00 00 00 00 00 02 00 7d 00 00 00 00 00
match Opcode = 3, Hardware-Type = 0, Hardware-Address-Length = 0, Hop-Count = 245, Transaction-Id = 1130756, Number-of-Seconds = 1028, Flags = 1028, Client-IP-Address = 41.4.4.0, Your-IP-Address = 4.202.4.4, Server-IP-Address = 4.9.4.4, Gateway-IP-Address = 26.243.255.126, Boot-Filename = "\004\004\004\004\032\r", Site-specific-18 = 0xb5250780316000001a29000000f8fffffc00000000000004000000d600005d000000000000000000000000000000000000000000000004ca0404040404041a0d000060b5250780346500001a00000000000000000000001a0d000020b5250780, raw.Message-Type = 0x0400000000fffb00000000000000000000000400040d7a7a7a7a0010000000000000d5100000000000000000000200, raw.V-I-Vendor-Specific = 0x, Network-Subnet = 26.243.255.126/32

decode-pair 76 03 01 02 03
match raw.Subnet-Selection-Option = 0x010203

decode-proto 0101 0600 f59e ad14 0000 0000 0b0c 0c0c 0000 0000 0000 0000 0a0b 0b0b 4eaa 0000 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 6382 5363 3501 0176 0931 302e 322e 3130 2e30 3d04 6a69 6d61 ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
match Opcode = ::Client-Message, Hardware-Type = ::Ethernet, Hardware-Address-Length = 6, Hop-Count = 0, Transaction-Id = 4120816916, Number-of-Seconds = 0, Flags = 0, Client-IP-Address = 11.12.12.12, Your-IP-Address = 0.0.0.0, Server-IP-Address = 0.0.0.0, Gateway-IP-Address = 10.11.11.11, Client-Hardware-Address = 4e:aa:00:00:00:10, Message-Type = ::Discover, raw.Subnet-Selection-Option = 0x31302e322e31302e30, Client-Identifier = 0x6a696d61, Network-Subnet = 10.11.11.11/32

#
#  decode TLV which doesn't contain enough data to be a TLV.
#
decode-pair 52 02 01 02
match raw.Relay-Agent-Information = 0x0102

encode-pair -
match 52 02 01 02

#
#  This is correct
#
encode-pair Router-Address = 127.0.0.1, Router-Address = 127.0.0.2
match 03 08 7f 00 00 01 7f 00 00 02

#
#  But if we don't have enough data, the whole thing is corrupt.
#
decode-pair 03 07 7f 00 00 01 7f 00 00
match Router-Address = 127.0.0.1, raw.Router-Address = 0x7f0000

count
match 21
