We're updating the issue view to help you get more done. 

Upgrade JID class to RFC 7622 / Allow German letters in resource parts

Description

German "Umlauts" like ü, ö, ä, ... are currently disallowed by the JID class, leading to the following error, which prevents users to login to Openfire with resources containing german umlauts, e.g. "Büro" (== "office").

Resource parts in JIDs follow the rule:

The resourcepart of a JID is an instance of the OpaqueString profile
of the PRECIS FreeformClass, which is specified in RFC7613

The FreeFormClass is specified here and allows "LetterDigits" which include the Unicode category "Ll - Lowercase_Letter".

"ü", "ä", "ö", etc. are in this Unicode category and therefore should be allowed in resource parts.

The JID class should be upgraded to RFC 7622 because it uses the old RFC 6122 and the obsolete Stringprep spec, which has been superseded by PRECIS.

(This issue can probably be moved to Tinder project, but I have no rights to do so).

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Guus der Kinderen
June 20, 2019, 7:41 AM

I've moved this issue from the Openfire project to the Tinder project.

Guus der Kinderen
June 20, 2019, 8:10 AM

Note that once applied, persisted data (in the Openfire database) needs to be scrubbed. See https://tools.ietf.org/html/rfc7613#section-6

csh
June 20, 2019, 6:47 PM

You are right. I took a wrong assumption just from reading the stacktrace, but it was probably some other encoding issue, like this:

(which fails).

I'll give another example:

OGHAM SPACE MARK' (U+1680) is allowed in PRECIS (mapped to normal space 0020), but is disallowed by the current implementation (tested with Tinder 1.3.0)

Guus der Kinderen
June 21, 2019, 7:33 AM

Ah, thanks for this. I thought I was loosing my sanity.

Although this might be an entirely different issue: what caused your original stack trace? As far as I know, all paths (in Openfire/Tinder) that lead to resourceprep use UTF-8, not another encoding.

csh
June 24, 2019, 7:41 AM

I am wondering about the stacktrace, too. I assume it was a client encoding issue then.

Assignee

Unassigned

Reporter

csh

Labels

None

Expected Effort

None

Ignite Forum URL

None

Priority

Major
Configure