[Summit] currentstateofi18nsupport

Kevin Smith kevin at kismith.co.uk
Fri Feb 3 10:54:03 UTC 2012


So, as discussed, here's the summary of two sessions from Swift. The
first is when Swift is using the 'correct' international domain name,
which fails because the server won't service that domain. The second
is telling Swift to use punycode manually, in which case the server
seems to work:

Stream one (server fails):
<!-- OUT -->
<?xml version="1.0"?><stream:stream xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams"
to="さみっと.えっくすえむぴーぴー.net" version="1.0">
<!-- IN -->
<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='2949847318'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' xml:lang='en'>
<!-- IN -->
<stream:error><host-unknown
xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>
<!-- OUT -->
</stream:stream>
<!-- IN -->
</stream:stream>

Stream two (punycode, server succeeds)

<!-- OUT -->
<?xml version="1.0"?><stream:stream xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams"
to="xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net" version="1.0">
<!-- IN -->
<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='2850616854'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' version='1.0'
xml:lang='en'>
<!-- IN -->
<stream:features><starttls
xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register
xmlns='http://jabber.org/features/iq-register'/></stream:features>
<!-- OUT -->
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
<!-- IN -->
<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<!-- OUT -->
</stream:stream>
<!-- IN -->
<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='3865217851'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' version='1.0'>
<!-- OUT -->
<?xml version="1.0"?><stream:stream xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams"
to="xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net" version="1.0">
<!-- IN -->
<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='2917174641'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' version='1.0'
xml:lang='en'>
<!-- IN -->
<stream:features><starttls
xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register
xmlns='http://jabber.org/features/iq-register'/></stream:features>
<!-- OUT -->
<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
<!-- IN -->
<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
<!-- OUT -->
<?xml version="1.0"?><stream:stream xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams"
to="xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net" version="1.0">
<!-- IN -->
<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='1599612079'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' version='1.0'
xml:lang='en'>
<!-- IN -->
<stream:features><mechanisms
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register
xmlns='http://jabber.org/features/iq-register'/></stream:features>
<!-- OUT -->
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
mechanism="PLAIN">AOKIngDiiJ4=</auth>
<!-- IN -->
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
<!-- OUT -->
<?xml version="1.0"?><stream:stream xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams"
to="xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net" version="1.0">
<!-- IN -->
<?xml version='1.0'?><stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams' id='3771445936'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' version='1.0'
xml:lang='en'>
<!-- IN -->
<stream:features><bind
xmlns='urn:ietf:params:xml:ns:xmpp-bind'/><session
xmlns='urn:ietf:params:xml:ns:xmpp-session'/></stream:features>
<!-- OUT -->
<iq id="session-bind" type="set"><bind
xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></iq>
<!-- IN -->
<iq id='session-bind' type='result'><bind
xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083</jid></bind></iq>
<!-- OUT -->
<iq id="session-start" type="set"><session
xmlns="urn:ietf:params:xml:ns:xmpp-session"/></iq>
<!-- IN -->
<iq type='result' id='session-start'><session
xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq>
<!-- OUT -->
<iq id="72e78f50-429f-47e2-8049-a3b8e7cb21c2" type="get"><query
xmlns="jabber:iq:private"><storage
xmlns="storage:bookmarks"/></query></iq>
<!-- OUT -->
<iq id="006bb444-0f6f-4e43-97bc-168dda780f45" type="get"><query
xmlns="jabber:iq:roster"/></iq>
<!-- OUT -->
<iq id="364284cb-7cf4-443f-832c-8ba6e07a539f"
to="∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net" type="get"><query
xmlns="http://jabber.org/protocol/disco#info"/></iq>
<!-- OUT -->
<iq id="dec431c0-e587-41b4-86aa-8088208b71f5" type="get"><vCard
xmlns="vcard-temp"/></iq>
<!-- OUT -->
<presence><status></status><c hash="sha-1" node="http://swift.im"
ver="rs/tl9NCfXBpKoOYUy+JdBbPGDg="
xmlns="http://jabber.org/protocol/caps"/></presence>
<!-- IN -->
<iq from='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
id='72e78f50-429f-47e2-8049-a3b8e7cb21c2' type='result'><query
xmlns='jabber:iq:private'><storage
xmlns='storage:bookmarks'/></query></iq>
<!-- IN -->
<message from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
type='normal'><subject>Welcome!</subject><body>Welcome to a Jabber
service powered by Debian. For information about Jabber visit
http://www.jabber.org</body><delay xmlns='urn:xmpp:delay'
from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
stamp='2012-02-03T10:43:43Z'>Offline Storage</delay><x
xmlns='jabber:x:delay' stamp='20120203T10:43:43'/></message>
<!-- IN -->
<iq from='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
id='006bb444-0f6f-4e43-97bc-168dda780f45' type='result'><query
xmlns='jabber:iq:roster'/></iq>
<!-- IN -->
<iq from='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
id='364284cb-7cf4-443f-832c-8ba6e07a539f' type='result'><query
xmlns='http://jabber.org/protocol/disco#info'><identity
category='pubsub' type='pep'/><feature
var='http://jabber.org/protocol/disco#info'/><feature
var='vcard-temp'/><feature var='msgoffline'/><feature
var='http://jabber.org/protocol/commands'/></query></iq>
<!-- OUT -->
<iq id="fdace8d9-8958-4749-a9e0-6677768d3756"
to="xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net" type="get"><query
node="http://jabber.org/protocol/commands"
xmlns="http://jabber.org/protocol/disco#items"/></iq>
<!-- IN -->
<iq from='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
id='dec431c0-e587-41b4-86aa-8088208b71f5' type='result'/>
<!-- IN -->
<presence from='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'><status/><c
hash='sha-1' node='http://swift.im' ver='rs/tl9NCfXBpKoOYUy+JdBbPGDg='
xmlns='http://jabber.org/protocol/caps'/></presence>
<!-- IN -->
<iq from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
type='get' id='343161011'><query
xmlns='http://jabber.org/protocol/disco#info'
node='http://swift.im#rs/tl9NCfXBpKoOYUy+JdBbPGDg='/></iq>
<!-- OUT -->
<iq id="343161011" to="xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net"
type="result"><query
xmlns="http://jabber.org/protocol/disco#info"><identity
category="client" name="Swift" type="pc"/><feature
var="http://jabber.org/protocol/chatstates"/><feature
var="urn:xmpp:sec-label:0"/><feature
var="urn:xmpp:message-correct:0"/><feature
var="urn:xmpp:receipts"/></query></iq>
<!-- IN -->
<iq from='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net'
to='∞@xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net/34999371391328266172509083'
id='fdace8d9-8958-4749-a9e0-6677768d3756' type='result'><query
xmlns='http://jabber.org/protocol/disco#items'
node='http://jabber.org/protocol/commands'><item
jid='xn--48j2ap4g.xn--r8jau4b8b4fa8gr9cba.net' node='ping'
name='Ping'/></query></iq>


More information about the Summit mailing list