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

draft saintandre xmpp i18n 01
SMART_READER_LITE
LIVE PREVIEW

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)


slide-1
SLIDE 1

draft-saintandre-xmpp-i18n-01

XMPP WG / NewPrep BoF, IETF 77 Peter Saint-Andre

1

1 Friday, March 19, 2010

slide-2
SLIDE 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

2 Friday, March 19, 2010

slide-3
SLIDE 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

3 Friday, March 19, 2010

slide-4
SLIDE 4

JID Examples

  • <münchen.de>
  • <司馬 安平@jabbercn.org>
  • <jiři@jabber.cz/domů>
  • <jdev@conference.jabber.org/the ♚>

4

4 Friday, March 19, 2010

slide-5
SLIDE 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

5 Friday, March 19, 2010

slide-6
SLIDE 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

6 Friday, March 19, 2010

slide-7
SLIDE 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
  • ccurs without case-folding
  • Possible issues: certificates, dependency on

registrars, software configuration, other?

7

7 Friday, March 19, 2010

slide-8
SLIDE 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

8 Friday, March 19, 2010

slide-9
SLIDE 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

9 Friday, March 19, 2010

slide-10
SLIDE 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

10 Friday, March 19, 2010

slide-11
SLIDE 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

11 Friday, March 19, 2010

slide-12
SLIDE 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

12 Friday, March 19, 2010

slide-13
SLIDE 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

13 Friday, March 19, 2010

slide-14
SLIDE 14

Migration Issues

  • Lots of deployed software
  • Certificates
  • Tools (configuration, registration, etc.)
  • User credential databases (cf. SASLprep)
  • JID-based authorization
  • Reserved roomnicks

14

14 Friday, March 19, 2010

slide-15
SLIDE 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

15 Friday, March 19, 2010

slide-16
SLIDE 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

16 Friday, March 19, 2010

slide-17
SLIDE 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

17 Friday, March 19, 2010