Character encoding issue in BOSH

Description

Users experience character encoding issues after an upgrade to Openfire 3.10.0.

Client (connected through BOSH) sends:

Server replies with:

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Guus der Kinderen
October 12, 2015, 1:49 PM

So far, I am unable to reproduce the issue using jsjac (connecting to a local server running 3.11.0 Alpha) and Candy (connecting to igniterealtime.org, which is running 3.10.3 Alpha)

Florian Sailer
October 13, 2015, 2:48 PM

I downloaded 3.11.0 Alpha, installed in on my test system and still see this error. I have nginx configured as reverse proxy in front of openfire. Same setup works fine with 3.9.3. Is there anything i could do to help trace down this bug? Providing log files maybe?

Florian Sailer
October 16, 2015, 2:22 PM

I made some tests and figured out that i can fix the issue by adding "-Dfile.encoding=UTF-8" as option to the JVM. (On Ubuntu i added this to /etc/default/openfire). I hope this helps...

Guus der Kinderen
October 19, 2015, 11:24 AM
Edited

That was helpful Florian, thanks.

I've found the cause of the problem: when reading HTTP data from the client, an explicit character set is not defined, causing Java to fall back to the system default.

A pull request that addresses this issue is available here: https://github.com/igniterealtime/Openfire/pull/318

I was unable to merge the 3.10-based pull request into master neatly. I've created a second pull request for master here: https://github.com/igniterealtime/Openfire/pull/319

Fixed

Assignee

Guus der Kinderen

Reporter

Guus der Kinderen

Labels

None

Expected Effort

None

Ignite Forum URL

None

Fix versions

Affects versions

Priority

Critical
Configure