[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[idn] CIDNUC in action
Last week, I told Paul that I will be implementing CIDNUC for testing
purposes. I have not done any extensive testing on the system yet but here are
some of the prelimary test data which I would like to share with everyone.
(Orginally, I thought of sending to Paul only but hey, why not!)
Few thoughts on CIDNUC:
1. Implementation of CIDNUC while not very complicated is *very* time
consuming and to debug! (Argghh!!, I have to spend my time going thru
bit by bit to get it right)
2. Its compression is useful but unfortunately has not much effect on CJK.
In fact, it makes CJK even longer *doh*. It is useful for many languages
which does not use more than 256 code point. (Would be nice if we have a
generic LZW or Huffman compression or UTR#6?)
3. No explaination on what do encoding or decoding algorthm should do when
it encounter an invalid character.
4. www.t[..jp (SJIS www.yahoo.co.jp) in cidnuc will be
www.aq8gdsnl7a.aq83bhru6j6.jp, leaving www and jp intact. :)
Still dont really like the aq8, without it would a bit shorter.
-James Seng
Note on the results:
1. Although you see native, UTF-5, UTF-8, CIDNUC all able to resolves, it
is done with one delegation, not multiple. And it is not done using
DNAME. (DNAME is probably more suitable for special folding as Martin
mention...)
2. The Authority section is always in UTF-5 because it is delegated as
UTF-5 (ie the zone file is in UTF-5). If it is delegated as UTF-8,
then you should see it as UTF-8.
Script started on Thu Mar 23 22:22:08 2000
############
# Native Encoding (in this case TSC for Thai)
############
dev02:~/samples> cat tsc.loxinfo.com
͡Թ.
dev02:~/samples> dig `cat tsc.loxinfo.com` @a
; <<>> DiG 8.1 <<>> ͡Թ. @a
; (1 server found)
;; res options: init recurs defnam dnsrch internationalized
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUERY SECTION:
;; \197\231\205\161\171\205\212\185\226\191.\164\205\193, type = A, class = IN
;; ANSWER SECTION:
\197\231\205\161\171\205\212\185\226\191.\164\205\193. 49m12s IN A 203.146.93.6
;; AUTHORITY SECTION:
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.loxinfo.net.
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.tnet.co.th.
;; ADDITIONAL SECTION:
ns2.loxinfo.net. 1d21h37m IN A 203.146.30.233
ns2.tnet.co.th. 15h19m59s IN A 203.146.64.33
;; Total query time: 237 msec
;; FROM: dev02.i-dns.net to SERVER: a 208.184.174.7
;; WHEN: Thu Mar 23 22:22:18 2000
;; MSG SIZE sent: 32 rcvd: 177
############
# UTF-5
############
dev02:~/samples>
dev02:~/samples> ./ccode tsc utf5 < tsc.loxinfo.com
Input: ͡Թ.
Output: U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21
dev02:~/samples> dig U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21 @a
; <<>> DiG 8.1 <<>> U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21 @a
; (1 server found)
;; res options: init recurs defnam dnsrch internationalized
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUERY SECTION:
;; U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21, type = A, class = IN
;; ANSWER SECTION:
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 48m50s IN A 203.146.93.6
;; AUTHORITY SECTION:
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.loxinfo.net.
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.tnet.co.th.
;; ADDITIONAL SECTION:
ns2.loxinfo.net. 1d21h36m38s IN A 203.146.30.233
ns2.tnet.co.th. 15h19m37s IN A 203.146.64.33
;; Total query time: 208 msec
;; FROM: dev02.i-dns.net to SERVER: a 208.184.174.7
;; WHEN: Thu Mar 23 22:22:39 2000
;; MSG SIZE sent: 58 rcvd: 163
############
# CIDNUC
############
dev02:~/samples>
dev02:~/samples> ./ccode tsc cidnuc < tsc.loxinfo.com
Input: ͡Թ.
Output: aq8bysuolibbmwtigkcd4.aq8bycc2ii
dev02:~/samples> dig aq8bysuolibbmwtigkcd4.aq8bycc2ii @a
; <<>> DiG 8.1 <<>> aq8bysuolibbmwtigkcd4.aq8bycc2ii @a
; (1 server found)
;; res options: init recurs defnam dnsrch internationalized
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUERY SECTION:
;; aq8bysuolibbmwtigkcd4.aq8bycc2ii, type = A, class = IN
;; ANSWER SECTION:
aq8bysuolibbmwtigkcd4.aq8bycc2ii. 48m20s IN A 203.146.93.6
;; AUTHORITY SECTION:
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.loxinfo.net.
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.tnet.co.th.
;; ADDITIONAL SECTION:
ns2.loxinfo.net. 1d21h36m8s IN A 203.146.30.233
ns2.tnet.co.th. 15h19m7s IN A 203.146.64.33
;; Total query time: 239 msec
;; FROM: dev02.i-dns.net to SERVER: a 208.184.174.7
;; WHEN: Thu Mar 23 22:23:09 2000
;; MSG SIZE sent: 50 rcvd: 195
############
# UTF-8
############
dev02:~/samples>
dev02:~/samples> ./ccode tsc utf8 < tsc.loxinfo.com
Input: ͡Թ.
Output: ล็อกซอินโฟ.คอม
dev02:~/samples> dig ล็อกซอินโฟ.คอม @a
; <<>> DiG 8.1 <<>> ล็อกซอินโฟ.คอม @a
; (1 server found)
;; res options: init recurs defnam dnsrch internationalized
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUERY SECTION:
;; \224\184\165\224\185\135\224\184\173\224\184\129\224\184\139\224\184\173\224\184\180\224\184\153\224\185\130\224\184\159.\224\184\132\224\184\173\224\184\161, type = A, class = IN
;; ANSWER SECTION:
\224\184\165\224\185\135\224\184\173\224\184\129\224\184\139\224\184\173\224\184\180\224\184\153\224\185\130\224\184\159.\224\184\132\224\184\173\224\184\161. 47m34s IN A 203.146.93.6
;; AUTHORITY SECTION:
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.loxinfo.net.
U25U47U2DU01U0BU2DU34U19U42U1F.U04U2DU21. 1D IN NS ns2.tnet.co.th.
;; ADDITIONAL SECTION:
ns2.loxinfo.net. 1d21h35m22s IN A 203.146.30.233
ns2.tnet.co.th. 15h18m21s IN A 203.146.64.33
;; Total query time: 215 msec
;; FROM: dev02.i-dns.net to SERVER: a 208.184.174.7
;; WHEN: Thu Mar 23 22:23:55 2000
;; MSG SIZE sent: 58 rcvd: 203
dev02:~/samples> ^Dexit
Script done on Thu Mar 23 22:23:58 2000