From c661de7ccfeb06e284cd752a9c102f21716e842f Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Tue, 9 Nov 2004 22:46:49 +0000 Subject: [PATCH] Add. --- doc/specifications/Description.txt | 226 ++++++++++++++++++++++++++++++ doc/specifications/IDNConnect-testbed.tgz | Bin 0 -> 14163 bytes doc/specifications/IDNConnect.html | 91 ++++++++++++ doc/specifications/JDNA_logo.jpg | Bin 0 -> 3318 bytes doc/specifications/testbed.html | 21 +++ 5 files changed, 338 insertions(+) create mode 100644 doc/specifications/Description.txt create mode 100644 doc/specifications/IDNConnect-testbed.tgz create mode 100644 doc/specifications/IDNConnect.html create mode 100644 doc/specifications/JDNA_logo.jpg create mode 100644 doc/specifications/testbed.html diff --git a/doc/specifications/Description.txt b/doc/specifications/Description.txt new file mode 100644 index 0000000..98eae55 --- /dev/null +++ b/doc/specifications/Description.txt @@ -0,0 +1,226 @@ +1: Simple conversion and display tests + 1-1: Basic lookups + # In the IDNConnect event, we tested IDNs in the TLDs, but these + # tests are just for lower levels + # Each IDN has a single non-ASCII Latin character + 1-1-1 Has one IDN: example.<00ED>dn + 1-1-2 Has two IDNs: <00EB>x.<00ED>dn + # For the tables below, scripts that are used by more than + # one million people are used + 1-2: Latin, non-ASCII + 1-2-1 Latin-1: example.<00E5><00FE><00E7> + 1-2-2 Latin Extended A: example.<0103>b<0109> + 1-2-3 Latin Extended B: example.<0227><0180><0188> + 1-2-4 Latin Extended Additional: example.<1E01><1E03><1E09> + 1-3: Non-Latin simple characters + 1-3-1 Han: example.<4E3F><4EBA><5C38> + 1-3-2 Hiragana: example.<304B><304C><304D> + 1-3-3 Katakana: example.<30AB><30AC><30AD> + 1-3-4 Hangul Jamo: example.<1100><1161><11A8> + 1-3-5 Hangul: example. + 1-3-6 Yi: example. + 1-3-7 Greek: example.<03B1><03B2><03B3> + 1-3-8 Greek Extended: example.<1F02><1F26><1F55> + 1-3-9 Cyrillic: example.<0430><0431><0432> + 1-3-10 Armeian: example.<0561><0562><0563> + 1-3-11 Georgian: example.<10D0><10D1><10D2> + 1-4: Non-alphanumeric + 1-4-1 Symbols: example.<2221><21BA><2282> + 1-5: Scripts with special rendering + 1-5-1 Devanagari: example.<0915><0916><0917> + 1-5-2 Bengali: example.<0995><0996><0997> + 1-5-3 Gurmukhi: example.<0A15><0A16><0A17> + 1-5-4 Gujarati: example.<0A95><0A96><0A97> + 1-5-5 Oriya: example.<0B15><0B16><0B17> + 1-5-6 Tamil: example.<0B95><0B99><0B9A> + 1-5-7 Telugu: example.<0C15><0C16><0C17> + 1-5-8 Kannada: example.<0C95><0C96><0C97> + 1-5-9 Malayalam: example.<0D15><0D16><0D17> + 1-5-10 Sinhala: example.<0D9A><0D9B><0D9C> + 1-5-11 Thai: example.<0E01><0E02><0E03> + 1-5-12 Lao: example.<0E81><0E82><0E84> + 1-5-13 Tibetan: example.<0F40><0F41><0F42> + 1-5-14 Myanmar: example.<1000><1001><1002> + 1-5-15 Khmer: example.<1780><1781><1782> + 1-5-16 Mongolian: example.<1820><1821><1822> + 1-6: Right-to-left scripts + 1-6-1 Arabic: example.<0627><0628><0629> + 1-6-2 Hebrew: example.<05D0><05D1><05D2> + 1-6-3 Syriac: example.<0710><0711><0712> + 1-7: Mixtures of scripts + 1-7-1 ASCII and non-Latin: example.abc<30AB><30AC><30AD> + 1-7-2 Latin (non-ASCII) and non-Latin: example.<00E5><00FE><00E7><30AB><30AC><30AD> + + +2: ToASCII failure tests + # General question for each application: + # what does the program do if ToASCII fails? + 2-1: Step 1 -- All ASCII check + # No failure possible + 2-2: Step 2 -- Nameprep + # See section 4 for these tests + # Fail for things in 4-3 and 4-4 + 2-3: Step 3: Checks if UseSTD3ASCIIRules is in place + # All of these are failures + 2-3-1: Name includes non-LDH ASCII before Nameprep + 2-3-1-1 !: <00ED><0021>dn.example + 2-3-1-2 $: <00ED><0024>dn.example + 2-3-1-3 +: <00ED><002B>dn.example + 2-3-2: Name has leading or trailing hyphen before Nameprep + 2-3-2-1 <002D><00ED>dn.example + 2-3-2-2 <00ED>dn<002D>.example + 2-3-3: Name includes non-LDH ASCII after Nameprep + 2-3-3-1 Gets a +: <00ED>dn.example + 2-3-3-2 Gets a =: <00ED><207C>dn.example + 2-3-4: Name has leading or trailing hyphen after Nameprep + 2-3-4-1 <00ED>dn.example + 2-3-4-2 <00ED>dn.example + 2-4: Step 4 -- All ASCII check + # Started with non-ASCII but changed to all-ASCII in Nameprep + # None of these are failures + 2-4-1 <00B9>1.example + 2-4-2 <2165>vi.example + 2-4-3 <00DF>ss.example + 2-5: Step 5 -- Pre-existing ACE prefix + # All of these are failures + 2-5-1 ACE prefix exits before Nameprep: xn--<00ED>dn.example + 2-5-2 ACE prefix appears after Nameprep: <2179>n--<00ED>dn.example + 2-6: Step 6 -- Encode with Punycode + # No failure possible + 2-7: Step 7 -- Appending ACE prefix + # No failure possible + 2-8: Step 8 -- Size check + # This is a failure + 2-8-1 Zero-length label after Nameprep + # All of these would be failures, but we can't actually test any of them + # in BIND because it won't load the zones + 2-8-2 Post-punycode size is 64: + <00ED>dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn64.example + 2-8-3 Post-punycode size is 65: + <00ED>dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn65.example + 2-8-4 All-ASCII iput size is 64: + idnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn64.example + 2-8-5 All-ASCII input size is 65: + idnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn65.example + 2-9: After ToASCII + # Make sure output has ASCII periods + 2-9-1 U+3002 acts as a label separator: 3002-test<3002><00ED>dn + 2-9-2 U+FF0E acts as a label separator: ff0e-test<00ED>dn + 2-9-3 U+FF61 acts as a label separator: ff61-test<00ED>dn + + +3: ToUnicode failure tests + # Testing is done by creating HTTP redirects + # All failures should return original string + # These tests will be done by returning an HTTP redirect + 3-1: Step 1 -- All ASCII check + # No failure possible + 3-2: Step 2 -- Nameprep + # Make sure they are doing Nameprep mappings + 3-2-1 Sharp S conversion: xn--m<00DF>-jma.example -> m<00EB>ss.example + 3-3: Step 3 -- Check for ACE prefix + # Make sure these don't display as Unicode + 3-3-1 Old prefix: iesg--dn-mja.example + 3-3-2 Old prefix: iesgdn-mja.example + 3-3-3 Old prefix: bq--dn-mja.example + 3-4: Step 4 -- Remove the ACE prefix + # No failure possible + 3-5: Step 5 -- Decode with Punycode + # All of these are failures; should not display as Unicode + 3-5-1 Non-ASCII code point before the last hyphen: xn--d<00F1>-mja.example + 3-5-2 Non-alphanumeric code point after the last hyphen: + xn--dn-mj+.example + 3-5-3 Ends in the middle of an encoded delta value: xn--dn-mj.example + 3-6: Step 6 -- Apply ToASCII + # All of these are failures; should not display as Unicode + 3-6-1 Nameprep -- prohibited character U+E000: xn--e000dn-l704a.example + 3-6-2 If using UseSTD3ASCIIRules, Step 3b -- leading hyphen: xn---dn-rma.example + 3-6-3 If using UseSTD3ASCIIRules, Step 3b -- trailing hyphen: xn--dn--qma.example + 3-6-4 Step 5 -- prefix exists: xn--xn--dn-6va.example + 3-7: Step 7 -- Verify the result of step 6 vs. Step 3 + # All of these are failures. + 3-7-1 Punycode was not necessary (run ToASCII on an ASCII + input but skip step 4 in ToASCII): xn--idn-.example + 3-7-2 String did not go through Nameprep (run ToASCII + with a non-Nameprepped input and skip step 2): xn--dn-vga.example + 3-8: Step 8 -- Return the result from Step 5 + # No failure possible + 3-8-1 Should show the Unicode <00ED>4dn.example: xn--4dn-qma.example + + +4: Nameprep + 4-1: Mapping + 4-1-1: Table B.1 -- Mapped out + 4-1-1-1 00adout<00AD><00ED>dn.example -> 00adout<00ED>dn.example + 4-1-1-2 200dout<200D><00ED>dn.example -> 200dout<00ED>dn.example + 4-1-2: Table B.2 -- Mappings + 4-1-2-1 Simple capitalization: + simplecap<0044><00ED>dn.example -> simplecap<0064><00ED>dn.example + 4-1-2-2 Latin to Greek: + latintogreek<00B5><00ED>dn.example -> latintogreek<03BC><00ED>dn.example + 4-1-2-3 Latin extended: + latinext<00C7><00ED>dn.example -> latinext<00E7><00ED>dn.example + 4-1-2-4 Sharp S: + sharps<00DF><00ED>dn.example -> sharpsss<00ED>dn.example + 4-1-2-5 Turkish dotted i: + turkishi<0130><00ED>dn.example -> turkishi<0069><0307><00ED>dn.example + 4-1-2-6 Expands to two characters: + exptwo<0149><00ED>dn.example -> exptwo<02BC><006E><00ED>dn.example + 4-1-2-7 Additional folding: + addfold<03D2><00ED>dn.example -> addfold<03C5><00ED>dn.example + 4-1-2-8 Expands to three characters: + expthree<1F52><00ED>dn.example -> expthree<03C5><0313><0300><00ED>dn.example + 4-1-2-9 Outside of BMP: + nonbmp<10400><00ED>dn.example -> nonbmp<10428><00ED>dn.example + 4-1-2-10 Outside of BMP to ASCII: + nonbmptoascii<1D400><00ED>dn.example -> nonbmptoasciia<00ED>dn.example + 4-2: Normalizing + 4-2-1: Regular normalizing + 4-2-1-1 Combining: + regcomb<0065><0301><00ED>dn.example -> regcomb<00E9><00ED>dn.example + 4-2-1-2 Combining and case map: + combandcase<0045><0301><00ED>dn.example -> combandcase<00E9><00ED>dn.example + 4-2-1-3 Adjacent combinations: + adjcomb<00BA><0301><00ED>dn.example -> adjcomb<00F3><00ED>dn.example + 4-2-1-4 Latin extended combo: + extcombo<0063><0301><00ED>dn.example -> extcombo<0107><00ED>dn.example + 4-2-1-5 Double diacritic, ordering 1: + doublediac1<0075><0308><0301><00ED>dn.example -> doublediac2<01D8><00ED>dn.example + 4-2-1-6 Double diacritic, ordering 2: + doublediac2<0075><0301><0308><00ED>dn.example -> doublediac2<01D8><00ED>dn.example + 4-2-2: Characters whose normalization have changed in Unicode 4.0 + 4-2-2-1 newnorm<2F874><00ED>dn.example -> newnorm<5F33><00ED>dn.example should not become <5F53> + 4-3: Prohibited characters + # All of these are failures + 4-3-1 Spacing: <2000><00ED>dn.example + 4-3-2 Control: <06DD><00ED>dn.example + 4-3-3 Private use: <00ED>dn.example + 4-3-4 Private use, non-BMP: <00ED>dn.example + 4-3-5 Non-character: <00ED>dn.example + 4-3-6 Non-character, non-BMP: <1FFFE><00ED>dn.example + 4-3-7 Surrogate points: <00ED>dn.example + 4-3-8 Inappropriate for plain: <00ED>dn.example + 4-3-9 Inappropriate for canonical: <2FF5><00ED>dn.example + 4-3-10 Change display simple: <206A><00ED>dn.example + 4-3-11 Change display RTL: <200F><00ED>dn.example + 4-3-12 Language tags: <0068><0069>idn.example + 4-4: Bidi + # All of these are failures + 4-4-1 Arabic RandALCat-LCat-RandALCat: <0628><006F><0638>.example + 4-4-2 Arabic RandALCat-RandALCat-other: <0628><0638><006F>.example + 4-4-3 Arabic other-RandALCat-RandALCat: <006F><0628><0638>.example + 4-4-4 Hebrew RandALCat-LCat-RandALCat: <05D1><006F><05E1>.example + 4-4-5 Hebrew RandALCat-RandALCat-other: <05D1><05E1><006F>.example + 4-4-6 Hebrew other-RandALCat-RandALCat: <006F><05D1><05E1>.example + + +5: Use of unassigned characters + # Web clients should be able to query on unassigned characters + # Zone editors should reject unassigned characters + 5-1: Unassigned characters in both 3.2 an 4.0 + 5-1-1 Unassigned in BMP: <0237><00ED>dn.example + 5-1-2 Unassinged outside BMP: <10205><00ED>dn.example + 5-2: Newly assigned in Unicode 4.0 + # Should be treated as unassigned in IDNA + 5-2-1 Newly assigned in BMP: <0234><00ED>dn.example + 5-2-2 Newly assigned outside of BMP: <10005><00ED>dn.example diff --git a/doc/specifications/IDNConnect-testbed.tgz b/doc/specifications/IDNConnect-testbed.tgz new file mode 100644 index 0000000000000000000000000000000000000000..67010d91cf840fa1114b815f473c3612e7ee8b27 GIT binary patch literal 14163 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 literal 0 HcwPel00001 diff --git a/doc/specifications/IDNConnect.html b/doc/specifications/IDNConnect.html new file mode 100644 index 0000000..29243b4 --- /dev/null +++ b/doc/specifications/IDNConnect.html @@ -0,0 +1,91 @@ + + +IDNConnect + + + + +

IDNConnect

+

+Interoperability testing for internationalized domain names +
September 23 - 27, 2003

+ +

+Welcome to the site for IDNConnect. The +online event greatly enhanced the usefulness of internationalized +domain names by testing software that uses the IDNA protocols. + +

Final report of the event

+ +

+The IDNConnect workshop, held online during the fourth week of September +2003, was attended by eight organizations from all over the world +representing a wide variety of internationalized Internet software. The +workshop succeeded in primary goals of improving the interoperability of +IDNA-enabled software, and proving that the IDNA specification is ready to +move forwards on standards track in the IETF. + +

+The testbed used in the IDNConnect event consisted of over 120 tests of +using international characters in domain names. Participants in IDNConnect +tested web browsers and plug-ins, mail clients, zone editing programs, and +programming toolkits that will be used by other developers who want to use +the IDNA standard (RFCs 3490, 3491, and 3492) in their own software. + +

+While some interoperability events are used to show how well individual +packages work with a standard, IDNConnect's primary focus was to help +developers see where their software did and did not yet conform to the IDNA +standard. Almost all participants said that the event help them find bugs in +their software, although most of those bugs were in the "edge cases" of the +standard that few typical users would possibly experience. All those +participants also said that the event allowed them to fix their software +during the event so they could verify that the bugs were fixed. + +

+Part of the IETF standards process is to validate that a specification has +multiple interoperable implementations that are derived from different +sources. The fact that many IDNConnect participants could show that they +fully complied with the standard by the end of the event will help in a +report that will be prepared for the IETF in order to move the RFCs from +Proposed Standard to Draft Standard. + +

+IDNConnect was sponsored and paid for +by JDNA, the Japanese Domain Names Association. The +JDNA promotes the active deployment of Japanese domain names in Japan and +throughout the world. JDNA's support of IDNConnect meant that there were no +registration fees for the participating organizations. + +

+Further, JDNA has announced that it is making +the tests from the event's testbed freely +available from the IDNConnect web site to developers of +IDNA-aware software. This will allow +all developers of internationalized software, whether or not they +participated in the IDNConnect event, to test their software against the +suite that was used during IDNConnect. The tests will be maintained and +added to in the future based on input from the wider Internet community. +As part of the development of the testbed, JDNA sponsored +the creation of a complete set of +interoperability tests for the entire IDNA specification. + + +

+For more information on the IDNConnect event, please contact the +JDNA secretariat at +<idnconnect@jdna.jp>. +If you have any questions about this site or the +testbed, please contact Paul Hoffman, the convener of +the event, by sending mail to +<phoffman@imc.org>, +or by phoning +1 831-426-9827. + +

+IDNConnect was sponsored by
+ + +

+ + diff --git a/doc/specifications/JDNA_logo.jpg b/doc/specifications/JDNA_logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8947edbade48738f7cb7c03d4ed6ad5ef7396c9 GIT binary patch literal 3318 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 + +IDNConnect testbed + + +

IDNConnect testbed

+ +If you are a developer of IDNA-aware software or services, you may +want to test them at your own site against the testbed created +for the IDNConnect event (described +here). If you are +not a developer, these tests will probably mean nothing +to you; they cannot be used by end users who do not control +both a name server and an Apache web server. + +

+The set of tests is available by downloading +IDNConnect-testbed.tgz. +Instructions for loading the testbed are in the INSTRUCTIONS.txt file. + + -- 2.11.4.GIT