Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"description" : "The extension datekeys.capsule of a .dkk and what it points to (spec v0.12, 44.1): an envelope of age with its header apart from its rest, the rest hidden in a host file, the locator sealed with tlock for round 1000, and the data of the extension. On the same envelope, what a reader rejects and what it uses (64): addresses, a locator with rejected and usable addresses, resources of the rest, data of the extension and plaintexts of the locator. Frozen. See testdata/README.md." ,
"spec" : "0.16" ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
"round" : 1000 ,
"datekey" : "dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0" ,
"note" : "Cartas del viaje a Lisboa" ,
"dkc" : " e e 0 3814 d 73 b 55 a f 618455 b c 90321 b d 0 c 27 b 16 b 8 b 440 f 1 b 954664218 e c d d c f 4 f 33 d 3838 f 839 d 7549 f c a c c 8 a b 912 a f 943 a f e a d 15 c 99524 c 0 b f 9 a 637099 d b 4164 c 0 c 0 10e8201 b 3 c a 44 f 1 c 2563670910 c 5 d c 76 a a c a d 8 d 31 a 939 b e 742 a f b 6 f 985971 c b c 3167 a 73 f 7 b 5700213 f 35758 b 8981 f 210 d c a b 1252433673930e4 f 7 f e 2 c f c 0 48270 c 2 a f 4 f 9e22 b 8 f f 2 c b 2e09 c 6 c c 964 b 0 2 b 21 b 83 a 0 f d 293 c 446 c 55e1 a 2 e b d d 2 c b c f 997 c 264602 c 92 d 42524 b 1 c d 712 a 506634090180608822 f 4360 d 733 b e 5 b 47 b b 4 e a 4018 b c 3 e e f e 429 c 1745 c 809e2 a 0 8 a e e b 897563 a b 46 c 9 d 2 f d f 834e57 d 7 f 1 f d 5 d 76 f 2e583 d 571 c e 0 55 a 52e2 f a 15000 a 0 c c 387 f 0 88767 f 1177 c 68 a f 7141 f 338 b 71499 c 0 5488e90 f 0 c 5440 c 775 e f f 25469 a 30 b e e 7568 b 1 a 1 f a f 998 d 865 f 7894 b f 8 b 677739e191612774 a e 8 d c c c 30 c 8 e b c 0 983 e d c c b f c 817 c d a 3 b 74438 b f 6 f 7 d 761377592 d b 4 f 52100 a 19e3 b 0 b b c 69273 b 0 1 d 54e2 b c d 843 b 5936841 c e b a b 1 a 20 d 8986 b 6 b a 3 c 23248 c e 762 a c 0 72032 c f 85 a 36 a 3 f 9 c f 4059 b 41 f 0 b 0 f c 2 c c f 96723552 f 2 a 20 f 6 b a a f a 661 d 1 a 202 b d a b 2 c 22028020152 d 3 c 5118387 c a 32 b 8 d a 9928 d 303 b d 2 f 2 a 1 d 1845 c 0 1 c 679 d 47 c 31 b c b f 823 d b c a 5556 c 7e66315751 d d f 0e1 f 97 d e e 3 c 703 b 7545 c d 84217 d 680470 b 0 1 f 0 d 57 c 7 a 902 e a c c e 78e25374 f e 13 b 4 d 7 a 0 0 1e660 d f 9 f 0 a 5 e a a 1499483 d 0 8554 a b 314e6222288 e 55e1 f 1 c 3 e d 93 d 897 f a 3424 f e e 8e13140407950 d f c 68 b a 1 d b 731 b 72028 f e f d 21 d 8 c 368 f a c 10 a 186 a 73 a 1310 b 9 d 9 a 65637 d 54 e c 9 f 0 a 0 22 f e 0 c c a 3 a 2 c c 81818510568 b 94 c 4531 c e 6 c 0 0 0 17 b 9303 c 202 f f 40 d c 3 d d 70 f b 9 a 8e221773 f d 57 c 77 b 82 a e 7 f 4 b c a a 71 f c e 11 e d c 7e6 b e d 299 f 5 d 8 b 306e2 f 3 a b 0 f 6952 f 62 f e 7 b 61 f 2358966 e a f 9 f 933 b 538e960 b a 7536 a 87 c e b a 0 23881 f 1 e e 66 f d 9 c 5 c 4 a 7 a 0 5548 e f 93916 a 32 f 0 d 735 d c 517 f d e 4e787 b 85 c 430 a 1 e a f 7442 f 0 b 71 d a d 8 f 46 c 0 97 f 624 c 64 b 6 d 3 c 8 b b a 7824e1 d 5 c d a 3 c 43376 f 0 125638 b 905 a b c 0e0 a 6 b e 8 c 3637095 c 6664 d f 17 d 234 c 0 77 a 78e6 a 588 c 259 d b 83 e f 42 d f 60744 d f 33 c 6 c 7 f 184092 d 169 a 3 b 4 e b 703 d 5936 f e e 55 d d f 83 b e 0 9944 a 6 a f 840 a d 6 d 1507 c 5888111288 c d 898 d 6e3 a 2 f b 9746 c 0 b 62 d 7 f f d 7 b 486e6 a 507 a 9 c a b d 14 f 47 b 431 f 26 d e 3470 b e 86021 f 5 a 16 e a 48 b 7740 f 9745 d 29 f 1 c f 0 b d e 23 a 4 b 639464 c e e e 378 b f d 3 b 45040609 b 27 c f d 57 c 31334 e f 0 11 d 94 d 971 b 9 a 5395384 d 3 f b 15 e a d 0 d 7 a 0e7 c 0 1155 f 0 a 142 b 77 d 85 f 8196056 a 55 a e a c 0 1 f a 0 1 b c 9 c 33632 f 242 e c a 3413 a f 62e105448 d 60 c 63 b 84 d 83 f 13 c e 52875 c 205 c 8 a 680 f 588e6971 a c 0 b c 70650 a 2126e8 c 105 d 66 b 8 f d 8 c 812 c 10 f 8513238 c 140 b d 5 c 91532e45341 b 77 d f 32 f 5 f 3370 f 813408 f 7 c 3 e a d 91 d c 17 d b 1 d 93 a 722e992 f c 9539 d 5 a 6186 d 4 c c b e c a 31478286 b 9891 f b 9513 a 961127546 c 55 f 3255168 f c 3 c e b d d 6266837 d 2 b c 41e2 e 5 f 0 15 f 4 f 7686 b 6 c 3 f b 213e856 b 47946 f 6 d 9 f 682 c 4 f c e b 30485 d c a 116067 a 37090 b 8 c 0 1 c 45 d b 406 f b b 920e6825 d 5 c b f e 8 b a d 8 f 965630 b b 645146 d 966e8 d 326 d 0e24 c d 330 b 8 d 9774 a d 36 a 8204e427 c 6 b 0 b a 20 d b 20 d 0 3 b 80 d 9 b 94 b 9e72305 a 0 e e 69 c a 6339 d f 880 f 329 a 2 a 628 b 1 d d d f 2e90 c 344 c 2 d b 0 1e559332916533 a 4 e f 4 f 4 c 7 d 9404 d a 29436 b 31 b 81280739 f e 15 e a b 10 d 1 b 4 d c a 7 f 28 b 342 a 25e15 f 9 c 21 a 1 b e e 2 b 9 a 10264 a 2 d e 383 a 9 f 1e9 a a 2 b a d 94366 a 7 e c a 3764 d 7 f c a 5 b b 21 a 772 a 70 a f 20 a 9 b 8 f a 0 2 d a 25 a 0 0 61 f c b 7 d 70 b 1e819 a 617 b 26811 a 657 d 9 b e 611 c 36 e a 1 f 9 c f 15957 b 50 c c 4 d 215 d b 0 52809e9796 f 0 89 f 4 c 94e94 e 852313 c 7 a 36 b 6 a a c a 542090e1 d 64 e e c a 0 8 b 42 b 266974053 a 85 c c 955 c 0 c b e 326 a 5 d 862 a d 4 a 5 d e 60 b 51957 a 71 c 5 c 49633 c 7 c 838 c 8 f 5846 d 85 a 6 f 76 a d 8087 c 27 d f 203 c 39997e4 e f e e 96 a 240 f e f e 5900405 d 91 a 400 d 98392 c d 45079 a f 48 b 149 e c 7 c 95e99 a 22e8 c f 0 24 f 52 f 759 d 47595 d 6 c 90 c 0 619 a 7 c 9 f 2001 f b a f 92 a 0 d 43655 a 3e62653 c 0 4 c 99 d 56 b 50503 a 9487 c 45e6 e b 0 19e926 a e 451e6 e d a 6 e c 9 f 0 d 4184e0 a 5 d c a b 7264 a a 3 c c d 3 d f 0 8 c 482 d 0 0 b c 5 b 5 e f f e 623 a c c d 1516 d f f c a 98376 b 9 f d 596 b 3 e b 9e6 a f 0 d 6 d 390 f c 16 e c 0 11192 a e 73 d 681 c e 540 a 19522 c 19 a 283 d 6 c c b 9906893 a 222 f 598 d 782 b c 7 f a 1069011 d 9e9 c 5225280 c 26572 e f 0e37554 a d 877 d 2 b 64 c c 8 a 6 f 86 f 0 6e6 f a e 2009827 b e 6111 a 88160 c 98 b 2980 b 5 c 4 c 16497 d e 5 a 1e75 a 307 f f 9 a c 581 c 52e9508916 b 9138e9 d f 24298 d 79 f 280e6003 c 174 c 8 f 88 d b c f e f 977 a 6309 f 7 d b 96 c 44e99 b 9 f 43268 d 2367 e f 12 f 879 b 2 e a 906 c 3 a 555 b f b 9 c 0 9e6 e 3 d 10 d 6 b 742 a d b 6 b 4e90 b c a 6572 f b 4 e d 3651 a c f d 81642954936e7 d c 97 f 0 34 b 7e42 c 0 8e1838 e 9032e982 e 705 d c e 629 b 0 0 204 b f 862 b 7e254 a 8 b 49 c 7 b 940647 f 5 c f 27 b 5673 d 4 e b 1 b 723 e b a f a a e 178 a c d b 5 b 2e2 d 4 a 4176 a 944e7922 e a 81 f 175 c 6 c a 0 9970 f 602782 e d 17 f 71635 c 4679 f b 19 f e 64 d 9896982575 b a 2e7 e d 4 f 5913 d f f 51 d 0 f d c 99 b 25 e f 51 c 88 c f 3922 b 85 b 1615e1943 b 0 d 9 b 69599711e9 f 0 a 3664 d 1 d 1 b e e e b 81648 b 579 b 8965104 a 0 242 a c 4 e e b d 2 c 20 f b 2756 d b b e 6358 a 0 9 d a 0 b d 4 d d 543232 a a 54 a 92 d 2 a 4027 b 620 b 51 e b 80 f e 8e169061442 f c 742 a 70 b a 449575 a 3 b b 83 c 2 a 91 b f f 8 d 249151 d 99712 b c 4 c 413 a 455 e c f e a e a a f e 14e5 e f 8 f 0 2398 d 75 c 1 a b 697 f b 2 a 98 c 0 8 e d 58 a b e 46808445528722 b 2 c d 532e08492826 d 6 b 9 d 13 a 3e564 f 51 a 99608 d 28 d 13 a 16 a 5082 a 7e20600 f c 229 f 7736 b 3 f 555 f 84 a 49499 b 15 c 812 b 2880842 d d 0 b 2 c b 9865 a d 9 d 9499 d 8304 c e 32 a e 6437 b b c 3 d f c d 53 b 7 c b b 3 c 0 7 d 4 b 719 b 48 b e 8 a b 6848 a b 4 c c 7455 c 5 a 0 8 c 94 f b 48 c 0 0 3 c b 65231 c f 619 c b a 729 d 9735 a c d 842 b 3 f 5 d d 0 1809875 d d 287 b 6 f 4 b f 27 f 3e4 a 8e9 a 796 e e b 8 b 80709 f e d 6 e f 83e598281 e 679294 d 32e77 e a 15927 d 8 f 777
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"rest" : " b e a a 5 a f 44 c 62 f f 37746 b 7 b 2 b d 62 a 8118 f 3 b 953 f 99e8 d 0 d 997e56 a c e c 906 a d 502 c e a 92 a 74 f 4076 b 6338 e f e b b 6 c 8 b 35 e d a 45 c f 8 b 46738 b 0 c 5653593152 d b 8792 a 82e26 f b f 4 c 8 a f 68 d 9 b b 50e10 e 7 a 106659336 f 9 d 81 a 457687 c e a 376 f 3 c 6 f 853 c 6949 d c 4420 b 39 e b 0 4 f 36914e0644 f c 72881974339 b 34813043 b 3 c b 754706 c 5 b 57 b 8 f 8 f 9429 e e f a 4 f 7 c 31545 c 1 f f b f 6 c 2 c f 669 c 0 0 3477 b 6 b e 56e9 f 8419 c 4193 a 78 f d 234 f f 45548 b e d c 26368500830 c 3653 d d d 9 c 41 c 51 e a 625 c b 91 a 1 c a 5 e c 26 d 15e36 d 0 30 b 60 f a 86 b 4e2 f b b 8 b 803 a 0 46100e455 f 0 29 a e c 86026 d a 4 e c 55388447 c f 655096 f d f 5767 f 71369 a 7 a e f 9 a 6444e7 a f c 610 c 3 c c 1 b 500 a 18053 b 9 c e d 43 d 0 84240 b 7 c 8 c b f 48 d 0 b 88 b b d f 4326 a 423274 d 0 b d 59 f 6 f 395 b 0 3 d 321954 f b 1334658 d 19326420 f 746 f 978 f f 8750 a 45 c 40 c 79 d e c d 6 b 49 d e 6 a 16870 c d 4 e c e 79e0520 b 9 f f 691 a e 62 f 33891398 c 0 50 f 2 a 1 d b c 25 d 82 f 8 a 9e68 a 30065 d a a a d 513 f 3305 b 612 a 600 d f 9 f 4707 e c 8 d e c e 4 a 0 0 510 a 50 b 6 b f 5 d a a 74 c a 1 b 8 c 0 6 c 31 f 5 d 42 d 2 c 1 b c e 21721907e97 a 2 a a 0 2 b f 63 c 8e6927236874 a 680 a e 1422216 a 0 8 c 2 e b 9268e22 c 0 c 77 f d 3 a 33 d 7 a 5 c 1 d 8 c 9 c 7 c a e b d f b 483 d 3 d 255 d 4 f a 941071 a b e 78 d d 9 f 5482 b 56 d a e 8 d 0 505 e b e 6 f f a 67 d f d 35 a 580 f 24768 c 25028 b 4 c 0 3e39810 c a 4e08 c a 0 f 0e3 c 0 b c f 24 d 0 1 f 3 b 56 f d 4 a c c 0 b d e a 2514 c f 2 f 563098 d 443 a 6 b 5 f d 3612 b 764 e c f 6 e b 4 c a c d 9 a 0 9 c e e b d d 4 a 7 e e f 8 c 78015 a d a 13734186 d d f 20 b 41 c a 18966 d a 401149408 c 3 b 409922298052532485 d 1415 c 18 a 822 f 593e7 d f b c 20860 d 8 b 8666 d 89 f e 57 c 8273 e d 23e7 e d 8859 f 7 f 0 3206 a 4 a e a 94 f 9 f f a 6 f 89541000 e c 5 b 756 c 4 c c 83882 d 2 a 882e62 a e c 1 c 0 93 a c a 81e4 f 0 a 58 d 9 a 60 f 8 b a d 28767390 f 65 c c e 6 a d b b 20577 f a 36 b 115 f 501289 b e c 521 e c 3 b b c 9 f c 8132 a d 470192 b 5 f a 8 d e a 5136 e b d 6265 c e 3910 a c 5 f 70 f c 17 b f 2778 b 0 106 a b d c 2e0 d b 443 d 47 f c f b 5 f e 81641 d 0 2 d 84 a c b 644213 d 8 a 9 a 34653 a 6 e e 1e65 d 0 38204 f f b a 50e2 e 997 f 49 b 6 f d a e 56925e6 e 9 a 898 d c 0 0 937 b e b a c 65 f 2841333295 b 1 a 75 f d c f b 1 f a 451 c f c f b 0 7 e e 3 b 7309 d 72 c 7 c 82 b a c e b 0 956 d 43757 c 56125e72 e a 64 f 5973 d c 9 f f 8205908 d 2 a 559 e d b 0 c 2 d e c 899e9 b 0 2 b 8 c 3666234037 d 44e5 c 4 d 29 e a 11 b 0 3 d f a 19 b c 8e0 b a 1403 e b e 3 e a 4 f a 61 b 5 d 72 d b 7 f 30 f 4 a 7 d 55 d d d 6 d 57 c e e b 3e1 d 0 5 c f 0 9 c 7781464 a a 16 e c 64 c 52 d 2 e b 60 f 9 c 46 e f f d 83637 c 891925705 e b f 394 a c e 58 a e 2 a 9 f 37 f c f f 31 f 9583 a 3 c 12e3936 b 5259 c b 341 a 6 f 3246 e c 2 a 997 d b 1 c 8e143 d 64 e d 44252 b 77 d d 79 e b f d 628633 d 5 c e 0 f 76 b 99 b a 37 b 5809 b 1240199 b 54 d c b d 7207 c b 88e4 d 8 d f c b 4 d 5 b a b a c 1e99545 d 0 1 c 3104 c 8 d 775 c 1 e e 2 c 19468 a 6 a c 89674 a 0 4895 f f 9 e f e e d 51 c 720317e97 b 11 b 7 a a e 96 b 6 e c 8 e c 7 b f 62 b 57 f d e d a 696 f 665 c 8 a 0 6 a f 212e28 a 8 f e 73 b e a 90 d 0 42e71911 a 8215 b f 4 a f e 41e459 e 9 d f 836382e291 f e 922 a 0 a d 54 b 4873 d 356e09 c 786 d 3255e285 c 4654 b 4 d 6 a 0 a 590 c 4 d 0 0 0 a 65 c 917 a c c 47 e a 25 d 7 a f f 3 a 67 c 3519 b a 19 d 8 c 95 d b b 5 b d 16 a d e 9e7266 d 80 b 3 c 86 c 5 b b 98 d 601 c 37 c c a e 7 a f c c 5 a 21 c 337 f 7893 c 36 a 24e2 c 5 d 0 9265082 a b e b 9919 f 57 f b 0 37322100 f b d 6095 d b a a 16 a f d 250 e a 2 f 70 a b f d 9088 d 825 f 0 0 18 d 99 a 43883089 b c e 1 a 93 a 0 8100441 f 9 f b 0 7 e f a b d a 6732 e e d 9 d e 552e96 b 48 e d f 5 b e 9 d 0 69536 f a 79024 b d 92 b 20 b f 428 c 0 58275 f 1 d 6579 b 5926 a 5 b f f 52 d 4148 c 590 f c c 7 d 65 f 202 a 5828 b f d 287124465207e321409810 f c 3926584990996 e a c 2 c 2 c e 5366843729 a 90 d 4 f a 52 b c f a 0 e b b 892 c 88 f a d e c 80698e94 c 60 a 73 d b 4 c e d 32 d 1182 d b e d b 31 f 9 b 3114 d 58 b 896 a e b 208 d 0 4 f 838 c f b e a 1 b f 64 b 65097 b d 3459119e9 e 79068 b 83 f 42 f 5 f a 42 f b d e c 52048572 c 9 b 5349424295828 b 642 f 2968 d f 903 f 67 a c 368 c 943 d 66 c 0 c e a 0 3 e b a b 0 5874 c 0 d e 796042 c 37 a 17 c 48 c b 410e8 f d 1391 e e 3 d 38 c 1150 b 41 e a f d 1 d 257 d 24 d 9e85 c e 85 b c 67834 a 1 d 528 d b 936499667563 f f 77032 d 9325 b 0 2 d a 0 0 863 d 0 567 b 19225 c b 0 77 a 22 b d 0 0 5 a c 1 e b a a 1 c b c f f c 30 e c c a b f 36195e0 c c 3e0 a d b 10 f 6 b c 7 c 0e730 b 5279 b 3 c f c 7063 f b 7 d 0 f 3761 d 1 a e c d 6 d d a c c b 7343253 c 15 a 9 c f 1968410 b 69 f 558 f d 17 e f 612964 d 4 f 535079425e961 b 0 a 6 f d e 64e45 c 4 c e 9 b 0 9 b 3 c 72 e e 3 b 2 d b d 563042 a 0 d 773441 a 8 f c 37 c 0 1 a d 0 21686 d d 880721e205 f b 52 b f 90 c 6 a 8 a 4742 c d 9565989 d 93 b 65 d b 4 d 51 d 3e2146 d 6 e a 5 c b 79611 b 7784 f e 9 b f c 2 c 168 b d f 9176 b 5e65768 c 8 b 29 f 4694 f 0 d 530 f 36517 c 6 f c c 6 f 8 d 1 a 964 c a 2e3 b 98555e1627 c b 174 c c 0 2 a 7 a 4 c d f 9117 b 6 f d 9 c 291e648 f f 5 a 8 c 12 f 9 a 0 4 b 2 c 4046 f b 5 f c 94 c 8390477059 d 85 a b b 85 f a 3121e6 b 3 d 224 f 6957 a 52e1 c 900 c 4 c 6432608 f 33 f 67 f 6661e006 f f 3 a e 41 a d 0 f 60 d d 969 e c c 58 c d 38 f 56 b 57 b 84 a 0 c 70 d d 48 d a c 2 d d 330 d 8 b 88 f 0 c 755 f 3 e f 7 c f 0 e b 0 c 927 b d b 85 c 9 c b 1 e e 8 b c 0 4234 b 8 d 63 f f 18276 b 36 a e 3 d 22001 d 463 c e c d b 4 b 30 b f d f 36 d 4 d 2150 c b a b 7568 f 9714 c 4 c 699 a 432939 f 62 b 52 a 5 d 5139063 b 2 f 9618423 f 2247 c f 74695 a 1 d 6 b 82650 a b 17 d 4456 d 1 c c 57 f 766 a 0 17 c 2630 d f a 390 c b 60518 e c 678 c b 56 f 775996 e a b 88e162671 d 0 428 a c b 6 d 0 9 f 47 b c 826135991 d 58 b 1 f a 8 a 0 180e8 e 30 c c 7 d e a 854410 b b 4 f f 5 b 0 1 c f d 5 d a f 81 a 87 d c 27 e c 55 a 0 94867 b 0e953 c 98 b f e 729 a e 9798 f d 70 f 593e43 c 56 a d f 9 b 0 15 b 12905025 d 929289 c 6 a d 0 a 731 c 0 2535 b 0 a 1 c c 5e302 c f 458563 a 4 a 1 b 56 e b 240 e a c 480 c d a 4 d a e 8383e4 d 14e9082 d c 7e930 d b 84088e50 a c 5 f 566 d 768 d 6 f 301 b 24109 e f e 246 c 9 f 81e8912 e a 305 c f 2 a 917 c e 1 a 26e05463 c 0e768 e 59e85 e c d 0 2 b 2 e c e 93701 c 2 b 32 a 3e35221 c b 7e39 c d e a e 5 f e 6e7 f e 26 d 419 a a 818 c 2 a 9 f 74542 c e d f b 1 d 17413 d 73 c 6287e217 b a d f 638 c 0 468 a 7 b 0 f 497e31 f c 0 4 a 75 b d 5 d 3 a 54 a 8
"envelope_header" : "6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204f70623755786c657736353147415a3057674535463158487347496c70723579674a6c74754370707a32410a434b5a6767534a77746d554c30583775684a7a3364776f5039714c68342f723038476a3577525944344e550a2d2d2d20704a385449433667676175374d2b787267517a68776e685947744474526f772f6442762b384e4a6d62636b0a" ,
"host" : " d 3 b 9 b 166 a 9 b 2 b 304971 b f 45 a 4e02 d 185 e c c 0 b 1 d 0 920 d 6 b 67914e5651 c 823 a 2 f 6 d c a 4595 c b 1 a 87480253 a 442 b a 86 b d 32 f a 6296 b 5 a 76723 e a d 55 a 8 f 5484 e e c 66 d 3 c a e 15537801 e b 8 b 919370232e1 b c 423 a 6 c 14 e a 1 b 918 c e 4421e103913 e 6e72 b 49 d 6200421 c 6 a 6 a 95 a 0e48 e 0 29 a 691 c a 4137 c e 54e66 c c d 9 a 2 b f 257 d 9 f 24e3 a 57 d 5 a d a 874 b 85 b 3961e0 e a c 4384 c 62366 b d a 9 d 0 a b c d 8 d c 3 b c c 53 f c 63 b d b a 5 a 64 b 4 f 3220 f 4 a 82 a f a c f b d 21259e5 c a a a 17246 a c 90 c 8 f 30 f d 0 46 d d 99 c 7 a 89 c f 1 f 57 a 1 c 299 f 35 d a 6 c 97 c f 3 f 5 b 91 d d a 9230670762 f 366 f 9 f 0 f b 408 d d f 2 d 2 c 285 d d f 89e678 f 8 a 9489 f 88 b 5968 a f 5 c e c 162 b c 1197 d c 183 c d d 11 c 0 4684 d 1 f a 0 6 d 5 f f d 8 d 96986 f e 94 d e d 9 a 4 a 54 d b a 13 e f 82 d a 0 1 f a c 5 b 9 a 2795 a 738 f 966242849 a 81 f d 47 a 9 d f 1 d b e d 7781 f d 1171194282539 f c 9877 a 6 a 36 a 5 a 0 a 0 97 e a e 7003 b 30 a 8778 c 90 a 6e675 c c 961 c 83 a e 203 c e f 7 b a 380 b 4 d b f 6 f b 9 a 53 f a a c 2694 b 4486 f 319 f a 4560 c 5 a 4099 d b 0 c 98 b c 0 95 c c 59 d 3 b e b 2 f 2 c 9 c d 14e935674494128 b 2912 b 310 c 437 a 7 b 58e3 c e b f d e e 72 e b 0 c 70428936 c 1 a 0 c 959 f a 2 f f 33 e f d 6559167538 c e 22e9 e 949 c 122330 a 9 d 0 38073 b 6 c f c 7e38 b d d c b 8 b f 91 b 62 e e 79772 c 7886058e2 d 949 c 29327433 c d e b a 1 c 79 a a 951 b 0 49 c 0 908 f 1 d 33e2669 b 93 f 810455 a 921 f 1 c f e 0 a 0 e d 591 d a 7 d 0 0 59 c e 518 b 10 a 111 b a 85814 c 1 b 6 b c 674 d 25443604 c 171626 f 1781 a a f 8 b 9 b b 5 f 11 a b f f b c 2 e c 6 c 3061 c 7e6 d 52 b 7 a 4039 c a 43e341 f 33 a 2 a a d 5 c 2452 f d 1 f 0 2e24 e d e 2 f 4 c 4829 f 8 c 5 a 0 194 a 7 f 67660 e a a d 4 b a 2340976596218662e03 d c a f a d 12 f 67 c 544 b 6 b 35e285 f d 4 b 2 e a 0 2e08702 f f 1 d d e 2058 c 9 f 3 c d 87 a 18939 f a 316327584 b b 82 c 891 a a 44 b 135 e d 843286 d 4 e c c b b a a 3 b 0 32 b 677022328380 c c 246 f e b 9 d d c a e 8789e1 e 0 0e1 f 1 f a 2 c b f 5 d 5 b 704 f 7 a f 8e2 c 3 a 82430 d a d 0 7 f 9 f 472 b 2 a 0 17e6 f 460 c 2 b 326 f 0 90 d 18601 e e c c 9 b 1 b 513 a 6024e3103 b 1e316 d 66 a a 315 b 73974051 a 4415 c d 7 a e 35 f 4128 b 9866638529 c 59 a 2 c 123 b d b b 9 c 5 d a 7 a e b 40618052 c 1 c 2 d 983 c c a 3 a 61e2 c 44e4 c 59 a 2e86 f d 1 a 17395522 e e 77 b a 4e88 f a 9 c 29 b 91e7 b f 569 c 0 6 a 762 a d 0 74 a 852244 f f b 4 f 4 f d 2 d 80 f f 6 c c 6 a 16077 d 8 c e b b 2463 c 95e3 e e d 915 c c e 30 d e c e 6486 e a 72 a 2786 a 25 d e 419 a 8 d c e 67 d 8 b 59 b 92 c d 83609 a f 6 d 45 b 20 f d c b 6 d d 793 a 1 d 5 f 8041 c d 718 a 18 c 145443 a a 67 b 5370 a d 48007 d 0 b 5 f 91 d a a 6e34 b e 851 e f 0 2 b a a 81 a 873 e c 50949 a d 11 d b 4665 c 3e822 e 94 e a f c e 39 c 204 c 4 a 3215958 b f e 90471 f e 509 f 8 f 66 c a a e b 6e3024 b 72 d 4 c 78925e044 a c d 6e069 b 173 c c d d 9409 d e c b 6 b 99 d 0 3 b 889e1959 a 5 f 7e63 c 9e62 e 7 f b 33 b 811e2 c 1 c 59407345030481 e c 0 d 4783 b c e 6 d 7 b c f f b 0 85 d a 831842 a 0 4 c f a 871850 f 61 f f c 0 f a b b c 0 b 40 c f a c 70 c 5 b 6203 d c 0 9e7 e 5 c c 1e6 b 2 a 628e22 d b 3444 c 57 e d b c 0 0 d 413 b 53075 e f 2 a 73908 d c d 92 d 9240e3163 b b d 7 c 1 e a 40 a 0 84570 b 9968 e f 9 d 961e9 c 3 c 7 b 6e18 c 4435059750 b 987148911 a b 80e02938 f 3 d 64829e91 d 8 e c 8 f 4 b d e b 141108 a 877 e b a 448738 f 656 f e 6 c 6 b 14 f 37 b c 4218678 c 2 b 40 d 229 b 4 c 4 c 2 a e 44 b 8 d 514 f 73 d a a 3398 a c 6000 b e 2583 a f 541 b c 4529 d 161 d 6706 d a 9 d 1 f 0 d 349 b c f b 4 f f 89 b 55 a 509363 c 54 a 95635 c 6 f f 94e9 c 7091 f a a 96 e e b 891 a 8 e f a d d 54 b 2e235219088 e 0e1 e e b 55e3917 e a 312102 a 74 b a a f d 2124 d 5e3 a 2 d a b 587 f b d 0 d 9e2167526 e b c 800 d 49 f f a 0 5 b f f 6 f f 5677226 d 85 e b 4 d 1 f 21279806 b 3 d 254e277 e b 322e16514 f 2528 b 48 f 1 b 5 d 6 d 7 d a 4 c 3 f b e b a 0 377238 b b 6 c 7 b b 12 e d 444 c 94 d f 49879 d e 1 c 2 f 2 b 13 b a 0 8578 b 81e3 d 0 8 d 92 f 2 a 772 b 0 2 e b 2259 a 307e7 d 97757 f 22 c 0 79 d b 4 b 32e06 e 71 d f 15 b 0 502 d e 748580 f 68 c a 7e89 f 6 e c a 6955e6 a e 73554614396e9386073 e a c 4 d d d a 9 a 4 d c 6 b 9 c 0 7 f 2 a 597 a b c 3 a 3 f 5 d 9 c 480 d 0 774548 b f a 1 d 21 b 51 b 3 b 7 b 82e4938375 c 879 b b 2 e e b a 0 2 d b 7 d 0 27 e b d d 9 f 411 a c 0 12023 b 320 d a 8 b d 69 f 601 d 0 c 7649696e2 e c 8 d 77 f 6449 e d 50 c e 0 3 c 2e09970 f 71 b 88193 d 0 2 b f 0 66 b 9737929928 f 208 a 25 d a 5 b 102733e453 b 406e2 b 1 b f 6 b c a 3 a 61 a b 6 b 6617077 d b 9 c a e 417 a 139 d a 15 f b 44039 a f 66e45 c 1 e c 284450e3 f 7869 f 62 d 510727 c 94 a 4e33 e f 75 b e 901 a 2e4 b a e c f 61 f d 65180 c d 9 a b 588 f 62253 f 176 c 6 d 32 e d 48 a b 91e00720 e 761944 c e 735771 f f 83 c 7 d 7 d 6 a e 2 b 6 d 96 d b 8 c 0 8 c 3 b e d 240 c 1 d 7394 a 73635 c c 1 f a 352 c 22 a a d 357 e c 8355 a 969 a b 0 7 c c 0 8 a 99106 e c 0 879e9 a f 70 c a 3 c 4 a f f a 1 b c 2 f b 0 477046 c e b 3 f 7 d b 8407 c d 0 5 d 7 e f 5264842769 b 0 9075 f 6 a c a 28 c 7539 f 754 f 2 a b 43 d 8 a c 966547e199 b 27 d 458 b a a 39 d f 20e32 f 1 c 609 e e e 59291778 c 3 c 6 d 85 d e 8 b 18 d 7 c f 92 f b f d e f e 76 c 1 b b 8 b 612 c 61 b e 39 c 3 c 301 c 8 d 19 a d 5 d e 56e749 e c 44 d d 94773388 d 7 f a 8 b 50 c f 75 b c d b 59 c e 97 c 0 b 87 f 6 f 23949 f 60 c 97 e d 889 b 81731 d 6 a e 155574 c e 2e71521 e 6 c 0 5 f d 994 d d e 4e984340 d e 4 b 71 d 875 c 1e6 f d a d 9 b 46307 c 2 a 350 f b 3 d f 9e03 a 8 d 2 f 596591 c 1681 c a a 54 d d 0 7752519 f 79 a c e d f f 294348 a 920 f f 4 d d 925 f a 8 c 27 c f 0 477 a 4934 d 4201 f 51871 f e f 4378 c c 76 d c f a a 985062 c e 2 a 53 c 0 31896 f f 649 d d 8 a a 69 b 6 f 6 e b 76e70647599 f 424744483837e97 e 6 a 302128200 c 304 b 4 d 7 a 8058495 c d 5434 a f d 3 f 58 e c a 2014 b e 54 c 0 72 c 7041 c 510 a 8e105906 a 90 b a 1898 d 46 a 0 b 0 d 1 f 211 b 5 c 576435e47626 d 9 d e b 4 e b a d 549 a 102990059125474e4 a 7393e35 a b a 91 b 38 d 0 0 c b 44 e e 0 6318 f 64199 c 3506 f c 53 b 209504 b 76 b 73181 a 4 d 2 b 4 d 298e04 f 5764e13 b 3 a 992300 e f b 3 c a f 2794 b 5 a 54637 f 316 a 603 f 0 b 50 a a f 478 b b 3 c e f f 2 a c 3 a 77e309 a 7592 a 498 e b 9577 e b 8 d 7 c c b 989513 f 628 f 478415901 d d 0 2 a 0 72 b d 437257098 c 4 c 9 c c 8e67 c 1837 e f 13 c 38 c 49 f 791261 c 487391463886 c 815 c b 37 f 173176 d 8 b b 41 b 9 c 80 a 215545 f 84 d 28 a 77 a 58 c 32
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
"host_offset" : 3000 ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70082 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 706701190 b b 8 a 1007842697066733 a 2 f 2 f 62616679626569676479727 a 74357366703775646 d 37687537367568377932366e6633656675796 c 71616266336 f 636 c 67747179353566627 a 6469015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590e77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
"locator_sealed" : " 6167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20746 c 6 f 636 b 203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310 a 675554654 c 596368513257484 d 4e3176395164305576556 f 673745353234782 f 4678305374524765596349486241322 b 3066396 b 647070676 a 625941314e59700 a 443957316138463756334 d 31526954504172426 c 52522 b 6e673475586538425 a 4645622 f 6 d 695548675135334 d 65505 a 75684658624 a 647041493952334144470 a 71415 a 68453230742 b 596947514431346 a 31616 d 62305331356 a 384 d 576542557178676e70782 f 343439730 a 2 d 2 d 2 d 203366676 d 535 a 5559774 a 384170592 b 37464 f 65675550766 b 336 a 796e6 a 4 d 6 c 54367564386 d 6 d 55544 d 76510 a a 47876 e a 0 66 a b 55 d e 23 c e 2e1871 d 26596 c 0 41 b 696929 f 77032 f f c 321 c 8 d 447 c 5 a b 5 a 67 d 30 a d 9871 c 0 5 f a b 24 a 3e457 a 6 c 22506 a 413 c 682653e7 e 0 0 c c 9e73822 c 7 f 8 c 4 c 0 57920484942781e9 e b 40 c e 6 f b 8 c 2 b c 124 a 8 e c c 3190 a c f d 63 d 3 c 493 c e 3842 d e 6341880 f 0 836619 b 6e985 b 0 7 c 3 a 20605 c f e d b 16 c 74 f b c 8 f 23 a 2 f f c e 2 a e e 119 c b 3 f 8 c d a 6 c 5180 b 45 d b 58 c 0 c 0 44 c 8 c 91493724717 f 2 a e 632 a 53e68514 a f 36676937 c 8 c 16 d a 95061 d 88 b e 897 d e 59 f 13 c 98 a 910 f 4 f 1 b 73 b 93 c 8 f 1e7 c a 2e7064 e 3185802e432 d 7 a 8 b 63e5 d 430829 c 96 f f d 319862 b 5e9 f 228 b b d 5e93 c d 7 f 25 a 7 b 0 b d 107 e f 4 e d 9 f 858 d 0 0 c 47 c f 11 c f 37 e f f d 8230e0 a 8 c 997 d e 5 b a 4 d a 0e63 f 5024 f 19 a a 0 8 d 581 f b c 0 382 e f 3587 a c 4 e b a 97 f 68 e e 6 a 55 a 385 c 58 f 7e1 b 9721 a 0 371465 e d f c 4 b c 52 b e f f 5e49564 a 62887767 a 1 d 6 d c 0 a 35187923063 f c 35 b a 0 2922267e7 f 2 c 1 f 57451 d 2588192 d 9661 a 3119651 d 2 f 93 f 98 f 549 d d 2 b 7 d e 22 d 5 f a a 4e232 a 517689 d a 919 a e e 831941 d 5 b 9 d 2e9 a 36667 d e 260 b 8e87 a a 7 d a 7277 c c f 5 a 0 0 73e250872 b 8 e b 68 f 4 a e 743e387 f 9 b 8 a a a c e 9 d e 3 c 7e1 d 5 f 0 4 b 2252 c 43 d 0e1 d c e e a d 50860 f f 8 f 2809 c 9e3 c a 6 b 0 92 c 72380225 f 70064 f 4 c 41 f d 4 d f 0 3 e f 5 c 462 d 6 b 689 d b 2850 b 7 f a 80 c 0 20653e8636 f e 202 c 936 f f a 0 47 b 31 a e f 12712 d 2e12 f b 5 c 0 e c 40 f e 63 a 6 d 75132 b 9983 f 4 c 9 d 2 b 7 a 269024 d 2 c 0 6619 f b 288827562 b 7 d 90 b 365 a b 3 a e e 3 d e b 21 c 516e08 c 8 a 26 b e 3948375760 a 83778 c 3 c e a 1 b 437 f 0 1 d 415068 a 236 f 12 b d 15 f 9957e340 d 846770 a 2779 c f 32675842805 b 9 d 6 f e 2 d d e 5599858440 c 15486 c 398 e e 66e3 a 772 f c 40 e c 9011204 d 4 c d c 4 b 78 c f 545 c 1267 d 30e383951044 c a 803 d f 3 f 57 c 40 a 73 a 64 b 86 c d d 7 a a 97 d 4352404163 f 378 a c 452 b 1 e e d f c b 0 69 f f b 1 b d 24 a 4 d f d 7 d c 547 d b 281899e16 e 9 b f 2193 d d 27 f d 34734 d d 22 c 35 d c 0 9 f 906 d 4 e a c 18485 a 88 d 0 0 240 d 51 f 957 f c 2417 d b 195 d c 1191 d 1177 c 15 f 80 d 5 b 0e1446 d c 0 a 26787569 e c 86552 d 5 f 1424 b 1 c 4 d 35163 f 0 b 3 c 81 d 7 c 1345e5 a 2 f f a 547e3 b 4911 f 81 d 597 b 91 f 5 d f 9 a 14 b d 57375 e e 4e1 a 40696 c 232 f d 0 0 16 a 2 f c 3690 a 34045 d 7 c 0 f b 5748942 c a 36 f d e 3 a f e 9e89148 f 36 c b 797119 e a 58 a 9367e4 f b 32044 f 78 a d c 7 b d b 961 b c 60461218 a b 44 e c a b f d 9 d 9 d 78 e c a 14 d f 71667 b 7 f f 845e9 d d 0 22 a 970861 e d 32 b 4 d c 4 a 8 f 4 c 9 a 20755 d 2 b 0 b b 553e45693 f 39 a d 6 c b 4491 d 9 f c 56 f 3 d b 7 c 0 0 3 d 75245 c e 4e4 a d 4810 e b 81 c c e 81 f 6 c 7 e b 684 a 2 b 58 f 59 f e 6 b f 30 c 41965e61 c 9971 b 61 c 6 b 80305104891 d e 4653e6 f a 12168969 f 7111e77 c 696 d e f 7708415 e d 1 b 94 b 9 f b c 0 69 c f c 600 a 246e154 d 79 c 49325 b b f a 6 e b 88e2 a 4 c f f 6 f 511 c 65 b c 57 b 650 d f 6 b 29 f c 917 e d d f 55501975633e589 e c 7 a 5 d b 6 d a 30 c 6 d 851945830 d e a 4 d 94236681 a 2 e e 41 d d 9989 f 34 f f 59 b 3 c 4 b 668482812 c 21 f e 921 d b 22 c f 55644 d 25 c f e 1 c 10 d 866 d 1 d 7489 d 292908e4 e a f 0 794 a 4403 d 16 b 92 c 601 f 281 f d a 96149 d 99 d 4 a 673 a f b b 944 b 0 d 541 c 17 c 9831 c e a 0 d e 0 599 d 0 54 f 48265e16 c e 502 a 40750 f 61 f 7487 f d d 466 c 813 f f 64 a 21 d f 82 d e 2 a 3452 d 939 b e 970 c 43 d 9 a 10e3 e 62601 d 5617135e22 b 37 a 56 c 6 f 25102 e a b 0 15 f 0 34 d 0 0 a c 8529803e8 a 0 3 a 9723694 f 25 b 8 c 0 8 f d 415882 c b 85 b e 6e8 d 8 a 4646 a c a f 96 c 0 79716 c 20 a 3 a 87 d 0 982 d b f 199 d 5356955 d 25 f 219 f 3509 c 29 f 3216 f 92 c a b 99 d 11 f b c 463443 b b a b b 6 f 1 f 4 b f d 91 a 1 b 0 b 635096 c 2 d f c a 2 b 639e04797 c 3 a f e 13 b f b e 11585 a 62 f 5 d 37 c 95 f 4655 f 0 e d f d 0 0 1836 a 359558 f 9 c d 4453734960 d 0 e d d 57065 d 0 267 b 565 a 7e65 e 8 b 91 d b 93428 c c 222 c 0 2 f 3 b 8 a e 7608 b 10 f 50 d 985792 f 0 4799384 f 0 c b a 9 d f 552 d 361 b 57753 c 8e07 f 5437 f d 2 b b 75905 b c 8 b 106 b c 432 e e f 61 a 330 f a 5 a d b a b a 0 0 1 b f 9 a 6 f e 2 c 928343601208e550 a 97 f 4e5077 f d 3 b e e 70 f 99 c a 4 a 7 d 5e658 b 5 c 8 d 7879e44 f e 3 d 7 f 8904351962 c c c 6 f 3 c 549894256 d 7 d 1 d d 2989 a f 80 f f 406535157 f b 4784 b 5 d 1408607854037 d d c 49663 c 564 e f 1 d 0 742 f 964e8 b 4402892e665 d 35 c b 4 c c 49 d 3 f 2 c 47 d e 5 b a 281 f e f a 933 c c 33 d f 1581 c 243713 f 7 e f b 4 c 6 b 6 d 25 d e 1050 e c 3 f 7 a 617 b d 1 d 24 d 539393 f 3 d 7 b 983999451 d 8 a d 7534 f 4945 c c e 0 b 3 c b 9 e a 6531 b 584818 a a 0 d 7 d c a e 300259e7614 e 124 d c 3 c d 3 f 19670762e0 e 4e1 e 5 b 198 d 92482 d a f 478 c b d 2e1863 c 7 b 284 a 9e162 e 25406 d 64858 b a c 46 d b 3e69 d 37 b 3 d c c 74098 e b 37555 a d 76 c 6 f 0 e c f c 1 c 1 d d 121127 a 2 b 676 b 562 a 2 e d 58 d 1 f 6 c 33 b d 86455e5782 e c b 74 d 4253 e d f 9 b 3 f 87 f 2 e a 0 d 65 a f b 0 5e12 c 62 c 27 d 97 c 7 a 93 c 34 c 8 b 55 c 61 c 2e7 e b 20e73 c d 9460 d 0 d 73 f 13 f 396 b 6 a 0 0 978473930 c d 881110 a f 382023e753 c 4952012 f a 72382149996882 a d e 8e9 b b 4229 d a 207 c 0 3 a 74 d a 9 f f 189 e f d 90 d c c 4 c 10 c 5486769 d 3 e d f 62 c e 2 b b a b e a d 70 e f 257 a 60883104 f 20 f d 190 b 6 f 7 a d 43 b 6 c 1 f c 0 6 a 4171283 f f 13e1 e
"extension_data" : " a 30078194361727461732064656 c 207669616 a 652061204 c 6973626 f 61017853646 b 315 f 65794 a 325 a 584 a 7 a 61573975496 a 6 f 784 c 434 a 755 a 58523362334 a 72496 a 6 f 695 a 4746305 a 57746 c 65584 d 3663585670593274755 a 585136646 a 45694 c 434 a 79623356755 a 4349364 d 5441774 d 4830025911636167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20746 c 6 f 636 b 203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310 a 675554654 c 596368513257484 d 4e3176395164305576556 f 673745353234782 f 4678305374524765596349486241322 b 3066396 b 647070676 a 625941314e59700 a 443957316138463756334 d 31526954504172426 c 52522 b 6e673475586538425 a 4645622 f 6 d 695548675135334 d 65505 a 75684658624 a 647041493952334144470 a 71415 a 68453230742 b 596947514431346 a 31616 d 62305331356 a 384 d 576542557178676e70782 f 343439730 a 2 d 2 d 2 d 203366676 d 535 a 5559774 a 384170592 b 37464 f 65675550766 b 336 a 796e6 a 4 d 6 c 54367564386 d 6 d 55544 d 76510 a a 47876 e a 0 66 a b 55 d e 23 c e 2e1871 d 26596 c 0 41 b 696929 f 77032 f f c 321 c 8 d 447 c 5 a b 5 a 67 d 30 a d 9871 c 0 5 f a b 24 a 3e457 a 6 c 22506 a 413 c 682653e7 e 0 0 c c 9e73822 c 7 f 8 c 4 c 0 57920484942781e9 e b 40 c e 6 f b 8 c 2 b c 124 a 8 e c c 3190 a c f d 63 d 3 c 493 c e 3842 d e 6341880 f 0 836619 b 6e985 b 0 7 c 3 a 20605 c f e d b 16 c 74 f b c 8 f 23 a 2 f f c e 2 a e e 119 c b 3 f 8 c d a 6 c 5180 b 45 d b 58 c 0 c 0 44 c 8 c 91493724717 f 2 a e 632 a 53e68514 a f 36676937 c 8 c 16 d a 95061 d 88 b e 897 d e 59 f 13 c 98 a 910 f 4 f 1 b 73 b 93 c 8 f 1e7 c a 2e7064 e 3185802e432 d 7 a 8 b 63e5 d 430829 c 96 f f d 319862 b 5e9 f 228 b b d 5e93 c d 7 f 25 a 7 b 0 b d 107 e f 4 e d 9 f 858 d 0 0 c 47 c f 11 c f 37 e f f d 8230e0 a 8 c 997 d e 5 b a 4 d a 0e63 f 5024 f 19 a a 0 8 d 581 f b c 0 382 e f 3587 a c 4 e b a 97 f 68 e e 6 a 55 a 385 c 58 f 7e1 b 9721 a 0 371465 e d f c 4 b c 52 b e f f 5e49564 a 62887767 a 1 d 6 d c 0 a 35187923063 f c 35 b a 0 2922267e7 f 2 c 1 f 57451 d 2588192 d 9661 a 3119651 d 2 f 93 f 98 f 549 d d 2 b 7 d e 22 d 5 f a a 4e232 a 517689 d a 919 a e e 831941 d 5 b 9 d 2e9 a 36667 d e 260 b 8e87 a a 7 d a 7277 c c f 5 a 0 0 73e250872 b 8 e b 68 f 4 a e 743e387 f 9 b 8 a a a c e 9 d e 3 c 7e1 d 5 f 0 4 b 2252 c 43 d 0e1 d c e e a d 50860 f f 8 f 2809 c 9e3 c a 6 b 0 92 c 72380225 f 70064 f 4 c 41 f d 4 d f 0 3 e f 5 c 462 d 6 b 689 d b 2850 b 7 f a 80 c 0 20653e8636 f e 202 c 936 f f a 0 47 b 31 a e f 12712 d 2e12 f b 5 c 0 e c 40 f e 63 a 6 d 75132 b 9983 f 4 c 9 d 2 b 7 a 269024 d 2 c 0 6619 f b 288827562 b 7 d 90 b 365 a b 3 a e e 3 d e b 21 c 516e08 c 8 a 26 b e 3948375760 a 83778 c 3 c e a 1 b 437 f 0 1 d 415068 a 236 f 12 b d 15 f 9957e340 d 846770 a 2779 c f 32675842805 b 9 d 6 f e 2 d d e 5599858440 c 15486 c 398 e e 66e3 a 772 f c 40 e c 9011204 d 4 c d c 4 b 78 c f 545 c 1267 d 30e383951044 c a 803 d f 3 f 57 c 40 a 73 a 64 b 86 c d d 7 a a 97 d 4352404163 f 378 a c 452 b 1 e e d f c b 0 69 f f b 1 b d 24 a 4 d f d 7 d c 547 d b 281899e16 e 9 b f 2193 d d 27 f d 34734 d d 22 c 35 d c 0 9 f 906 d 4 e a c 18485 a 88 d 0 0 240 d 51 f 957 f c 2417 d b 195 d c 1191 d 1177 c 15 f 80 d 5 b 0e1446 d c 0 a 26787569 e c 86552 d 5 f 1424 b 1 c 4 d 35163 f 0 b 3 c 81 d 7 c 1345e5 a 2 f f a 547e3 b 4911 f 81 d 597 b 91 f 5 d f 9 a 14 b d 57375 e e 4e1 a 40696 c 232 f d 0 0 16 a 2 f c 3690 a 34045 d 7 c 0 f b 5748942 c a 36 f d e 3 a f e 9e89148 f 36 c b 797119 e a 58 a 9367e4 f b 32044 f 78 a d c 7 b d b 961 b c 60461218 a b 44 e c a b f d 9 d 9 d 78 e c a 14 d f 71667 b 7 f f 845e9 d d 0 22 a 970861 e d 32 b 4 d c 4 a 8 f 4 c 9 a 20755 d 2 b 0 b b 553e45693 f 39 a d 6 c b 4491 d 9 f c 56 f 3 d b 7 c 0 0 3 d 75245 c e 4e4 a d 4810 e b 81 c c e 81 f 6 c 7 e b 684 a 2 b 58 f 59 f e 6 b f 30 c 41965e61 c 9971 b 61 c 6 b 80305104891 d e 4653e6 f a 12168969 f 7111e77 c 696 d e f 7708415 e d 1 b 94 b 9 f b c 0 69 c f c 600 a 246e154 d 79 c 49325 b b f a 6 e b 88e2 a 4 c f f 6 f 511 c 65 b c 57 b 650 d f 6 b 29 f c 917 e d d f 55501975633e589 e c 7 a 5 d b 6 d a 30 c 6 d 851945830 d e a 4 d 94236681 a 2 e e 41 d d 9989 f 34 f f 59 b 3 c 4 b 668482812 c 21 f e 921 d b 22 c f 55644 d 25 c f e 1 c 10 d 866 d 1 d 7489 d 292908e4 e a f 0 794 a 4403 d 16 b 92 c 601 f 281 f d a 96149 d 99 d 4 a 673 a f b b 944 b 0 d 541 c 17 c 9831 c e a 0 d e 0 599 d 0 54 f 48265e16 c e 502 a 40750 f 61 f 7487 f d d 466 c 813 f f 64 a 21 d f 82 d e 2 a 3452 d 939 b e 970 c 43 d 9 a 10e3 e 62601 d 5617135e22 b 37 a 56 c 6 f 25102 e a b 0 15 f 0 34 d 0 0 a c 8529803e8 a 0 3 a 9723694 f 25 b 8 c 0 8 f d 415882 c b 85 b e 6e8 d 8 a 4646 a c a f 96 c 0 79716 c 20 a 3 a 87 d 0 982 d b f 199 d 5356955 d 25 f 219 f 3509 c 29 f 3216 f 92 c a b 99 d 11 f b c 463443 b b a b b 6 f 1 f 4 b f d 91 a 1 b 0 b 635096 c 2 d f c a 2 b 639e04797 c 3 a f e 13 b f b e 11585 a 62 f 5 d 37 c 95 f 4655 f 0 e d f d 0 0 1836 a 359558 f 9 c d 4453734960 d 0 e d d 57065 d 0 267 b 565 a 7e65 e 8 b 91 d b 93428 c c 222 c 0 2 f 3 b 8 a e 7608 b 10 f 50 d 985792 f 0 4799384 f 0 c b a 9 d f 552 d 361 b 57753 c 8e07 f 5437 f d 2 b b 75905 b c 8 b 106 b c 432 e e f 61 a 330 f a 5 a d b a b a 0 0 1 b f 9 a 6 f e 2 c 928343601208e550 a 97 f 4e5077 f d 3 b e e 70 f 99 c a 4 a 7 d 5e658 b 5 c 8 d 7879e44 f e 3 d 7 f 8904351962 c c c 6 f 3 c 549894256 d 7 d 1 d d 2989 a f 80 f f 406535157 f b 4784 b 5 d 1408607854037 d d c 49663 c 564 e f 1 d 0 742 f 964e8 b 4402892e665 d 35 c b 4 c c 49 d 3 f 2 c 47 d e 5 b a 281 f e f a 933 c c 33 d f 1581 c 243713 f 7 e f b 4 c 6 b 6 d 25 d e 1050 e c 3 f 7 a 617 b d 1 d 24 d 539393 f 3 d 7 b 983999451 d 8 a d 7534 f 4945 c c e 0 b 3 c b 9 e a 6531 b 584818 a a 0 d 7 d c a e 300259e7614 e 124 d c 3 c d 3 f 19670762e0 e 4e1 e 5 b 198 d 92482 d a f 478 c b d 2e1863 c 7 b 284 a 9e162 e 25406 d 64858 b a c 46 d b 3e69 d 37 b 3 d c c 74098 e b 37555 a d 76 c 6 f 0 e c f c 1 c 1 d d 121127 a 2 b 676 b 562 a 2 e d 58 d 1 f 6 c 33 b d 86455e5782 e c b 74 d 4253 e d f 9 b 3 f 87 f 2 e a 0 d 65 a f b 0 5
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
"addresses" : [
{
"uri" : "https://ejemplo.org/foto.jpg" ,
"offset" : 3000 ,
"host" : "ejemplo.org"
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi" ,
"offset" : 0 ,
"host" : "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
] ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"envelope_key" : "b6362a7a13929b89c325eef45f81d0ebe90310d1420e4f914a0ce43a72adda11" ,
"rest_digest" : "0b050aead0b9523900f72fa7168c27c5e37be8e7b8eff5438135432fcd79d606" ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
"rest_size" : 5032 ,
"capsule_digest" : "da2c0d2b02e604e0741faa44d90abebe7dcf83dc376addbca1d46782c89ed9cd" ,
"padding_cases" : [
{
"base" : 100 ,
"total" : 4096
} ,
{
"base" : 3000 ,
"total" : 4096
} ,
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
{
"base" : 3836 ,
"total" : 4096
} ,
{
"base" : 3837 ,
"total" : 8192
} ,
{
"base" : 3838 ,
"total" : 4096
} ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
"base" : 4000 ,
"total" : 4096
} ,
{
"base" : 4060 ,
"total" : 4096
} ,
{
"base" : 4066 ,
"total" : 4096
} ,
{
"base" : 4067 ,
"total" : 4096
} ,
{
"base" : 4068 ,
"total" : 4096
} ,
{
"base" : 4069 ,
"total" : 4096
} ,
{
"base" : 4070 ,
"total" : 8192
} ,
{
"base" : 4071 ,
"total" : 4096
} ,
{
"base" : 4072 ,
"total" : 4096
} ,
{
"base" : 4090 ,
"total" : 4096
} ,
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
{
"base" : 4093 ,
"total" : 4096
} ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
"base" : 4094 ,
"total" : 8192
} ,
{
"base" : 4095 ,
"total" : 8192
} ,
{
"base" : 4096 ,
"total" : 4096
} ,
{
"base" : 4097 ,
"total" : 8192
} ,
{
"base" : 4100 ,
"total" : 8192
} ,
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
{
"base" : 7932 ,
"total" : 8192
} ,
{
"base" : 7933 ,
"total" : 12288
} ,
{
"base" : 7934 ,
"total" : 8192
} ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
"base" : 8160 ,
"total" : 8192
} ,
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
{
"base" : 8165 ,
"total" : 8192
} ,
{
"base" : 8166 ,
"total" : 12288
} ,
{
"base" : 8167 ,
"total" : 8192
} ,
{
"base" : 8189 ,
"total" : 8192
} ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
"base" : 8190 ,
"total" : 12288
} ,
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
{
"base" : 8191 ,
"total" : 12288
} ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
"base" : 8192 ,
"total" : 8192
} ,
{
"base" : 8193 ,
"total" : 12288
} ,
{
"base" : 12000 ,
"total" : 12288
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
} ,
{
"base" : 12287 ,
"total" : 16384
} ,
{
"base" : 12288 ,
"total" : 12288
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
}
] ,
"uri_cases" : [
{
"uri" : "https://ejemplo.org/a.bin" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org:8443/x?y=1" ,
"ok" : true
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi" ,
"ok" : true
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/ruta" ,
"ok" : true
} ,
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
{
"uri" : "https://xn--pple-43d.com/" ,
"ok" : true
} ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
{
"uri" : "" ,
"ok" : false
} ,
{
"uri" : "http://ejemplo.org/a" ,
"ok" : false
} ,
{
"uri" : "file:///etc/passwd" ,
"ok" : false
} ,
{
"uri" : "ftp://x/y" ,
"ok" : false
} ,
{
"uri" : "https://user:pass@ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "https://" ,
"ok" : false
} ,
{
"uri" : "ipfs://notacid" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/ñ" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a b" ,
"ok" : false
} ,
{
"uri" : "https://%D0%B0pple.com/x" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org%E2%80%AEtxt.exe/" ,
"ok" : false
} ,
{
"uri" : "https://127.0.0.1/" ,
"ok" : false
} ,
{
"uri" : "https://[::1]/" ,
"ok" : false
} ,
{
"uri" : "https://0x7f000001/" ,
"ok" : false
} ,
{
"uri" : "https://a.com:99999999/" ,
"ok" : false
} ,
{
"uri" : "https://a.com:0/" ,
"ok" : false
} ,
{
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"uri" : "https://ejemplo.org" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/a#parte" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/~ana/(1),x;y=z!$\u0026'*+" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/a%20b" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/%41" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org:65535/" ,
"ok" : true
} ,
{
"uri" : "https://[2606:4700::1111]:8443/a" ,
"ok" : true
} ,
{
"uri" : "https:/ejemplo.org/a" ,
"ok" : false
} ,
{
"uri" : "https:ejemplo.org/a" ,
"ok" : false
} ,
{
"uri" : "//ejemplo.org/a" ,
"ok" : false
} ,
{
"uri" : "ejemplo.org/a" ,
"ok" : false
} ,
{
"uri" : "https://@ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:443@otro.org/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:65536/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:8a/" ,
"ok" : false
} ,
{
"uri" : "https://[2606:4700::1111]x/" ,
"ok" : false
} ,
{
"uri" : "https://[2606:4700::1111/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\"b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\u003cb" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\u003eb" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\\b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a^b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a`b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a{b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a|b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a}b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\u0000b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\tb" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a\nb" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a b" ,
"ok" : false
} ,
{
"uri" : "https://ejémplo.org/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%4" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%zz" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%4g" ,
"ok" : false
} ,
{
"uri" : "https://ejempl%6F.org/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org\\otro.org/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/../a" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a/../b" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/./a" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a/." ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a/.." ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%2e%2e/a" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%2E%2E/a" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/.%2e/a" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/%2e/a" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a/..?b=1" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/a/..#b" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/../../ipns/x" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/%2e%2e/x" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org/..a" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/a.." ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/..." ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/.well-known/a" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/%2e%2ea" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/a//b" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/a?b=/../c" ,
"ok" : true
} ,
{
"uri" : "https://ejemplo.org/a#/../b" ,
"ok" : true
} ,
{
"uri" : "https://0.0.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://0.255.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://1.0.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://10.0.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://10.255.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://9.255.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://11.0.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://100.64.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://100.127.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://100.63.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://100.128.0.0/" ,
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
"ok" : true
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
} ,
{
"uri" : "https://127.0.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://127.255.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://126.255.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://128.0.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://169.254.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://169.254.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://169.253.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://169.255.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://172.16.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://172.31.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://172.15.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://172.32.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://192.0.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://192.0.0.255/" ,
"ok" : false
} ,
{
"uri" : "https://191.255.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://192.0.1.0/" ,
"ok" : true
} ,
{
"uri" : "https://192.0.2.0/" ,
"ok" : false
} ,
{
"uri" : "https://192.0.2.255/" ,
"ok" : false
} ,
{
"uri" : "https://192.0.1.255/" ,
"ok" : true
} ,
{
"uri" : "https://192.0.3.0/" ,
"ok" : true
} ,
{
"uri" : "https://192.88.99.0/" ,
"ok" : false
} ,
{
"uri" : "https://192.88.99.255/" ,
"ok" : false
} ,
{
"uri" : "https://192.88.98.255/" ,
"ok" : true
} ,
{
"uri" : "https://192.88.100.0/" ,
"ok" : true
} ,
{
"uri" : "https://192.168.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://192.168.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://192.167.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://192.169.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://198.18.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://198.19.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://198.17.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://198.20.0.0/" ,
"ok" : true
} ,
{
"uri" : "https://198.51.100.0/" ,
"ok" : false
} ,
{
"uri" : "https://198.51.100.255/" ,
"ok" : false
} ,
{
"uri" : "https://198.51.99.255/" ,
"ok" : true
} ,
{
"uri" : "https://198.51.101.0/" ,
"ok" : true
} ,
{
"uri" : "https://203.0.113.0/" ,
"ok" : false
} ,
{
"uri" : "https://203.0.113.255/" ,
"ok" : false
} ,
{
"uri" : "https://203.0.112.255/" ,
"ok" : true
} ,
{
"uri" : "https://203.0.114.0/" ,
"ok" : true
} ,
{
"uri" : "https://224.0.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://239.255.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://223.255.255.255/" ,
"ok" : true
} ,
{
"uri" : "https://240.0.0.0/" ,
"ok" : false
} ,
{
"uri" : "https://255.255.255.255/" ,
"ok" : false
} ,
{
"uri" : "https://10.1.2.3/" ,
"ok" : false
} ,
{
"uri" : "https://172.20.0.1/" ,
"ok" : false
} ,
{
"uri" : "https://192.168.1.1/" ,
"ok" : false
} ,
{
"uri" : "https://169.254.169.254/" ,
"ok" : false
} ,
{
"uri" : "https://100.100.100.200/" ,
"ok" : false
} ,
{
"uri" : "https://8.8.8.8/" ,
"ok" : true
} ,
{
"uri" : "https://1.1.1.1:8443/a" ,
"ok" : true
} ,
{
"uri" : "https://[::]/" ,
"ok" : false
} ,
{
"uri" : "https://[::ffff:127.0.0.1]/" ,
"ok" : false
} ,
{
"uri" : "https://[::ffff:8.8.8.8]/" ,
"ok" : false
} ,
{
"uri" : "https://[::8.8.8.8]/" ,
"ok" : false
} ,
{
"uri" : "https://[64:ff9b::7f00:1]/" ,
"ok" : false
} ,
{
"uri" : "https://[64:ff9b::808:808]/" ,
"ok" : false
} ,
{
"uri" : "https://[64:ff9b:1::808:808]/" ,
"ok" : false
} ,
{
"uri" : "https://[2002::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[2002:808:808::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[2001::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[2001:0:4136:e378:8000:63bf:3fff:fdd2]/" ,
"ok" : false
} ,
{
"uri" : "https://[2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff]/" ,
"ok" : false
} ,
{
"uri" : "https://[2001:db8::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[2001:db8:ffff:ffff:ffff:ffff:ffff:ffff]/" ,
"ok" : false
} ,
{
"uri" : "https://[3fff::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[3fff:fff:ffff:ffff:ffff:ffff:ffff:ffff]/" ,
"ok" : false
} ,
{
"uri" : "https://[fe80::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[fe80::1%25eth0]/" ,
"ok" : false
} ,
{
"uri" : "https://[fec0::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[fc00::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[fd12:3456::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[ff02::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[100::1]/" ,
"ok" : false
} ,
{
"uri" : "https://[1fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]/" ,
"ok" : false
} ,
{
"uri" : "https://[4000::]/" ,
"ok" : false
} ,
{
"uri" : "https://[1.2.3.4]/" ,
"ok" : false
} ,
{
"uri" : "https://[v1.x]/" ,
"ok" : false
} ,
{
"uri" : "https://[2000::]/" ,
"ok" : true
} ,
{
"uri" : "https://[2001:200::]/" ,
"ok" : true
} ,
{
"uri" : "https://[2001:db7:ffff:ffff:ffff:ffff:ffff:ffff]/" ,
"ok" : true
} ,
{
"uri" : "https://[2001:db9::]/" ,
"ok" : true
} ,
{
"uri" : "https://[2003::1]/" ,
"ok" : true
} ,
{
"uri" : "https://[3ffe::1]/" ,
"ok" : true
} ,
{
"uri" : "https://[3fff:1000::]/" ,
"ok" : true
} ,
{
"uri" : "https://[2606:4700:4700::1111]/" ,
"ok" : true
} ,
{
"uri" : "https://[2a00:1450:4001:830::200e]/" ,
"ok" : true
} ,
{
"uri" : "https://localhost/" ,
"ok" : false
} ,
{
"uri" : "https://foo.localhost/" ,
"ok" : false
} ,
{
"uri" : "https://intranet/" ,
"ok" : false
} ,
{
"uri" : "https://a.local/" ,
"ok" : false
} ,
{
"uri" : "https://router.home.arpa/" ,
"ok" : false
} ,
{
"uri" : "https://home.arpa/" ,
"ok" : false
} ,
{
"uri" : "https://x.internal/" ,
"ok" : false
} ,
{
"uri" : "https://x.invalid/" ,
"ok" : false
} ,
{
"uri" : "https://x.test/" ,
"ok" : false
} ,
{
"uri" : "https://x.example/" ,
"ok" : false
} ,
{
"uri" : "https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.0x10/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.0xg/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.0x/" ,
"ok" : false
} ,
{
"uri" : "https://2130706433/" ,
"ok" : false
} ,
{
"uri" : "https://127.1/" ,
"ok" : false
} ,
{
"uri" : "https://1.2.3.4.5/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org.1/" ,
"ok" : false
} ,
{
"uri" : "https://a_b.ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "https://localhost.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "https://local.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "https://example.com/" ,
"ok" : true
} ,
{
"uri" : "https://test.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "https://onion.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "https://123.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "https://a-b.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "ipfs://bafkreibq6d3olcwyloabkavyuz437v52i4m7ukb4ijk6p3mcuw3zbzfppu" ,
"ok" : true
} ,
{
"uri" : "ipfs://bafybgqhdkcr2bxdj473pqqb7xxrdxm54xzvzbimdim3v4gmqr3h63nis5awqeeopkxwrptrkne3roojqfyh3dapzcismpzqjgp37exayr3yti" ,
"ok" : true
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/a/b.jpg" ,
"ok" : true
} ,
{
"uri" : "ipfs://b" ,
"ok" : false
} ,
{
"uri" : "ipfs://Qmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ,
"ok" : false
} ,
{
"uri" : "ipfs://BAFYBEIGDYRZT5SFP7UDM7HU76UH7Y26NF3EFUYLQABF3OCLGTQY55FBZDI" ,
"ok" : false
} ,
{
"uri" : "ipfs://babybeibq6d3olcwyloabkavyuz437v52i4m7ukb4ijk6p3mcuw3zbzfppu" ,
"ok" : false
} ,
{
"uri" : "ipfs://bajybeibq6d3olcwyloabkavyuz437v52i4m7ukb4ijk6p3mcuw3zbzfppu" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafkreibq6d3olcwyloabkavyuz437v52i4m7ukb4ijk6p3mcuw3zbzfp" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafkreibq6d3olcwyloabkavyuz437v52i4m7ukb4ijk6p3mcuw3zbzfppuaa" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzd1" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7ud07hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi" ,
"ok" : false
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
} ,
{
"uri" : "https://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.org/" ,
"ok" : true
} ,
{
"uri" : "https://a--b.ejemplo.org/" ,
"ok" : true
} ,
{
"uri" : "https://Ejemplo.ORG:443/" ,
"ok" : true
} ,
{
"uri" : "ipfs://bafkqas7ubxzm6jwiiyrnjxeyzzetrobqiqdqeq3qe4iug6hhwbyniubldbm2glmbw7nkmjd3p6yucda6lnnlexayp3mhiypyxxcz6a2c6nou42uwxkzagcsgeoovsty" ,
"ok" : true
} ,
{
"uri" : "https://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.org/" ,
"ok" : false
} ,
{
"uri" : "https://-a.ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "https://a-.ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org./" ,
"ok" : false
} ,
{
"uri" : "https://a..b.org/" ,
"ok" : false
} ,
{
"uri" : "https://.ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "HTTPS://ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "Https://ejemplo.org/" ,
"ok" : false
} ,
{
"uri" : "IPFS://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.0X10/" ,
"ok" : false
} ,
{
"uri" : "https://nas.LOCAL/" ,
"ok" : false
} ,
{
"uri" : "https://x.Home.Arpa/" ,
"ok" : false
} ,
{
"uri" : "https://foo.LocalHost/" ,
"ok" : false
} ,
{
"uri" : "https://01.2.3.4/" ,
"ok" : false
} ,
{
"uri" : "https://8.8.8.08/" ,
"ok" : false
} ,
{
"uri" : "https://8.8.8.256/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:0443/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:00443/" ,
"ok" : false
} ,
{
"uri" : "https://ejemplo.org:000443/" ,
"ok" : false
} ,
{
"uri" : "https://[2606:4700::1111]:0443/" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdj" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi==" ,
"ok" : false
} ,
{
"uri" : "ipfs://bAFYBEIGDYRZT5SFP7UDM7HU76UH7Y26NF3EFUYLQABF3OCLGTQY55FBZDI" ,
"ok" : false
} ,
{
"uri" : "ipfs://bqeafkeragdypnzmk3bnyaficxcthtp6xxjdrt6rihrbflz7nqks3pehev56q" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafkqaaa" ,
"ok" : false
} ,
{
"uri" : "ipfs://bafkqauhubxzm6jwiiyrnjxeyzzetrobqiqdqeq3qe4iug6hhwbyniubldbm2glmbw7nkmjd3p6yucda6lnnlexayp3mhiypyxxcz6a2c6nou42uwxkzagcsgeoovst5qsekwcva" ,
"ok" : false
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
}
] ,
"mixed" : {
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70083 a 200781 b 687474703 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 706701190 b b 8 a 200782268747470733 a 2 f 2 f 5 b 36343 a 666639623 a 3 a 376630303 a 315 d 2 f 666 f 746 f 2e6 a 706701190 b b 8 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 706701190 b b 8015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590e7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
"locator_sealed" : " 6167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20746 c 6 f 636 b 203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310 a 68304 c 746 a 7836566962526644375674345 a 4e64313143737831366 f 70734 a 5274545257772 f 455135484 b 45357437335175484 d 4765556 f 7169415972492 f 710 a 433836326 c 6 a 75424345586666536 d 73732 f 74316e314 b 5231454e6 e 435 a 63513435613846643777696e4 e 30736 f 594 c 65564e444 f 674361613641746 a 7864370 a 462 b 6 d 6 f 6 c 5 a 2 f 2 b 736239725 a 437970454 c 566 c 6 c 764e7365686 a 6 b 432 f 44374 d 73484e4 b 7541327873630 a 2 d 2 d 2 d 204254664 a 65485378417763642 b 79486 f 37676770416677776 b 596 c 31497 a 46424e4 b 4 a 4 c 666e696 e 3249300 a a 78 d 211e0 a a 72 d 1867 a 29 c b 4 d 0 7 c e d c a 0 3 f d d 8 f 5 f b 0 d 2 c 2857686752 c c 8 a 1 b e 235 d 6502 d 57 d d a 9 f 23 d 1 a a a 172 f 746 f 2742247e9 b 6525 e b c d 49 f 577 f 197 a b a 74 b f 38 c f d 77 f 4 f 3 c e a 2 b d d 6 c 95136090080 d 15 f c 14961 c a a 7 a c c 9e50 f b b e 52e30 a 41294 e f 574e278 d c 84 f f a e 2 c 2 d 18 d d 6247 a 9 b e e 351e1 a 69910 a 46 c a e 3 a 63 e b 4 c f f f 0 8284603 a 6 b c 83 b 41971865 d 9 c 57 d 0 474 d 51 d f a f c d 1 e a e b 23721e1 b d a 514820 d 66e15207 f 6 e e 1 b c 52 c 13 a 5 b 39 f 2237 b a 45 f 7 b 826 f a 15 b e 69473 c 90e6 d 1 b 8 d 0 396426 b 8048072 a 9e5047 f 6 b 5 a d b c c d 11 b 33 e c d 79588537 b 231 f 0 5 c d e c 703 c d e c 4178 b d 0 a 69 f 966150 f 981 b 29 b 63 c b 4 b d 244 f e 0 e c d f 4e8 f e 9 d 223 b 7e996 e 80899 c 376 e d b 1 f 497168e55 f c 0 b 6 d 7 a d f d 76 d 5 c b 128 f 70 b d 8 f f c 710115 a 4 a 297 a d 137 c 6 b b 4515 d 8876 e b 916 c 1 c 1 a c 6 a 41 d 73 b 960588 b e e 76 a 3 c f 202 b 88940491 d c 81 d f c b 9 d 3824822 b 4 b 7 a e 2 f 0 1618 a 5 b 87 f 5 b e f a 3 a 7 a 814e375983 c 4 f b d 3 d c 8421 c d 78813 c f d 780e74 e d 364939 b c a 6 f a d d b 9e0 d d 24443e4 e 976 d f a 8 b 74 d 84 a e 0 b f 7381 c 0e624 a b 2957 a 8 f d 8 a 3 a 3563 a 66194599 e c 621 e d a f a f 965 b 1441257261 b 0 8 a 0 68189 f 97 d b f 70 b 498e7 d 8324 c d 6 d 2 f b 0 18 b 43201 a 3 f a 62 c 4 d 2 f 8 e d 94 a d 3259 b 14602347 d 96246 d c 3452 a e 5491 b 40 c 79492 d f 37 f f b 2 d f 96 a 908421 d 576 f c d 6 d 955821312 f 7 b 86 d 76587 a 48 b 82 d 1 c 381 f e b 772599 c 80 f 871 f 50725 b 4801555056 e b 0 214 b 7903 b f c 0 80 a b 28 a f 32921 d c f 4251e4 a d e a a 65 f 25988 a 79 b 93e8 a 30 f 777373 f 60695 c 0 5 f 447 a e b 82 c 0 b 89 c 0 9 d e 920 b b 72 b 5 d f e b 58 c f 2663 f e 2534939978 c 877 a c b 866954e1 f 3 c b 132 b 5 f 208 e c 685 a 6 f 5310 c 19 f a 53 f 77122 a d 9 c 38 b b b 966507 c b d 14 f 510 d 820 c 671 a 8 c b d 5 c 8967 b f 23 e d c d 2 e b e 3 c 3 e e f 540 f 1 a a 5 c 70461975 b f c 164 c 53 b 655 d 3769 a d c b 6766 b 0 1 a 52 f e 2998372 b 55 f d f 763085 c 62778285 b b 3384 f 9 d 5 d 4 a 13064 d 84444 c 4330e0 f f c d 66 f 2e00 c f c 4943e9 c b 4 b 1 a 0 e a 6 a 409 f d 8112e88 a f a d d c 9 d 5 b e 74 a 9685 d 88 a 73 c 2011003 a 7 f 4 a 6 f 4 b f 53514 a d 3 c c d 3 a d 0e5030 f 28 b 8e9 f 83 b 5 d 12 f 9 f 11659 f 899616 c f 2 b 18 a d 459 b 5530504 d b 86 b e 3414 c a 677 f e 83 a a f c c a 6654 f e 0 c 40 a 14 a e 233 d 148367 f 91 d 1 e e 21 c 400 a 3 e c 0 7 a 47 a 750 f 1 e b 77 b 8 a 94 f 194 a 21 c 9 a 340513 c e 6 b 0 773 b b 61 c 4 a d 50 d 367 c 38079 d 917 b e 96217831 f e d 14 e a 1 b 6000 c 80 a 3 c 4 d 16 c 909556 a c 0 d 4 c 16e6 c c 7 c b 6 f 7146 a 358129 a 5836 d f b 2 c 45e304167 d a c 69 a 0e0 b f 497 b c 7 e a 0 b c 347 d c e 789 a 294 b a 17184 d 0 c 584 a 0 231 f 9 e d d 7 d 838066 b 198 a 8 f a 8 c d d b c 0 b f f b 73 d b d 6 b 8 b f 0 f c a e a 47 f d 0 57 c 8 a 7 c 8 d 713 f a c d 5e425 a c 901901756 a f 5 b 7 b 51 c c 733 b e 4971 b a 92 f f d 9687 c 50513 e a 60 a e 695 c 2e7 d 8 a 6344 c f 660538 d 23 b 23 e e 1 c d c 29 a 6 a e 22 b c a 86 e f c b c 36 c 0 7 c d a f 0 26 f a 966 d f 0 53099 f 9 c 280e798 e d e a 7e73 f f 237672 a e a c f 1 b b 0 7969 b 1 d 0 a f 3 c d 0 82 f 8 d 73163773 b 171 a a c 0 32 e e 2 c 5e768 b 1 d f 624 d e e a 21 c 6 d 5 a 6876429 a b 146 c 92909 a 5e6 e 9 f 4 c d 2 a d 544 e d 65 b b f b 19 a 2 a 0 e d 2 d b 6 a 1964 d d 204e64 e c 1 c c 2810813033190 c d b 99212 b 2 c 5194 a 4 a 757 f 66 a 7 b 42 c 2137 b 7856e247317 f 65 f 168e5 c 619 b 29 c 590 a 46 d 2 d f 8 e a c 2884 e e a 0 2 f e 19 c 81 d 9 c 54 c 2 a 0 1 f 810e991 f 0 d 9 d b 7e8 b 731663333 c 57 b c d 8850 f 65144e1 c a f 5e299 d 99409 d f 9372 a 6 b 168026 b 2 d 665e91 e 40e15 f 2 d d b d 800 a 5 a e 0 a 8 d 0 3 a a e 8 d c b 60 f f 27 a a 98e38 f 4 f 2 f 8087 b 50 f 7e664 c b 0 f 44 e c 4 f 0 936672 d 204 f a b d 917 d 0 28718 d 0 0 5566 d 3 f 4 a e e 9 f 15e428 c 2 e e 497 c b 6 d 19 a 69e852 f 9e5478 e 33964188 b 2 f 1752674636e3 c 44e34 d c 8853990 c d 62654091 f 87 a 797 d 5e2 d 8 d 365 d 309 a 3 b e c c 7 f f f 87 c 1 a e 5805 c 7 a 789 f a 9 c a 3 d 817028463 b 4693 b 1477 e f c b 441e53948343 e 7369e62 c 712735 f 35 c 640 f 96533 b 3 e f f 462 f 83 e b 0 f 0 0 b c 46 b 96 b d 36705 c f 80 d 38 c 2 d 8627 e c 540831 d 1446 d 9e1 c 0 b c 10 c 7 f f f 608 d 9 f 4 d 83 f c 935745248 d d 24 f 1934632559578925 d b 80 c 0 0 44877 b d a 2 c 8186e1 e 9492 d f 44 d 19 c a 712 a c d 0 89 c 571 a 1 c 86 b b 54 b 7950325 e b 469482125 f 40 a 4873285 b 60 a 607e638 f e f 373 e d e b 8e20 e a 7 f 0 0 1888 c 80 b 11 f 6 b 2646 d 31785255 d 241551 c 8 c b 78128 d 4797 c 3 f 6 b a 4073906 a c 3 e b 0 40670 f 835 b f c 3297605 b c b b e 5 e a 25 d c c a 0 651e460 b c 5718 e a 67593160e280193 b f 32 a 83 c 80 d 1 b 2 e b c 4 a 7745 f 3 f 0 6 d f 8233905 f a 0 43797 c 82 f 88 f 5 c 249 b e 8 c c 4 e f e f d 2 d c 1e988 b 4567 d 8 a 0 52 f d e 5 d f f 2 c 8231 f 77 f e b 49 a a d 104 e a b e 0 b 517e3 b 49 e b 4 c 4743134 c 96 b 705 e e 45839 d 74 e c f 919 d 8 d 3 c b 1 b 12 c 56 c 0 f 94 b 2 f c f f 9 a 7 c f 7 b a d b 2 d 7 a 977961 b 3 b c 0 c 588093 e e f d 9 d 0 121 a 19 f e 0 3 e b 1 f 689579 a 3e56 c 7 d 42 d 519 a 5 a d a 15 e f c 0 29e253 e a 2 b 77 f 44640 b 68 a 59 c 26788131 c 953 c 684877 d 2 d 5 d 276 b b 2142488 b b 28436 c f f 46449 e c a f c 590 c 5 a 6 b 9 d 2 b b 289
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"addresses" : [
{
"uri" : "http://ejemplo.org/foto.jpg" ,
"offset" : 3000 ,
"usable" : false
} ,
{
"uri" : "https://[64:ff9b::7f00:1]/foto.jpg" ,
"offset" : 3000 ,
"usable" : false
} ,
{
"uri" : "https://ejemplo.org/foto.jpg" ,
"offset" : 3000 ,
"usable" : true
}
]
} ,
"rest_cases" : [
{
"name" : "the rest alone, at an address without an offset" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"resource" : " b e a a 5 a f 44 c 62 f f 37746 b 7 b 2 b d 62 a 8118 f 3 b 953 f 99e8 d 0 d 997e56 a c e c 906 a d 502 c e a 92 a 74 f 4076 b 6338 e f e b b 6 c 8 b 35 e d a 45 c f 8 b 46738 b 0 c 5653593152 d b 8792 a 82e26 f b f 4 c 8 a f 68 d 9 b b 50e10 e 7 a 106659336 f 9 d 81 a 457687 c e a 376 f 3 c 6 f 853 c 6949 d c 4420 b 39 e b 0 4 f 36914e0644 f c 72881974339 b 34813043 b 3 c b 754706 c 5 b 57 b 8 f 8 f 9429 e e f a 4 f 7 c 31545 c 1 f f b f 6 c 2 c f 669 c 0 0 3477 b 6 b e 56e9 f 8419 c 4193 a 78 f d 234 f f 45548 b e d c 26368500830 c 3653 d d d 9 c 41 c 51 e a 625 c b 91 a 1 c a 5 e c 26 d 15e36 d 0 30 b 60 f a 86 b 4e2 f b b 8 b 803 a 0 46100e455 f 0 29 a e c 86026 d a 4 e c 55388447 c f 655096 f d f 5767 f 71369 a 7 a e f 9 a 6444e7 a f c 610 c 3 c c 1 b 500 a 18053 b 9 c e d 43 d 0 84240 b 7 c 8 c b f 48 d 0 b 88 b b d f 4326 a 423274 d 0 b d 59 f 6 f 395 b 0 3 d 321954 f b 1334658 d 19326420 f 746 f 978 f f 8750 a 45 c 40 c 79 d e c d 6 b 49 d e 6 a 16870 c d 4 e c e 79e0520 b 9 f f 691 a e 62 f 33891398 c 0 50 f 2 a 1 d b c 25 d 82 f 8 a 9e68 a 30065 d a a a d 513 f 3305 b 612 a 600 d f 9 f 4707 e c 8 d e c e 4 a 0 0 510 a 50 b 6 b f 5 d a a 74 c a 1 b 8 c 0 6 c 31 f 5 d 42 d 2 c 1 b c e 21721907e97 a 2 a a 0 2 b f 63 c 8e6927236874 a 680 a e 1422216 a 0 8 c 2 e b 9268e22 c 0 c 77 f d 3 a 33 d 7 a 5 c 1 d 8 c 9 c 7 c a e b d f b 483 d 3 d 255 d 4 f a 941071 a b e 78 d d 9 f 5482 b 56 d a e 8 d 0 505 e b e 6 f f a 67 d f d 35 a 580 f 24768 c 25028 b 4 c 0 3e39810 c a 4e08 c a 0 f 0e3 c 0 b c f 24 d 0 1 f 3 b 56 f d 4 a c c 0 b d e a 2514 c f 2 f 563098 d 443 a 6 b 5 f d 3612 b 764 e c f 6 e b 4 c a c d 9 a 0 9 c e e b d d 4 a 7 e e f 8 c 78015 a d a 13734186 d d f 20 b 41 c a 18966 d a 401149408 c 3 b 409922298052532485 d 1415 c 18 a 822 f 593e7 d f b c 20860 d 8 b 8666 d 89 f e 57 c 8273 e d 23e7 e d 8859 f 7 f 0 3206 a 4 a e a 94 f 9 f f a 6 f 89541000 e c 5 b 756 c 4 c c 83882 d 2 a 882e62 a e c 1 c 0 93 a c a 81e4 f 0 a 58 d 9 a 60 f 8 b a d 28767390 f 65 c c e 6 a d b b 20577 f a 36 b 115 f 501289 b e c 521 e c 3 b b c 9 f c 8132 a d 470192 b 5 f a 8 d e a 5136 e b d 6265 c e 3910 a c 5 f 70 f c 17 b f 2778 b 0 106 a b d c 2e0 d b 443 d 47 f c f b 5 f e 81641 d 0 2 d 84 a c b 644213 d 8 a 9 a 34653 a 6 e e 1e65 d 0 38204 f f b a 50e2 e 997 f 49 b 6 f d a e 56925e6 e 9 a 898 d c 0 0 937 b e b a c 65 f 2841333295 b 1 a 75 f d c f b 1 f a 451 c f c f b 0 7 e e 3 b 7309 d 72 c 7 c 82 b a c e b 0 956 d 43757 c 56125e72 e a 64 f 5973 d c 9 f f 8205908 d 2 a 559 e d b 0 c 2 d e c 899e9 b 0 2 b 8 c 3666234037 d 44e5 c 4 d 29 e a 11 b 0 3 d f a 19 b c 8e0 b a 1403 e b e 3 e a 4 f a 61 b 5 d 72 d b 7 f 30 f 4 a 7 d 55 d d d 6 d 57 c e e b 3e1 d 0 5 c f 0 9 c 7781464 a a 16 e c 64 c 52 d 2 e b 60 f 9 c 46 e f f d 83637 c 891925705 e b f 394 a c e 58 a e 2 a 9 f 37 f c f f 31 f 9583 a 3 c 12e3936 b 5259 c b 341 a 6 f 3246 e c 2 a 997 d b 1 c 8e143 d 64 e d 44252 b 77 d d 79 e b f d 628633 d 5 c e 0 f 76 b 99 b a 37 b 5809 b 1240199 b 54 d c b d 7207 c b 88e4 d 8 d f c b 4 d 5 b a b a c 1e99545 d 0 1 c 3104 c 8 d 775 c 1 e e 2 c 19468 a 6 a c 89674 a 0 4895 f f 9 e f e e d 51 c 720317e97 b 11 b 7 a a e 96 b 6 e c 8 e c 7 b f 62 b 57 f d e d a 696 f 665 c 8 a 0 6 a f 212e28 a 8 f e 73 b e a 90 d 0 42e71911 a 8215 b f 4 a f e 41e459 e 9 d f 836382e291 f e 922 a 0 a d 54 b 4873 d 356e09 c 786 d 3255e285 c 4654 b 4 d 6 a 0 a 590 c 4 d 0 0 0 a 65 c 917 a c c 47 e a 25 d 7 a f f 3 a 67 c 3519 b a 19 d 8 c 95 d b b 5 b d 16 a d e 9e7266 d 80 b 3 c 86 c 5 b b 98 d 601 c 37 c c a e 7 a f c c 5 a 21 c 337 f 7893 c 36 a 24e2 c 5 d 0 9265082 a b e b 9919 f 57 f b 0 37322100 f b d 6095 d b a a 16 a f d 250 e a 2 f 70 a b f d 9088 d 825 f 0 0 18 d 99 a 43883089 b c e 1 a 93 a 0 8100441 f 9 f b 0 7 e f a b d a 6732 e e d 9 d e 552e96 b 48 e d f 5 b e 9 d 0 69536 f a 79024 b d 92 b 20 b f 428 c 0 58275 f 1 d 6579 b 5926 a 5 b f f 52 d 4148 c 590 f c c 7 d 65 f 202 a 5828 b f d 287124465207e321409810 f c 3926584990996 e a c 2 c 2 c e 5366843729 a 90 d 4 f a 52 b c f a 0 e b b 892 c 88 f a d e c 80698e94 c 60 a 73 d b 4 c e d 32 d 1182 d b e d b 31 f 9 b 3114 d 58 b 896 a e b 208 d 0 4 f 838 c f b e a 1 b f 64 b 65097 b d 3459119e9 e 79068 b 83 f 42 f 5 f a 42 f b d e c 52048572 c 9 b 5349424295828 b 642 f 2968 d f 903 f 67 a c 368 c 943 d 66 c 0 c e a 0 3 e b a b 0 5874 c 0 d e 796042 c 37 a 17 c 48 c b 410e8 f d 1391 e e 3 d 38 c 1150 b 41 e a f d 1 d 257 d 24 d 9e85 c e 85 b c 67834 a 1 d 528 d b 936499667563 f f 77032 d 9325 b 0 2 d a 0 0 863 d 0 567 b 19225 c b 0 77 a 22 b d 0 0 5 a c 1 e b a a 1 c b c f f c 30 e c c a b f 36195e0 c c 3e0 a d b 10 f 6 b c 7 c 0e730 b 5279 b 3 c f c 7063 f b 7 d 0 f 3761 d 1 a e c d 6 d d a c c b 7343253 c 15 a 9 c f 1968410 b 69 f 558 f d 17 e f 612964 d 4 f 535079425e961 b 0 a 6 f d e 64e45 c 4 c e 9 b 0 9 b 3 c 72 e e 3 b 2 d b d 563042 a 0 d 773441 a 8 f c 37 c 0 1 a d 0 21686 d d 880721e205 f b 52 b f 90 c 6 a 8 a 4742 c d 9565989 d 93 b 65 d b 4 d 51 d 3e2146 d 6 e a 5 c b 79611 b 7784 f e 9 b f c 2 c 168 b d f 9176 b 5e65768 c 8 b 29 f 4694 f 0 d 530 f 36517 c 6 f c c 6 f 8 d 1 a 964 c a 2e3 b 98555e1627 c b 174 c c 0 2 a 7 a 4 c d f 9117 b 6 f d 9 c 291e648 f f 5 a 8 c 12 f 9 a 0 4 b 2 c 4046 f b 5 f c 94 c 8390477059 d 85 a b b 85 f a 3121e6 b 3 d 224 f 6957 a 52e1 c 900 c 4 c 6432608 f 33 f 67 f 6661e006 f f 3 a e 41 a d 0 f 60 d d 969 e c c 58 c d 38 f 56 b 57 b 84 a 0 c 70 d d 48 d a c 2 d d 330 d 8 b 88 f 0 c 755 f 3 e f 7 c f 0 e b 0 c 927 b d b 85 c 9 c b 1 e e 8 b c 0 4234 b 8 d 63 f f 18276 b 36 a e 3 d 22001 d 463 c e c d b 4 b 30 b f d f 36 d 4 d 2150 c b a b 7568 f 9714 c 4 c 699 a 432939 f 62 b 52 a 5 d 5139063 b 2 f 9618423 f 2247 c f 74695 a 1 d 6 b 82650 a b 17 d 4456 d 1 c c 57 f 766 a 0 17 c 2630 d f a 390 c b 60518 e c 678 c b 56 f 775996 e a b 88e162671 d 0 428 a c b 6 d 0 9 f 47 b c 826135991 d 58 b 1 f a 8 a 0 180e8 e 30 c c 7 d e a 854410 b b 4 f f 5 b 0 1 c f d 5 d a f 81 a 87 d c 27 e c 55 a 0 94867 b 0e953 c 98 b f e 729 a e 9798 f d 70 f 593e43 c 56 a d f 9 b 0 15 b 12905025 d 929289 c 6 a d 0 a 731 c 0 2535 b 0 a 1 c c 5e302 c f 458563 a 4 a 1 b 56 e b 240 e a c 480 c d a 4 d a e 8383e4 d 14e9082 d c 7e930 d b 84088e50 a c 5 f 566 d 768 d 6 f 301 b 24109 e f e 246 c 9 f 81e8912 e a 305 c f 2 a 917 c e 1 a 26e05463 c 0e768 e 59e85 e c d 0 2 b 2 e c e 93701 c 2 b 32 a 3e35221 c b 7e39 c d e a e 5 f e 6e7 f e 26 d 419 a a 818 c 2 a 9 f 74542 c e d f b 1 d 17413 d 73 c 6287e217 b a d f 638 c 0 468 a 7 b 0 f 497e31 f c 0 4 a 75 b d
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"offset" : 0 ,
"opens" : true
} ,
{
"name" : "the host with the rest at its offset and 1000 bytes after it: only rest_size bytes from the offset are read" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"resource" : " d 3 b 9 b 166 a 9 b 2 b 304971 b f 45 a 4e02 d 185 e c c 0 b 1 d 0 920 d 6 b 67914e5651 c 823 a 2 f 6 d c a 4595 c b 1 a 87480253 a 442 b a 86 b d 32 f a 6296 b 5 a 76723 e a d 55 a 8 f 5484 e e c 66 d 3 c a e 15537801 e b 8 b 919370232e1 b c 423 a 6 c 14 e a 1 b 918 c e 4421e103913 e 6e72 b 49 d 6200421 c 6 a 6 a 95 a 0e48 e 0 29 a 691 c a 4137 c e 54e66 c c d 9 a 2 b f 257 d 9 f 24e3 a 57 d 5 a d a 874 b 85 b 3961e0 e a c 4384 c 62366 b d a 9 d 0 a b c d 8 d c 3 b c c 53 f c 63 b d b a 5 a 64 b 4 f 3220 f 4 a 82 a f a c f b d 21259e5 c a a a 17246 a c 90 c 8 f 30 f d 0 46 d d 99 c 7 a 89 c f 1 f 57 a 1 c 299 f 35 d a 6 c 97 c f 3 f 5 b 91 d d a 9230670762 f 366 f 9 f 0 f b 408 d d f 2 d 2 c 285 d d f 89e678 f 8 a 9489 f 88 b 5968 a f 5 c e c 162 b c 1197 d c 183 c d d 11 c 0 4684 d 1 f a 0 6 d 5 f f d 8 d 96986 f e 94 d e d 9 a 4 a 54 d b a 13 e f 82 d a 0 1 f a c 5 b 9 a 2795 a 738 f 966242849 a 81 f d 47 a 9 d f 1 d b e d 7781 f d 1171194282539 f c 9877 a 6 a 36 a 5 a 0 a 0 97 e a e 7003 b 30 a 8778 c 90 a 6e675 c c 961 c 83 a e 203 c e f 7 b a 380 b 4 d b f 6 f b 9 a 53 f a a c 2694 b 4486 f 319 f a 4560 c 5 a 4099 d b 0 c 98 b c 0 95 c c 59 d 3 b e b 2 f 2 c 9 c d 14e935674494128 b 2912 b 310 c 437 a 7 b 58e3 c e b f d e e 72 e b 0 c 70428936 c 1 a 0 c 959 f a 2 f f 33 e f d 6559167538 c e 22e9 e 949 c 122330 a 9 d 0 38073 b 6 c f c 7e38 b d d c b 8 b f 91 b 62 e e 79772 c 7886058e2 d 949 c 29327433 c d e b a 1 c 79 a a 951 b 0 49 c 0 908 f 1 d 33e2669 b 93 f 810455 a 921 f 1 c f e 0 a 0 e d 591 d a 7 d 0 0 59 c e 518 b 10 a 111 b a 85814 c 1 b 6 b c 674 d 25443604 c 171626 f 1781 a a f 8 b 9 b b 5 f 11 a b f f b c 2 e c 6 c 3061 c 7e6 d 52 b 7 a 4039 c a 43e341 f 33 a 2 a a d 5 c 2452 f d 1 f 0 2e24 e d e 2 f 4 c 4829 f 8 c 5 a 0 194 a 7 f 67660 e a a d 4 b a 2340976596218662e03 d c a f a d 12 f 67 c 544 b 6 b 35e285 f d 4 b 2 e a 0 2e08702 f f 1 d d e 2058 c 9 f 3 c d 87 a 18939 f a 316327584 b b 82 c 891 a a 44 b 135 e d 843286 d 4 e c c b b a a 3 b 0 32 b 677022328380 c c 246 f e b 9 d d c a e 8789e1 e 0 0e1 f 1 f a 2 c b f 5 d 5 b 704 f 7 a f 8e2 c 3 a 82430 d a d 0 7 f 9 f 472 b 2 a 0 17e6 f 460 c 2 b 326 f 0 90 d 18601 e e c c 9 b 1 b 513 a 6024e3103 b 1e316 d 66 a a 315 b 73974051 a 4415 c d 7 a e 35 f 4128 b 9866638529 c 59 a 2 c 123 b d b b 9 c 5 d a 7 a e b 40618052 c 1 c 2 d 983 c c a 3 a 61e2 c 44e4 c 59 a 2e86 f d 1 a 17395522 e e 77 b a 4e88 f a 9 c 29 b 91e7 b f 569 c 0 6 a 762 a d 0 74 a 852244 f f b 4 f 4 f d 2 d 80 f f 6 c c 6 a 16077 d 8 c e b b 2463 c 95e3 e e d 915 c c e 30 d e c e 6486 e a 72 a 2786 a 25 d e 419 a 8 d c e 67 d 8 b 59 b 92 c d 83609 a f 6 d 45 b 20 f d c b 6 d d 793 a 1 d 5 f 8041 c d 718 a 18 c 145443 a a 67 b 5370 a d 48007 d 0 b 5 f 91 d a a 6e34 b e 851 e f 0 2 b a a 81 a 873 e c 50949 a d 11 d b 4665 c 3e822 e 94 e a f c e 39 c 204 c 4 a 3215958 b f e 90471 f e 509 f 8 f 66 c a a e b 6e3024 b 72 d 4 c 78925e044 a c d 6e069 b 173 c c d d 9409 d e c b 6 b 99 d 0 3 b 889e1959 a 5 f 7e63 c 9e62 e 7 f b 33 b 811e2 c 1 c 59407345030481 e c 0 d 4783 b c e 6 d 7 b c f f b 0 85 d a 831842 a 0 4 c f a 871850 f 61 f f c 0 f a b b c 0 b 40 c f a c 70 c 5 b 6203 d c 0 9e7 e 5 c c 1e6 b 2 a 628e22 d b 3444 c 57 e d b c 0 0 d 413 b 53075 e f 2 a 73908 d c d 92 d 9240e3163 b b d 7 c 1 e a 40 a 0 84570 b 9968 e f 9 d 961e9 c 3 c 7 b 6e18 c 4435059750 b 987148911 a b 80e02938 f 3 d 64829e91 d 8 e c 8 f 4 b d e b 141108 a 877 e b a 448738 f 656 f e 6 c 6 b 14 f 37 b c 4218678 c 2 b 40 d 229 b 4 c 4 c 2 a e 44 b 8 d 514 f 73 d a a 3398 a c 6000 b e 2583 a f 541 b c 4529 d 161 d 6706 d a 9 d 1 f 0 d 349 b c f b 4 f f 89 b 55 a 509363 c 54 a 95635 c 6 f f 94e9 c 7091 f a a 96 e e b 891 a 8 e f a d d 54 b 2e235219088 e 0e1 e e b 55e3917 e a 312102 a 74 b a a f d 2124 d 5e3 a 2 d a b 587 f b d 0 d 9e2167526 e b c 800 d 49 f f a 0 5 b f f 6 f f 5677226 d 85 e b 4 d 1 f 21279806 b 3 d 254e277 e b 322e16514 f 2528 b 48 f 1 b 5 d 6 d 7 d a 4 c 3 f b e b a 0 377238 b b 6 c 7 b b 12 e d 444 c 94 d f 49879 d e 1 c 2 f 2 b 13 b a 0 8578 b 81e3 d 0 8 d 92 f 2 a 772 b 0 2 e b 2259 a 307e7 d 97757 f 22 c 0 79 d b 4 b 32e06 e 71 d f 15 b 0 502 d e 748580 f 68 c a 7e89 f 6 e c a 6955e6 a e 73554614396e9386073 e a c 4 d d d a 9 a 4 d c 6 b 9 c 0 7 f 2 a 597 a b c 3 a 3 f 5 d 9 c 480 d 0 774548 b f a 1 d 21 b 51 b 3 b 7 b 82e4938375 c 879 b b 2 e e b a 0 2 d b 7 d 0 27 e b d d 9 f 411 a c 0 12023 b 320 d a 8 b d 69 f 601 d 0 c 7649696e2 e c 8 d 77 f 6449 e d 50 c e 0 3 c 2e09970 f 71 b 88193 d 0 2 b f 0 66 b 9737929928 f 208 a 25 d a 5 b 102733e453 b 406e2 b 1 b f 6 b c a 3 a 61 a b 6 b 6617077 d b 9 c a e 417 a 139 d a 15 f b 44039 a f 66e45 c 1 e c 284450e3 f 7869 f 62 d 510727 c 94 a 4e33 e f 75 b e 901 a 2e4 b a e c f 61 f d 65180 c d 9 a b 588 f 62253 f 176 c 6 d 32 e d 48 a b 91e00720 e 761944 c e 735771 f f 83 c 7 d 7 d 6 a e 2 b 6 d 96 d b 8 c 0 8 c 3 b e d 240 c 1 d 7394 a 73635 c c 1 f a 352 c 22 a a d 357 e c 8355 a 969 a b 0 7 c c 0 8 a 99106 e c 0 879e9 a f 70 c a 3 c 4 a f f a 1 b c 2 f b 0 477046 c e b 3 f 7 d b 8407 c d 0 5 d 7 e f 5264842769 b 0 9075 f 6 a c a 28 c 7539 f 754 f 2 a b 43 d 8 a c 966547e199 b 27 d 458 b a a 39 d f 20e32 f 1 c 609 e e e 59291778 c 3 c 6 d 85 d e 8 b 18 d 7 c f 92 f b f d e f e 76 c 1 b b 8 b 612 c 61 b e 39 c 3 c 301 c 8 d 19 a d 5 d e 56e749 e c 44 d d 94773388 d 7 f a 8 b 50 c f 75 b c d b 59 c e 97 c 0 b 87 f 6 f 23949 f 60 c 97 e d 889 b 81731 d 6 a e 155574 c e 2e71521 e 6 c 0 5 f d 994 d d e 4e984340 d e 4 b 71 d 875 c 1e6 f d a d 9 b 46307 c 2 a 350 f b 3 d f 9e03 a 8 d 2 f 596591 c 1681 c a a 54 d d 0 7752519 f 79 a c e d f f 294348 a 920 f f 4 d d 925 f a 8 c 27 c f 0 477 a 4934 d 4201 f 51871 f e f 4378 c c 76 d c f a a 985062 c e 2 a 53 c 0 31896 f f 649 d d 8 a a 69 b 6 f 6 e b 76e70647599 f 424744483837e97 e 6 a 302128200 c 304 b 4 d 7 a 8058495 c d 5434 a f d 3 f 58 e c a 2014 b e 54 c 0 72 c 7041 c 510 a 8e105906 a 90 b a 1898 d 46 a 0 b 0 d 1 f 211 b 5 c 576435e47626 d 9 d e b 4 e b a d 549 a 102990059125474e4 a 7393e35 a b a 91 b 38 d 0 0 c b 44 e e 0 6318 f 64199 c 3506 f c 53 b 209504 b 76 b 73181 a 4 d 2 b 4 d 298e04 f 5764e13 b 3 a 992300 e f b 3 c a f 2794 b 5 a 54637 f 316 a 603 f 0 b 50 a a f 478 b b 3 c e f f 2 a c 3 a 77e309 a 7592 a 498 e b 9577 e b 8 d 7 c c b 989513 f 628 f 478415901 d d 0 2 a 0 72 b d 437257098 c 4 c 9 c c 8e67 c 1837 e f 13 c 38 c 49 f 791261 c 487391463886 c 815 c b 37 f 173176 d 8 b b 41 b 9 c 80 a 215545 f 84 d 28 a
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"offset" : 3000 ,
"opens" : true
} ,
{
"name" : "the rest with a byte changed, as when a host is recompressed: its SHA-256 is not resto_digest" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"resource" : " b e a a 5 a f 44 c 62 f f 37746 b 7 b 2 b d 62 a 8118 f 3 b 953 f 99e8 d 0 d 997e56 a c e c 906 a d 502 c e a 92 a 74 f 4076 b 6338 e f e b b 6 c 8 b 35 e d a 45 c f 8 b 46738 b 0 c 5653593152 d b 8792 a 82e26 f b f 4 c 8 a f 68 d 9 b b 50e10 e 7 a 106659336 f 9 d 81 a 457687 c e a 376 f 3 c 6 f 853 c 6949 d c 4420 b 39 e b 0 4 f 36914e0644 f c 72881974339 b 34813043 b 3 c b 754706 c 5 b 57 b 8 f 8 f 9429 e e f a 4 f 7 c 31545 c 1 f f b f 6 c 2 c f 669 c 0 0 3477 b 6 b e 56e9 f 8419 c 4193 a 78 f d 234 f f 45548 b e d c 26368500830 c 3653 d d d 9 c 41 c 51 e a 625 c b 91 a 1 c a 5 e c 26 d 15e36 d 0 30 b 60 f a 86 b 4e2 f b b 8 b 803 a 0 46100e455 f 0 29 a e c 86026 d a 4 e c 55388447 c f 655096 f d f 5767 f 71369 a 7 a e f 9 a 6444e7 a f c 610 c 3 c c 1 b 500 a 18053 b 9 c e d 43 d 0 84240 b 7 c 8 c b f 48 d 0 b 88 b b d f 4326 a 423274 d 0 b d 59 f 6 f 395 b 0 3 d 321954 f b 1334658 d 19326420 f 746 f 978 f f 8750 a 45 c 40 c 79 d e c d 6 b 49 d e 6 a 16870 c d 4 e c e 79e0520 b 9 f f 691 a e 62 f 33891398 c 0 50 f 2 a 1 d b c 25 d 82 f 8 a 9e68 a 30065 d a a a d 513 f 3305 b 612 a 600 d f 9 f 4707 e c 8 d e c e 4 a 0 0 510 a 50 b 6 b f 5 d a a 74 c a 1 b 8 c 0 6 c 31 f 5 d 42 d 2 c 1 b c e 21721907e97 a 2 a a 0 2 b f 63 c 8e6927236874 a 680 a e 1422216 a 0 8 c 2 e b 9268e22 c 0 c 77 f d 3 a 33 d 7 a 5 c 1 d 8 c 9 c 7 c a e b d f b 483 d 3 d 255 d 4 f a 941071 a b e 78 d d 9 f 5482 b 56 d a e 8 d 0 505 e b e 6 f f a 67 d f d 35 a 580 f 24768 c 25028 b 4 c 0 3e39810 c a 4e08 c a 0 f 0e3 c 0 b c f 24 d 0 1 f 3 b 56 f d 4 a c c 0 b d e a 2514 c f 2 f 563098 d 443 a 6 b 5 f d 3612 b 764 e c f 6 e b 4 c a c d 9 a 0 9 c e e b d d 4 a 7 e e f 8 c 78015 a d a 13734186 d d f 20 b 41 c a 18966 d a 401149408 c 3 b 409922298052532485 d 1415 c 18 a 822 f 593e7 d f b c 20860 d 8 b 8666 d 89 f e 57 c 8273 e d 23e7 e d 8859 f 7 f 0 3206 a 4 a e a 94 f 9 f f a 6 f 89541000 e c 5 b 756 c 4 c c 83882 d 2 a 882e62 a e c 1 c 0 93 a c a 81e4 f 0 a 58 d 9 a 60 f 8 b a d 28767390 f 65 c c e 6 a d b b 20577 f a 36 b 115 f 501289 b e c 521 e c 3 b b c 9 f c 8132 a d 470192 b 5 f a 8 d e a 5136 e b d 6265 c e 3910 a c 5 f 70 f c 17 b f 2778 b 0 106 a b d c 2e0 d b 443 d 47 f c f b 5 f e 81641 d 0 2 d 84 a c b 644213 d 8 a 9 a 34653 a 6 e e 1e65 d 0 38204 f f b a 50e2 e 997 f 49 b 6 f d a e 56925e6 e 9 a 898 d c 0 0 937 b e b a c 65 f 2841333295 b 1 a 75 f d c f b 1 f a 451 c f c f b 0 7 e e 3 b 7309 d 72 c 7 c 82 b a c e b 0 956 d 43757 c 56125e72 e a 64 f 5973 d c 9 f f 8205908 d 2 a 559 e d b 0 c 2 d e c 899e9 b 0 2 b 8 c 3666234037 d 44e5 c 4 d 29 e a 11 b 0 3 d f a 19 b c 8e0 b a 1403 e b e 3 e a 4 f a 61 b 5 d 72 d b 7 f 30 f 4 a 7 d 55 d d d 6 d 57 c e e b 3e1 d 0 5 c f 0 9 c 7781464 a a 16 e c 64 c 52 d 2 e b 60 f 9 c 46 e f f d 83637 c 891925705 e b f 394 a c e 58 a e 2 a 9 f 37 f c f f 31 f 9583 a 3 c 12e3936 b 5259 c b 341 a 6 f 3246 e c 2 a 997 d b 1 c 8e143 d 64 e d 44252 b 77 d d 79 e b f d 628633 d 5 c e 0 f 76 b 99 b a 37 b 5809 b 1240199 b 54 d c b d 7207 c b 88e4 d 8 d f c b 4 d 5 b a b a c 1e99545 d 0 1 c 3104 c 8 d 775 c 1 e e 2 c 19468 a 6 a c 89674 a 0 4895 f f 9 e f e e d 51 c 720317e97 b 11 b 7 a a e 96 b 6 e c 8 e c 7 b f 62 b 57 f d e d a 696 f 665 c 8 a 0 6 a f 212e28 a 8 f e 73 b e a 90 d 0 42e71911 a 8215 b f 4 a f e 41e459 e 9 d f 836382e291 f e 922 a 0 a d 54 b 4873 d 356e09 c 786 d 3255e285 c 4654 b 4 d 6 a 0 a 590 c 4 d 0 0 0 a 65 c 917 a c c 47 e a 25 d 7 a f f 3 a 67 c 3519 b a 19 d 8 c 95 d b b 5 b d 16 a d e 9e7266 d 80 b 3 c 86 c 5 b b 98 d 601 c 37 c c a e 7 a f c c 5 a 21 c 337 f 7893 c 36 a 24e2 c 5 d 0 9265082 a b e b 9919 f 57 f b 0 37322100 f b d 6095 d b a a 16 a f d 250 e a 2 f 70 a b f d 9088 d 825 f 0 0 18 d 99 a 43883089 b c e 1 a 93 a 0 8100441 f 9 f b 0 7 e f a b d a 6732 e e d 9 d e 552e96 b 48 e d f 5 b e 9 d 0 69536 f a 79024 b d 92 b 20 b f 428 c 0 58275 f 1 d 6579 b 5926 a 5 b f f 52 d 4148 c 590 f c c 7 d 65 f 202 a 5828 b f d 287124465207e321409810 f c 3926584990996 e a c 2 c 2 c e 5366843729 a 90 d 4 f a 52 b c f a 0 e b b 892 c 88 f a d e c 80698e94 c 60 a 73 d b 4 c e d 32 d 1182 d b e d b 31 f 9 b 3114 d 58 b 896 a e b 208 d 0 4 f 838 c f b e a 1 b f 64 b 65097 b d 3459119e9 e 79068 b 83 f 42 f 5 f a 42 f b d e c 52048572 c 9 b 5349424295828 b 642 f 2968 d f 903 f 67 a c 368 c 943 d 66 c 0 c e a 0 3 e b a b 0 5874 c 0 d e 796042 c 37 a 17 c 48 c b 410e8 f d 1391 e e 3 d 38 c 1150 b 41 e a f d 1 d 257 d 24 d 9e85 c e 85 b c 67834 a 1 d 528 d b 936499667563 f f 77032 d 9325 b 0 2 d a 0 0 863 d 0 567 b 19225 c b 0 77 a 22 b d 0 0 5 a c 1 e b a a 1 c b c f f c 30 e c c a b f 36195e0 c c 3e0 a d b 10 f 6 b c 7 c 0e730 b 5279 b 3 c f c 7063 f b 7 d 0 f 3761 d 1 a e c d 6 d d a c c b 7343253 c 15 a 9 c f 1968410 b 69 f 558 f d 17 e f 612964 d 4 f 535079425e961 b 0 a 6 f d e 64e45 c 4 c e 9 b 0 9 b 3 c 72 e e 3 b 2 d b d 563042 a 0 d 773441 a 8 f c 37 c 0 1 a d 0 21686 d d 880721e205 f b 52 b f 90 c 6 a 8 a 4742 c d 9565989 d 93 b 65 d b 4 d 51 d 3e2146 d 6 e a 5 c b 79611 b 7784 f e 9 b f c 2 c 168 b d f 9176 b 5e65768 c 8 b 29 f 4694 f 0 d 530 f 36517 c 6 f c c 6 f 8 d 1 a 964 c a 2e3 b 98555e1627 c b 174 c c 0 2 a 7 a 4 c d f 9117 b 6 f d 9 c 291e648 f f 5 a 8 c 12 f 9 a 0 4 b 2 c 4046 f b 5 f c 94 c 8390477059 d 85 a b b 85 f a 3121e6 b 3 d 224 f 6957 a 52e1 c 900 c 4 c 6432608 f 33 f 67 f 6661e006 f f 3 a e 41 a d 0 f 60 d d 969 e c c 58 c d 38 f 56 b 57 b 84 a 0 c 70 d d 48 d a c 2 d d 330 d 8 b 88 f 0 c 755 f 3 e f 7 c f 0 e b 0 c 927 b d b 85 c 9 c b 1 e e 8 b c 0 4234 b 8 d 63 f f 18276 b 36 a e 3 d 22001 d 463 c e c d b 4 b 30 b f d f 36 d 4 d 2150 c b a b 7568 f 9714 c 4 c 699 a 432939 f 62 b 52 a 5 d 5139063 b 2 f 9618423 f 2247 c f 74695 a 1 d 6 b 82650 a b 17 d 4456 d 1 c c 57 f 766 a 0 17 c 2630 d f a 390 c b 60518 e c 678 c b 56 f 775996 e a b 88e162671 d 0 428 a c b 6 d 0 9 f 47 b c 826135991 d 58 b 1 f a 8 a 0 180e8 e 30 c c 7 d e a 854410 b b 4 f f 5 b 0 1 c f d 5 d a f 81 a 87 d c 27 e c 55 a 0 94867 b 0e953 c 98 b f e 729 a e 9798 f d 70 f 593e43 c 56 a d f 9 b 0 15 b 12905025 d 929289 c 6 a d 0 a 731 c 0 2535 b 0 a 1 c c 5e302 c f 458563 a 4 a 1 b 56 e b 240 e a c 480 c d a 4 d a e 8383e4 d 14e9082 d c 7e930 d b 84088e50 a c 5 f 566 d 768 d 6 f 301 b 24109 e f e 246 c 9 f 81e8912 e a 305 c f 2 a 917 c e 1 a 26e05463 c 0e768 e 59e85 e c d 0 2 b 2 e c e 93701 c 2 b 32 a 3e35221 c b 7e39 c d e a e 5 f e 6e7 f e 26 d 419 a a 818 c 2 a 9 f 74542 c e d f b 1 d 17413 d 73 c 6287e217 b a d f 638 c 0 468 a 7 b 0 f 497e31 f c 0 4 a 75 b d
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"offset" : 0 ,
"opens" : false
} ,
{
"name" : "the host at an offset that is not the one of the rest: a byte earlier" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"resource" : " d 3 b 9 b 166 a 9 b 2 b 304971 b f 45 a 4e02 d 185 e c c 0 b 1 d 0 920 d 6 b 67914e5651 c 823 a 2 f 6 d c a 4595 c b 1 a 87480253 a 442 b a 86 b d 32 f a 6296 b 5 a 76723 e a d 55 a 8 f 5484 e e c 66 d 3 c a e 15537801 e b 8 b 919370232e1 b c 423 a 6 c 14 e a 1 b 918 c e 4421e103913 e 6e72 b 49 d 6200421 c 6 a 6 a 95 a 0e48 e 0 29 a 691 c a 4137 c e 54e66 c c d 9 a 2 b f 257 d 9 f 24e3 a 57 d 5 a d a 874 b 85 b 3961e0 e a c 4384 c 62366 b d a 9 d 0 a b c d 8 d c 3 b c c 53 f c 63 b d b a 5 a 64 b 4 f 3220 f 4 a 82 a f a c f b d 21259e5 c a a a 17246 a c 90 c 8 f 30 f d 0 46 d d 99 c 7 a 89 c f 1 f 57 a 1 c 299 f 35 d a 6 c 97 c f 3 f 5 b 91 d d a 9230670762 f 366 f 9 f 0 f b 408 d d f 2 d 2 c 285 d d f 89e678 f 8 a 9489 f 88 b 5968 a f 5 c e c 162 b c 1197 d c 183 c d d 11 c 0 4684 d 1 f a 0 6 d 5 f f d 8 d 96986 f e 94 d e d 9 a 4 a 54 d b a 13 e f 82 d a 0 1 f a c 5 b 9 a 2795 a 738 f 966242849 a 81 f d 47 a 9 d f 1 d b e d 7781 f d 1171194282539 f c 9877 a 6 a 36 a 5 a 0 a 0 97 e a e 7003 b 30 a 8778 c 90 a 6e675 c c 961 c 83 a e 203 c e f 7 b a 380 b 4 d b f 6 f b 9 a 53 f a a c 2694 b 4486 f 319 f a 4560 c 5 a 4099 d b 0 c 98 b c 0 95 c c 59 d 3 b e b 2 f 2 c 9 c d 14e935674494128 b 2912 b 310 c 437 a 7 b 58e3 c e b f d e e 72 e b 0 c 70428936 c 1 a 0 c 959 f a 2 f f 33 e f d 6559167538 c e 22e9 e 949 c 122330 a 9 d 0 38073 b 6 c f c 7e38 b d d c b 8 b f 91 b 62 e e 79772 c 7886058e2 d 949 c 29327433 c d e b a 1 c 79 a a 951 b 0 49 c 0 908 f 1 d 33e2669 b 93 f 810455 a 921 f 1 c f e 0 a 0 e d 591 d a 7 d 0 0 59 c e 518 b 10 a 111 b a 85814 c 1 b 6 b c 674 d 25443604 c 171626 f 1781 a a f 8 b 9 b b 5 f 11 a b f f b c 2 e c 6 c 3061 c 7e6 d 52 b 7 a 4039 c a 43e341 f 33 a 2 a a d 5 c 2452 f d 1 f 0 2e24 e d e 2 f 4 c 4829 f 8 c 5 a 0 194 a 7 f 67660 e a a d 4 b a 2340976596218662e03 d c a f a d 12 f 67 c 544 b 6 b 35e285 f d 4 b 2 e a 0 2e08702 f f 1 d d e 2058 c 9 f 3 c d 87 a 18939 f a 316327584 b b 82 c 891 a a 44 b 135 e d 843286 d 4 e c c b b a a 3 b 0 32 b 677022328380 c c 246 f e b 9 d d c a e 8789e1 e 0 0e1 f 1 f a 2 c b f 5 d 5 b 704 f 7 a f 8e2 c 3 a 82430 d a d 0 7 f 9 f 472 b 2 a 0 17e6 f 460 c 2 b 326 f 0 90 d 18601 e e c c 9 b 1 b 513 a 6024e3103 b 1e316 d 66 a a 315 b 73974051 a 4415 c d 7 a e 35 f 4128 b 9866638529 c 59 a 2 c 123 b d b b 9 c 5 d a 7 a e b 40618052 c 1 c 2 d 983 c c a 3 a 61e2 c 44e4 c 59 a 2e86 f d 1 a 17395522 e e 77 b a 4e88 f a 9 c 29 b 91e7 b f 569 c 0 6 a 762 a d 0 74 a 852244 f f b 4 f 4 f d 2 d 80 f f 6 c c 6 a 16077 d 8 c e b b 2463 c 95e3 e e d 915 c c e 30 d e c e 6486 e a 72 a 2786 a 25 d e 419 a 8 d c e 67 d 8 b 59 b 92 c d 83609 a f 6 d 45 b 20 f d c b 6 d d 793 a 1 d 5 f 8041 c d 718 a 18 c 145443 a a 67 b 5370 a d 48007 d 0 b 5 f 91 d a a 6e34 b e 851 e f 0 2 b a a 81 a 873 e c 50949 a d 11 d b 4665 c 3e822 e 94 e a f c e 39 c 204 c 4 a 3215958 b f e 90471 f e 509 f 8 f 66 c a a e b 6e3024 b 72 d 4 c 78925e044 a c d 6e069 b 173 c c d d 9409 d e c b 6 b 99 d 0 3 b 889e1959 a 5 f 7e63 c 9e62 e 7 f b 33 b 811e2 c 1 c 59407345030481 e c 0 d 4783 b c e 6 d 7 b c f f b 0 85 d a 831842 a 0 4 c f a 871850 f 61 f f c 0 f a b b c 0 b 40 c f a c 70 c 5 b 6203 d c 0 9e7 e 5 c c 1e6 b 2 a 628e22 d b 3444 c 57 e d b c 0 0 d 413 b 53075 e f 2 a 73908 d c d 92 d 9240e3163 b b d 7 c 1 e a 40 a 0 84570 b 9968 e f 9 d 961e9 c 3 c 7 b 6e18 c 4435059750 b 987148911 a b 80e02938 f 3 d 64829e91 d 8 e c 8 f 4 b d e b 141108 a 877 e b a 448738 f 656 f e 6 c 6 b 14 f 37 b c 4218678 c 2 b 40 d 229 b 4 c 4 c 2 a e 44 b 8 d 514 f 73 d a a 3398 a c 6000 b e 2583 a f 541 b c 4529 d 161 d 6706 d a 9 d 1 f 0 d 349 b c f b 4 f f 89 b 55 a 509363 c 54 a 95635 c 6 f f 94e9 c 7091 f a a 96 e e b 891 a 8 e f a d d 54 b 2e235219088 e 0e1 e e b 55e3917 e a 312102 a 74 b a a f d 2124 d 5e3 a 2 d a b 587 f b d 0 d 9e2167526 e b c 800 d 49 f f a 0 5 b f f 6 f f 5677226 d 85 e b 4 d 1 f 21279806 b 3 d 254e277 e b 322e16514 f 2528 b 48 f 1 b 5 d 6 d 7 d a 4 c 3 f b e b a 0 377238 b b 6 c 7 b b 12 e d 444 c 94 d f 49879 d e 1 c 2 f 2 b 13 b a 0 8578 b 81e3 d 0 8 d 92 f 2 a 772 b 0 2 e b 2259 a 307e7 d 97757 f 22 c 0 79 d b 4 b 32e06 e 71 d f 15 b 0 502 d e 748580 f 68 c a 7e89 f 6 e c a 6955e6 a e 73554614396e9386073 e a c 4 d d d a 9 a 4 d c 6 b 9 c 0 7 f 2 a 597 a b c 3 a 3 f 5 d 9 c 480 d 0 774548 b f a 1 d 21 b 51 b 3 b 7 b 82e4938375 c 879 b b 2 e e b a 0 2 d b 7 d 0 27 e b d d 9 f 411 a c 0 12023 b 320 d a 8 b d 69 f 601 d 0 c 7649696e2 e c 8 d 77 f 6449 e d 50 c e 0 3 c 2e09970 f 71 b 88193 d 0 2 b f 0 66 b 9737929928 f 208 a 25 d a 5 b 102733e453 b 406e2 b 1 b f 6 b c a 3 a 61 a b 6 b 6617077 d b 9 c a e 417 a 139 d a 15 f b 44039 a f 66e45 c 1 e c 284450e3 f 7869 f 62 d 510727 c 94 a 4e33 e f 75 b e 901 a 2e4 b a e c f 61 f d 65180 c d 9 a b 588 f 62253 f 176 c 6 d 32 e d 48 a b 91e00720 e 761944 c e 735771 f f 83 c 7 d 7 d 6 a e 2 b 6 d 96 d b 8 c 0 8 c 3 b e d 240 c 1 d 7394 a 73635 c c 1 f a 352 c 22 a a d 357 e c 8355 a 969 a b 0 7 c c 0 8 a 99106 e c 0 879e9 a f 70 c a 3 c 4 a f f a 1 b c 2 f b 0 477046 c e b 3 f 7 d b 8407 c d 0 5 d 7 e f 5264842769 b 0 9075 f 6 a c a 28 c 7539 f 754 f 2 a b 43 d 8 a c 966547e199 b 27 d 458 b a a 39 d f 20e32 f 1 c 609 e e e 59291778 c 3 c 6 d 85 d e 8 b 18 d 7 c f 92 f b f d e f e 76 c 1 b b 8 b 612 c 61 b e 39 c 3 c 301 c 8 d 19 a d 5 d e 56e749 e c 44 d d 94773388 d 7 f a 8 b 50 c f 75 b c d b 59 c e 97 c 0 b 87 f 6 f 23949 f 60 c 97 e d 889 b 81731 d 6 a e 155574 c e 2e71521 e 6 c 0 5 f d 994 d d e 4e984340 d e 4 b 71 d 875 c 1e6 f d a d 9 b 46307 c 2 a 350 f b 3 d f 9e03 a 8 d 2 f 596591 c 1681 c a a 54 d d 0 7752519 f 79 a c e d f f 294348 a 920 f f 4 d d 925 f a 8 c 27 c f 0 477 a 4934 d 4201 f 51871 f e f 4378 c c 76 d c f a a 985062 c e 2 a 53 c 0 31896 f f 649 d d 8 a a 69 b 6 f 6 e b 76e70647599 f 424744483837e97 e 6 a 302128200 c 304 b 4 d 7 a 8058495 c d 5434 a f d 3 f 58 e c a 2014 b e 54 c 0 72 c 7041 c 510 a 8e105906 a 90 b a 1898 d 46 a 0 b 0 d 1 f 211 b 5 c 576435e47626 d 9 d e b 4 e b a d 549 a 102990059125474e4 a 7393e35 a b a 91 b 38 d 0 0 c b 44 e e 0 6318 f 64199 c 3506 f c 53 b 209504 b 76 b 73181 a 4 d 2 b 4 d 298e04 f 5764e13 b 3 a 992300 e f b 3 c a f 2794 b 5 a 54637 f 316 a 603 f 0 b 50 a a f 478 b b 3 c e f f 2 a c 3 a 77e309 a 7592 a 498 e b 9577 e b 8 d 7 c c b 989513 f 628 f 478415901 d d 0 2 a 0 72 b d 437257098 c 4 c 9 c c 8e67 c 1837 e f 13 c 38 c 49 f 791261 c 487391463886 c 815 c b 37 f 173176 d 8 b b 41 b 9 c 80 a 215545 f 84 d 28 a
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"offset" : 2999 ,
"opens" : false
} ,
{
"name" : "the rest cut by a byte" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"resource" : " b e a a 5 a f 44 c 62 f f 37746 b 7 b 2 b d 62 a 8118 f 3 b 953 f 99e8 d 0 d 997e56 a c e c 906 a d 502 c e a 92 a 74 f 4076 b 6338 e f e b b 6 c 8 b 35 e d a 45 c f 8 b 46738 b 0 c 5653593152 d b 8792 a 82e26 f b f 4 c 8 a f 68 d 9 b b 50e10 e 7 a 106659336 f 9 d 81 a 457687 c e a 376 f 3 c 6 f 853 c 6949 d c 4420 b 39 e b 0 4 f 36914e0644 f c 72881974339 b 34813043 b 3 c b 754706 c 5 b 57 b 8 f 8 f 9429 e e f a 4 f 7 c 31545 c 1 f f b f 6 c 2 c f 669 c 0 0 3477 b 6 b e 56e9 f 8419 c 4193 a 78 f d 234 f f 45548 b e d c 26368500830 c 3653 d d d 9 c 41 c 51 e a 625 c b 91 a 1 c a 5 e c 26 d 15e36 d 0 30 b 60 f a 86 b 4e2 f b b 8 b 803 a 0 46100e455 f 0 29 a e c 86026 d a 4 e c 55388447 c f 655096 f d f 5767 f 71369 a 7 a e f 9 a 6444e7 a f c 610 c 3 c c 1 b 500 a 18053 b 9 c e d 43 d 0 84240 b 7 c 8 c b f 48 d 0 b 88 b b d f 4326 a 423274 d 0 b d 59 f 6 f 395 b 0 3 d 321954 f b 1334658 d 19326420 f 746 f 978 f f 8750 a 45 c 40 c 79 d e c d 6 b 49 d e 6 a 16870 c d 4 e c e 79e0520 b 9 f f 691 a e 62 f 33891398 c 0 50 f 2 a 1 d b c 25 d 82 f 8 a 9e68 a 30065 d a a a d 513 f 3305 b 612 a 600 d f 9 f 4707 e c 8 d e c e 4 a 0 0 510 a 50 b 6 b f 5 d a a 74 c a 1 b 8 c 0 6 c 31 f 5 d 42 d 2 c 1 b c e 21721907e97 a 2 a a 0 2 b f 63 c 8e6927236874 a 680 a e 1422216 a 0 8 c 2 e b 9268e22 c 0 c 77 f d 3 a 33 d 7 a 5 c 1 d 8 c 9 c 7 c a e b d f b 483 d 3 d 255 d 4 f a 941071 a b e 78 d d 9 f 5482 b 56 d a e 8 d 0 505 e b e 6 f f a 67 d f d 35 a 580 f 24768 c 25028 b 4 c 0 3e39810 c a 4e08 c a 0 f 0e3 c 0 b c f 24 d 0 1 f 3 b 56 f d 4 a c c 0 b d e a 2514 c f 2 f 563098 d 443 a 6 b 5 f d 3612 b 764 e c f 6 e b 4 c a c d 9 a 0 9 c e e b d d 4 a 7 e e f 8 c 78015 a d a 13734186 d d f 20 b 41 c a 18966 d a 401149408 c 3 b 409922298052532485 d 1415 c 18 a 822 f 593e7 d f b c 20860 d 8 b 8666 d 89 f e 57 c 8273 e d 23e7 e d 8859 f 7 f 0 3206 a 4 a e a 94 f 9 f f a 6 f 89541000 e c 5 b 756 c 4 c c 83882 d 2 a 882e62 a e c 1 c 0 93 a c a 81e4 f 0 a 58 d 9 a 60 f 8 b a d 28767390 f 65 c c e 6 a d b b 20577 f a 36 b 115 f 501289 b e c 521 e c 3 b b c 9 f c 8132 a d 470192 b 5 f a 8 d e a 5136 e b d 6265 c e 3910 a c 5 f 70 f c 17 b f 2778 b 0 106 a b d c 2e0 d b 443 d 47 f c f b 5 f e 81641 d 0 2 d 84 a c b 644213 d 8 a 9 a 34653 a 6 e e 1e65 d 0 38204 f f b a 50e2 e 997 f 49 b 6 f d a e 56925e6 e 9 a 898 d c 0 0 937 b e b a c 65 f 2841333295 b 1 a 75 f d c f b 1 f a 451 c f c f b 0 7 e e 3 b 7309 d 72 c 7 c 82 b a c e b 0 956 d 43757 c 56125e72 e a 64 f 5973 d c 9 f f 8205908 d 2 a 559 e d b 0 c 2 d e c 899e9 b 0 2 b 8 c 3666234037 d 44e5 c 4 d 29 e a 11 b 0 3 d f a 19 b c 8e0 b a 1403 e b e 3 e a 4 f a 61 b 5 d 72 d b 7 f 30 f 4 a 7 d 55 d d d 6 d 57 c e e b 3e1 d 0 5 c f 0 9 c 7781464 a a 16 e c 64 c 52 d 2 e b 60 f 9 c 46 e f f d 83637 c 891925705 e b f 394 a c e 58 a e 2 a 9 f 37 f c f f 31 f 9583 a 3 c 12e3936 b 5259 c b 341 a 6 f 3246 e c 2 a 997 d b 1 c 8e143 d 64 e d 44252 b 77 d d 79 e b f d 628633 d 5 c e 0 f 76 b 99 b a 37 b 5809 b 1240199 b 54 d c b d 7207 c b 88e4 d 8 d f c b 4 d 5 b a b a c 1e99545 d 0 1 c 3104 c 8 d 775 c 1 e e 2 c 19468 a 6 a c 89674 a 0 4895 f f 9 e f e e d 51 c 720317e97 b 11 b 7 a a e 96 b 6 e c 8 e c 7 b f 62 b 57 f d e d a 696 f 665 c 8 a 0 6 a f 212e28 a 8 f e 73 b e a 90 d 0 42e71911 a 8215 b f 4 a f e 41e459 e 9 d f 836382e291 f e 922 a 0 a d 54 b 4873 d 356e09 c 786 d 3255e285 c 4654 b 4 d 6 a 0 a 590 c 4 d 0 0 0 a 65 c 917 a c c 47 e a 25 d 7 a f f 3 a 67 c 3519 b a 19 d 8 c 95 d b b 5 b d 16 a d e 9e7266 d 80 b 3 c 86 c 5 b b 98 d 601 c 37 c c a e 7 a f c c 5 a 21 c 337 f 7893 c 36 a 24e2 c 5 d 0 9265082 a b e b 9919 f 57 f b 0 37322100 f b d 6095 d b a a 16 a f d 250 e a 2 f 70 a b f d 9088 d 825 f 0 0 18 d 99 a 43883089 b c e 1 a 93 a 0 8100441 f 9 f b 0 7 e f a b d a 6732 e e d 9 d e 552e96 b 48 e d f 5 b e 9 d 0 69536 f a 79024 b d 92 b 20 b f 428 c 0 58275 f 1 d 6579 b 5926 a 5 b f f 52 d 4148 c 590 f c c 7 d 65 f 202 a 5828 b f d 287124465207e321409810 f c 3926584990996 e a c 2 c 2 c e 5366843729 a 90 d 4 f a 52 b c f a 0 e b b 892 c 88 f a d e c 80698e94 c 60 a 73 d b 4 c e d 32 d 1182 d b e d b 31 f 9 b 3114 d 58 b 896 a e b 208 d 0 4 f 838 c f b e a 1 b f 64 b 65097 b d 3459119e9 e 79068 b 83 f 42 f 5 f a 42 f b d e c 52048572 c 9 b 5349424295828 b 642 f 2968 d f 903 f 67 a c 368 c 943 d 66 c 0 c e a 0 3 e b a b 0 5874 c 0 d e 796042 c 37 a 17 c 48 c b 410e8 f d 1391 e e 3 d 38 c 1150 b 41 e a f d 1 d 257 d 24 d 9e85 c e 85 b c 67834 a 1 d 528 d b 936499667563 f f 77032 d 9325 b 0 2 d a 0 0 863 d 0 567 b 19225 c b 0 77 a 22 b d 0 0 5 a c 1 e b a a 1 c b c f f c 30 e c c a b f 36195e0 c c 3e0 a d b 10 f 6 b c 7 c 0e730 b 5279 b 3 c f c 7063 f b 7 d 0 f 3761 d 1 a e c d 6 d d a c c b 7343253 c 15 a 9 c f 1968410 b 69 f 558 f d 17 e f 612964 d 4 f 535079425e961 b 0 a 6 f d e 64e45 c 4 c e 9 b 0 9 b 3 c 72 e e 3 b 2 d b d 563042 a 0 d 773441 a 8 f c 37 c 0 1 a d 0 21686 d d 880721e205 f b 52 b f 90 c 6 a 8 a 4742 c d 9565989 d 93 b 65 d b 4 d 51 d 3e2146 d 6 e a 5 c b 79611 b 7784 f e 9 b f c 2 c 168 b d f 9176 b 5e65768 c 8 b 29 f 4694 f 0 d 530 f 36517 c 6 f c c 6 f 8 d 1 a 964 c a 2e3 b 98555e1627 c b 174 c c 0 2 a 7 a 4 c d f 9117 b 6 f d 9 c 291e648 f f 5 a 8 c 12 f 9 a 0 4 b 2 c 4046 f b 5 f c 94 c 8390477059 d 85 a b b 85 f a 3121e6 b 3 d 224 f 6957 a 52e1 c 900 c 4 c 6432608 f 33 f 67 f 6661e006 f f 3 a e 41 a d 0 f 60 d d 969 e c c 58 c d 38 f 56 b 57 b 84 a 0 c 70 d d 48 d a c 2 d d 330 d 8 b 88 f 0 c 755 f 3 e f 7 c f 0 e b 0 c 927 b d b 85 c 9 c b 1 e e 8 b c 0 4234 b 8 d 63 f f 18276 b 36 a e 3 d 22001 d 463 c e c d b 4 b 30 b f d f 36 d 4 d 2150 c b a b 7568 f 9714 c 4 c 699 a 432939 f 62 b 52 a 5 d 5139063 b 2 f 9618423 f 2247 c f 74695 a 1 d 6 b 82650 a b 17 d 4456 d 1 c c 57 f 766 a 0 17 c 2630 d f a 390 c b 60518 e c 678 c b 56 f 775996 e a b 88e162671 d 0 428 a c b 6 d 0 9 f 47 b c 826135991 d 58 b 1 f a 8 a 0 180e8 e 30 c c 7 d e a 854410 b b 4 f f 5 b 0 1 c f d 5 d a f 81 a 87 d c 27 e c 55 a 0 94867 b 0e953 c 98 b f e 729 a e 9798 f d 70 f 593e43 c 56 a d f 9 b 0 15 b 12905025 d 929289 c 6 a d 0 a 731 c 0 2535 b 0 a 1 c c 5e302 c f 458563 a 4 a 1 b 56 e b 240 e a c 480 c d a 4 d a e 8383e4 d 14e9082 d c 7e930 d b 84088e50 a c 5 f 566 d 768 d 6 f 301 b 24109 e f e 246 c 9 f 81e8912 e a 305 c f 2 a 917 c e 1 a 26e05463 c 0e768 e 59e85 e c d 0 2 b 2 e c e 93701 c 2 b 32 a 3e35221 c b 7e39 c d e a e 5 f e 6e7 f e 26 d 419 a a 818 c 2 a 9 f 74542 c e d f b 1 d 17413 d 73 c 6287e217 b a d f 638 c 0 468 a 7 b 0 f 497e31 f c 0 4 a 75 b d
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"offset" : 0 ,
"opens" : false
}
] ,
"extension_cases" : [
{
"name" : "the note and the date, without a locator" ,
"extension_data" : "a20078194361727461732064656c207669616a652061204c6973626f61017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830" ,
"ok" : true
} ,
{
"name" : "a locator sealed for round 1001, and compact_datekey of round 1000: unusable" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"extension_data" : " a 30078194361727461732064656 c 207669616 a 652061204 c 6973626 f 61017853646 b 315 f 65794 a 325 a 584 a 7 a 61573975496 a 6 f 784 c 434 a 755 a 58523362334 a 72496 a 6 f 695 a 4746305 a 57746 c 65584 d 3663585670593274755 a 585136646 a 45694 c 434 a 79623356755 a 4349364 d 5441774 d 4830025911636167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20746 c 6 f 636 b 203130303120353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310 a 7052582 b 6 c 574 c 3542792 f 4 c 33504 b 564 b 4975374330747072723863595465774474304 b 4 a 3530503548654e31314 e 304e794 b 513247654632373277437853580 a 456 d 4 b 592 f 73494e4 b 7938327 a 574346362 f 317879474 f 683371456 b 44773943526879496 c 3275797 a 78323461442 b 42686 b 69634 b 515 a 7077685 a 4e456645420 a 366 c 692 b 796 c 4 b 7041456e6 d 776357664445463061386145764 c 586 a 596132795956534 c 5741786e6 a 78410 a 2 d 2 d 2 d 2074776773363657764356557 a 4 b 5 a 6 a 4e544 a 6839426243576e736 b 316 b 49645865716752452 f 7669652 b 410 a 326 f b 5 a 1e26474525496 e 9 f f d a 584 c 68058 d 0 0 f 8 a d d 5 f c 7e3852 e 6 f 382662e2 a 36021893 a b a 626 b f 2 c d 3 c 271e3 f f a 99 f 101 e c c 29e202585619122 f 373921 b b c 51359 a 2 a 96 f a 90 b 3 c c b 6 c c b b 6 d d 63e7179 a 1 e e 66 a 955 f 8580 b 11e635 d 9559 b 7 c d c f 68 d 78 d 4 e c e 9 b a c 487 c 8 f a 3243 b d e f f 709125 d 4140 f 90e9082 e 2562 e d 402e45427 b b 88 c e 95 c 6 c 54 c 0 25 b b a 397 f 2 f e 0 6 e f 7571 f 11 b a 1519 b 5037 c 7 d 0 6 f 7 a 56 f d 1 a b e a 60 f 1e79075 d 3 a 94e6936 c e c d 3 d 7 c 8547058 b a c 8553e31858933879636 e e 0 64 f 4 f 522521 b 0 2 c f c f f f 55 f 16 d a 3730 c 0 c 4 d b 6 a b 35 d 9 b 65 b d a 411 b 1e6 b c 3e44 b 1 b 7 e a d b d 966922 c 8231e6 a c 9 f d f 56 d 26 f 197 c 369 e a d b 28971 d 93 c 56e70029579 b e 71 a 72 a a 14534 c 890 f 1 e d a b 5 b 0 9 c d b 7 e b 5 f f b 30 c f c a 521 d e 63064 e b e 5 a f 4884 e a 7 b 9 f 66 a b 7 d 5907696879 b 121 a 88 c 38361 d a 8e633 f a 4 f 148 d 97 d 99 d 339749 a 4 f 7 a 81463 a e 91 b 7 a 8 f 84e434 a 74 c e 264 f 6 c 792 d c 355e73 e 117 b e a c 0 0e4 e 998 f 926 e e 2465 b 7e41 c 12 a f 33 c a 47821 b 67 a e 3 a 245885 d 20 f 8 b 786 f a d 36468 d 30 b 603162 b 756 c c 96 e c 54639998 f 9 c 4267 d 4 c e e e 0 c 7 d 0 36777356 b 882329 c 8 f 937379644 d 1565 b 75100 c e 685019 a 74484 b d b 911 f 80775 d 9 f 6 d e 0 43 f e 5 a 29 c 3 f 406 c d 53553 a 46 e f 401 f 0 71 d f 4 b 8816 d b 741 c 2 c d 18e6 c c 816 d 78 f 892 a b 5543 b 8 a 4 f 754 c f e f a 0 873016 f 7 e a f 723e1 c 0 9 a 53 e d c 7114 f 4320 d 6547 f b 6 c 6e6 a 0 60 a 9608678e20101 b 9 c 78 d 330 b e 703 f a e 0 28 a c 7 e f 3 f e d 0 0 754 d 0 82 d a 79 f 84698 a 1 f 928e75 f 9 d d f 7412024 b c 0 343 f 5 a e c b 69 b d 374 e a 9 c 1508629e003731 c 172175237 d 0 67e245 d a 3 d 81619 a 913306 a b 7 f 8223 d c 14 d e 3426 b 184037 e b 11026 a 347 b 5336 f 959 c b e 63 f 46 c d 990998 a 18 a c 70 d a c e d 965 d 5676 a c c e 37 f d 98 e d a 7 d e e 8e74 f 83 c f 88 f 5 e a 7e1 b e 632 a 9 b 87 a 5886 f 47 d f e e 0 440 e f a a 7 b 53412 a b 45 b 0 60118 f 2 a f 15 d 337566038e04481 a 9559 b 2651633 f 1 a a 693 c 0 0 a 9 a 234457 d 765 f 96 c 819 b b 1 a d e 8 c d a f 0 3 a 95 d 356276 a 203 a 511e5 e e 0 b 5 b e c 94 e f c 34 b f 7e8002 a 278 c f a 4798257e4877 c 0 71 b 9 c 3 b e 7 b a a 347 a d 4 a b 5 c c f d 11 f d 8 b 763 c 1 b 317 d e 9 e b 9 a 831 b 0 0 374 b b 454654442145164 c d 82483 c e 671 a f 84678 f c 8091 b b 7 a f 804e12 a 318349783277 b 829 a 7994 d b 71 f 6 e c 5 d a 64 a 53 c b 6 a 7e5 f e 26666 c 814 c d 3 c 0 7354567 d f 38 c c c 14868e9 c 438 b 648067864 e e c 1 a 17 f 36 a 47 d 7 a f d e 6 c 9 a 9 f 574 f 875202419e4 c d f 83 f f 960 a 4 c 4257 f 0 4 c d 0 a 63 c c 0 9156 e e a c 98 d 6 c 162 c c b 8e5467154 c 2 c 76 f f 6 e e c 1e8 c e e e c 90 c f c c b 3 d 8 a 1 c 1 d 74 b 38 a 638 a 38417 d 7 a 1 a c c 477 e e e 18 b 9 a b d 33 b 8 b 3 b a 566150e5685 c 11 e a 105 a 3 e c 806 a 5 c 5030e71 a 70 c a 5 b b 20284 d 269 b c 493 f e a 6 c 51272 d 31 d 159 c e d c 587 a a 2 e d f d a 135 e b 1434192 b 58 b d 4e16 f 665e3 d 9 e a 16826 c c 5 a c a a d 359 d 8 a 896 d 95 c 26739 e a 30826 b 2 c 0 c f 5952 f f 0 47 e e 4 a b 0 67732 f 50 a d 0 2563 c 3 c 0 7 b b 7221 d 7 d 3 e e 82e1 a 5202 b a 39173177928 f a 269 b a 97e986366 a 6 b f 36 f f 8 c 364e7 a d f b 658 b 0 628e4 a b c 4 f 505 e f 3 e f 3e660 a 7 c 36600e7 b b 5e0 c 75 a 9 a e 42 c e d 6e263 c 6336 d 1098251 d 94592e0575 d 9 b 7 d b e 887 f d 0 2 f d e d d 6 a 3736 d 0 f 346 d 0 f d 8e037917 d 43 d a 908697979 f 8646 f 6 f 4 b 48 a b 1 b 760 c d e 99 c 56019 f e 2 b 2462 b b f 40749 a 65 d 0 d 0 926e4 f 5 c a 9 f c f 1 e b 1777668 c 0 f a 90403 c b d c 99 f 282 a d 89654 d f 3 f 931112 c c c 10066413 c 337 a 55 f 573 f 58428 a c b 0 4 c 38e9 e f e 9 c 35 d 7 f 3e2 c 6 c 2 b c 998 f 2 a 524 d c d 5568554250 e b 87 a f 859 e d 33470e1 c 6561 c b 1 b 500375658 b f e 396021 a c 89 f 0 3 c b 6e97510483 d b c 80329 b 3e0243 d d 51 d 32 d 5 a 38e6 a 945 a 523165 d e 221 c f 6 f a 4 c 1 d 1 e d b f b 52 b 279 c 825827 a 8143 f 6 c 9 c a 2 d 4 a a 55 e e f 5317e3 c e d b e e e a 31 f 6 c 4 f 0 297 e c 3 d 1 e f 61e8 f 0 701 c 25492422 f 59524 c 65 a 7 d 6 f 16 f 761 a 6 f b f 794 e d 5 c 828 a c 8 a 0 5 f c 600876 b 4274 d 68 f c 5545124e5464 b 6 f 213e760 a 4 e a b e 90 f b c 0 16 b 161 b 813 d 7 f c f c e e 612 f 5 d c f a f 0e73720 b 3620 d 866 b 75 f 42 b 5 a 61e04278 a 26 a 11 b a a 98 f e 5 a 4841e168 c 511 f 0 81 b c 1 c e e f 8 b c 2865952 d 9 d 9283140 e b 2 d 3 a 4 f f 0 6 f 0 c 7 b d 0 f 0 8239 a 2 d f 1 d 113465 a 4e22 d 89068 b 46489080 b d 7 c 769 b 19 f 7 b b b 993 d b d 0 d 7761 f 6 c d b 4 e f 27e8 a 14 a d b 2 c 47369 d 9 c 91482032 b 97068 c 53 b 0 487259 e e a 9911 e f 5 a 3496 a 84885 a c f a c a 67 c a 0 44 a 4481 f 459 c 606413 b c 74 c 3674 f b 9 f c 67 b b a 46 d 7 f 6 a 52 b 5 a 38 a 85 d 2 d b 84494e014207 a 888 c f c 90 b 4 e c e 21 f 90 c 674 d d e 271 b f f f a d 33 a a d 19208 c 11 d 11 f f 3 a a f f 79 a 826729 a b 86 b 50
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "a locator that is not an age file" ,
"extension_data" : "a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830024b616e206167652066696c65" ,
"ok" : false
} ,
{
"name" : "an empty locator" ,
"extension_data" : "a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300240" ,
"ok" : false
} ,
{
"name" : "no compact_datekey" ,
"extension_data" : "a10078194361727461732064656c207669616a652061204c6973626f61" ,
"ok" : false
} ,
{
"name" : "compact_datekey with the members of its JSON in another order: not its canonical form" ,
"extension_data" : "a1017853646b315f65794a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d437769646d567963326c76626949364d5830" ,
"ok" : false
} ,
{
"name" : "a note with a tab, which the rules of the public note forbid" ,
"extension_data" : "a200704361727461730964656c207669616a65017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830" ,
"ok" : false
} ,
{
"name" : "a key 3, which 44.1 does not define" ,
"extension_data" : "a2017853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830034100" ,
"ok" : false
}
] ,
"plaintext_cases" : [
{
"name" : "a base of 4094 bytes, which key 6 completes to 8192" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70084 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : true
} ,
{
"name" : "a base of 4094 bytes completed to 4096 with an empty key 6, 06 40: key 6 has at least one byte" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70084 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "a base of 4070 bytes completed to 4096 with a key 6 of 23 bytes whose length takes two bytes, 58 17: not its shortest form" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70084 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "a base of 3837 bytes completed to 4096 with a key 6 of 255 bytes whose length takes three bytes, 59 00 ff: not its shortest form" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70084 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 a 1007903e868747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "eight addresses, the most" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70088 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 312e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 322e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 332e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 342e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 352e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 362e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 372e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 382e6 a 7067015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 d f 900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : true
} ,
{
"name" : "no address" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70080015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 e e 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "nine addresses" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70089 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 312e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 322e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 332e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 342e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 352e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 362e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 372e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 382e6 a 7067 a 100781968747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 392e6 a 7067015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 d d c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "an empty address" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70081 a 10060015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 e d e 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "an address of 1025 bytes: the locator does not read, not only the address" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70081 a 10079040168747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 a d b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "an offset of 0 written: an offset of 0 is written by leaving it out" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70081 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 70670100015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 e b f 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "an offset of 2^53, not a safe integer" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70081 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 7067011 b 0 0 20000000000000015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 e b 70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "resto_size of 2^53, not a safe integer" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70081 a 100781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 7067015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041 b 0 0 20000000000000055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590 e b b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "8192 bytes where 4096 suffice" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70081 a 100781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 7067015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6591 e c 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "padding that is not zeros" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70082 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 706701190 b b 8 a 1007842697066733 a 2 f 2 f 62616679626569676479727 a 74357366703775646 d 37687537367568377932366e6633656675796 c 71616266336 f 636 c 67747179353566627 a 6469015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590e7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "the plaintext cut by a byte" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70082 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 706701190 b b 8 a 1007842697066733 a 2 f 2 f 62616679626569676479727 a 74357366703775646 d 37687537367568377932366e6633656675796 c 71616266336 f 636 c 67747179353566627 a 6469015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590e7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
} ,
{
"name" : "a byte after the map" ,
Spec v0.12 draft: the rules of an address that the reference applied
The text of 44.1 now says what the reference already refused and a
second implementation that followed the text would have accepted:
segments of 1 to 63 characters that neither start nor end with a hyphen,
the scheme in lower case, 0x and the local names in either case, an IPv4
without leading zeros, and a CID of at most 128 characters in canonical
base32, with minimal varints and a digest of at least one byte. A port is
written without leading zeros: the reference accepted 0443 and 00443 and
refused 000443, the same number, and now refuses the three. Change 6 of
section 76 records it, and section 64 lists the cases.
locator.json is made again with 30 more addresses, 247 in all, and
TestAddresses checks the same rules.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"locator_plaintext" : " a 70082 a 200781 c 68747470733 a 2 f 2 f 656 a 656 d 706 c 6 f 2e6 f 72672 f 666 f 746 f 2e6 a 706701190 b b 8 a 1007842697066733 a 2 f 2 f 62616679626569676479727 a 74357366703775646 d 37687537367568377932366e6633656675796 c 71616266336 f 636 c 67747179353566627 a 6469015820 b 6362 a 7 a 13929 b 89 c 325 e e f 45 f 81 d 0 e b e 90310 d 1420e4 f 914 a 0 c e 43 a 72 a d d a 110258 a 86167652 d 656e6372797074696 f 6e2 e 6 f 72672 f 76310 a 2 d 3e20583235353139204 f 70623755786 c 657736353147415 a 3057674535463158487347496 c 70723579674 a 6 c 74754370707 a 32410 a 434 b 5 a 6767534 a 77746 d 554 c 30583775684 a 7 a 3364776 f 5039714 c 68342 f 723038476 a 3577525944344e550 a 2 d 2 d 2 d 20704 a 385449433667676175374 d 2 b 787267517 a 68776e685947744474526 f 772 f 6442762 b 384e4 a 6 d 62636 b 0 a 0 358200 b 0 50 a e a d 0 b 9523900 f 72 f a 7168 c 27 c 5e37 b e 8e7 b 8 e f f 5438135432 f c d 79 d 606041913 a 8055820 d a 2 c 0 d 2 b 0 2e604 e 0 741 f a a 44 d 90 a b e b e 7 d c f 83 d c 376 a d d b c a 1 d 46782 c 89 e d 9 c d 0 6590e7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Test data: locator.json with the cases of spec v0.12, section 64
- uri_cases: the first and the last address of each IPv4 block of 44.1,
with the public addresses next to them; the IPv6 blocks and the
addresses that hold an IPv4 one; the local names; characters outside
RFC 3986 and broken percent signs; "." and ".." segments; base32 that
is not a CID v1.
- mixed: a locator whose http and NAT64 addresses a reader rejects, and
whose third address it uses to find the rest.
- rest_cases: the rest alone, a host with bytes after the rest, a rest
with a byte changed, an offset that is not its own, a rest cut short.
- extension_cases: a locator sealed for round 1001 with a DateKey of
round 1000, and the other data that a reader cannot use.
- plaintext_cases: change 7, the bases 4094, 4070 and 3837 completed to
4096 with an empty key 6 or a length not in its shortest form, and a
defect in each field of the map.
- padding_cases: the bases 3837, 4070, 4094 and 4095 and those of the
next multiple, checked against the rule of 44.1.
The generator checks every case against this module and moves to its
own file. The vector is frozen: delete it to make it again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 days ago
"ok" : false
Test data for the second implementation: alg 2, the seal and the locator
Fixtures format3_signed_cms (alg 2, two certificates, each sealed, F6) and
format3_sealed (alg 1 and a seal of seal_type 2, F4 and S4), with the
certificates, SIGNERS, the commitments, SEAL_SUBJECT, the token and the
result of each signer in their records. vectors/security_cms.json has 22
frozen areas with their context and verdicts (F1, F2, F5, F6, S1 to S5), and
vectors/locator.json the extension datekeys.capsule with its envelope hidden
in a host, its locator sealed with tlock, the padding at the boundaries and
the rules of the addresses. The README of testdata describes all of it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
6 days ago
}
]
}