draft saintandre xmpp i18n 01
play

draft-saintandre-xmpp-i18n-01 XMPP WG / NewPrep BoF, IETF 77 Peter - PowerPoint PPT Presentation

draft-saintandre-xmpp-i18n-01 XMPP WG / NewPrep BoF, IETF 77 Peter Saint-Andre 1 Friday, March 19, 2010 1 Background XMPP (a.k.a. Jabber) is an XML streaming technology invented in 1999 and specified in RFC 3920 (published in 2004)


  1. draft-saintandre-xmpp-i18n-01 XMPP WG / NewPrep BoF, IETF 77 Peter Saint-Andre 1 Friday, March 19, 2010 1

  2. Background • XMPP (a.k.a. Jabber) is an XML streaming technology invented in 1999 and specified in RFC 3920 (published in 2004) • Has always used UTF-8 encoding • Currently uses three Stringprep profiles for XMPP addresses • How proceed “post-IDNA2008”? 2 Friday, March 19, 2010 2

  3. XMPP Addresses (JIDs) • <localpart@domainpart/resourcepart> • Localpart (“node”) can be a username, a chatroom, a bot, etc. • Domainpart is a server or component • Resourcepart can be a device identifier, a nickname in a chatroom, etc. 3 Friday, March 19, 2010 3

  4. JID Examples • <münchen.de> • < 司馬 安平 @jabbercn.org> • <ji ř i@jabber.cz/dom ů > • <jdev@conference.jabber.org/the ♚ > 4 Friday, March 19, 2010 4

  5. How Common? • An unscientific sample (a certain large buddy list, with 2500+ users) yielded no IDNs but several i18n usernames and multiple i18n device identifiers • More thorough sampling would be good • Seemingly used mostly by end users in parts of the address under their control 5 Friday, March 19, 2010 5

  6. Expressivity • Users consider it a benefit of using XMPP that they can have non-ASCII usernames, roomnicks, etc. • Deployments might restrict allowable characters, scripts, etc. when provisioning an account or joining a chatroom (but no methods for this at present) 6 Friday, March 19, 2010 6

  7. Domainpart • Currently use Nameprep and IDNA2003 • Seems advisable to migrate to IDNA2008 • Support only U-labels on the wire? • Note: U-label comparison in IDNA2008 occurs without case-folding • Possible issues: certificates, dependency on registrars, software configuration, other? 7 Friday, March 19, 2010 7

  8. Localpart (goals) • Often a username, which might be my real name in my native language or script • Slightly restrictive (no spaces, disallow characters like @ and &) • Case insensitive (stpeter@jabber.org is the same as StPeter@jabber.org) • Ideally, consistent with email, SASL, etc. 8 Friday, March 19, 2010 8

  9. Localpart (RFC 3920) • Most chars above U+0020 are allowed • Disallowed chars: ASCII and non-ASCII spaces, controls, C.3-C.9 from stringprep, also " & ' / : < > @ • Case mapping: B.1 + B.2 from stringprep • Normalization: NFKC 9 Friday, March 19, 2010 9

  10. Localpart (bis) • All “namelike” characters should be valid (but do we need symbols, stars, etc.?) • Disallow chars that are disallowed now • Case mapping: as in IDNA2008, or specify case-folding methods? • Normalization: NFC? • Harmonize with EAI and SASLprep? 10 Friday, March 19, 2010 10

  11. Resourcepart (goals) • Sometimes a “nick” (e.g., in chatrooms) • Often a free-form device identifier, such as a location, a machine name, or some fanciful text such as a glyph or dingbat • Less restrictive than localpart • Case sensitive (but is this a good idea?) 11 Friday, March 19, 2010 11

  12. Resourcepart (RFC 3920) • Most chars above U+0020 are allowed • Disallowed chars: non-ASCII spaces, controls, C.3-C.9 from stringprep • Mapping: B.1 from stringprep • Normalization: NFKC 12 Friday, March 19, 2010 12

  13. Resourcepart (bis) • All “namelike” characters should be valid • Do we really need things like “the ♚ ”? • Case mapping: continue to ignore case? • Normalization: NFC? • Perhaps use same rules as for localpart? 13 Friday, March 19, 2010 13

  14. Migration Issues • Lots of deployed software • Certificates • Tools (configuration, registration, etc.) • User credential databases (cf. SASLprep) • JID-based authorization • Reserved roomnicks 14 Friday, March 19, 2010 14

  15. XMPP Enforcement (1) • Which entities are responsible for enforcement of internationalized JIDs on the network? • Only an XMPP server? • Also XMPP clients? • And what do we really mean by enforcement? ... 15 Friday, March 19, 2010 15

  16. XMPP Enforcement (2) • Account provisioning / registration • Login / authentication • Upload vCard • Add / modify roster item • Send or receive an XMPP stanza • In general: what are the JID “slots”? 16 Friday, March 19, 2010 16

  17. Open Issues • Clearly there are many open issues • This is holding up XMPP WG milestone to submit rfc3920bis to the IESG • How do we make forward progress? 17 Friday, March 19, 2010 17

Recommend


More recommend