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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend