Openfire 4.1.4, AD and cyrillic names in shared groups

Hello all.

Today I installed fresh latest version of openfire - 4.1.4

mysql database (MariaDB server) - has been created in this way:

CREATE DATABASE openfire CHARACTER SET utf8 COLLATE utf8_general_ci;

grant all on openfire.* to ‘openfire’@localhost IDENTIFIED BY ‘***’;

flush privileges;

source /opt/openfire/resources/database/openfire_mysql.sql

jdbc settings:

jdbc:mysql://localhost:3306/openfire?useUnicode=true&characterEncoding=UTF-8&cha racterSetResults=UTF-8

I’ve successfully connected openfire to my AD based on win2008.

  • created Domain Security group “Openfire Access Group” and added into it my test group that has name in cyrillic symbols.

  • I can see this group in Groups Summary in Openfire Web Console. It has name - in cyrillic.

When I configure this group as shared group with cyrillic name - after restart openfire service this name converted to “???”

Also there is one strange behavior - I configure shared group, and wait some time, refresh page or open it again - and field with contact list group name is empty

So because of this issue I can’t provide to my clients rosters permanent group name in cyrillic.

The same behavior was on previous version 4.1.3

Seems nothing changed in new version despite this:

[OF-1305] Openfire doesn’t load user names with multi-byte characters from LDAP/AD - IgniteRealtime JIRA

Please advice.

anything?

Take a look at the database table ofGroupProp. is groupName or propValue displaying correctly or is it being saved with ??? marks?

yeah, I’ve already looked up into this table and seems there is some strange thing.

at the beginning this table is empty.

when I configure shared group for first time this table 3 rows appear in this table:

group Name name propValue

cyrillic_name_of_group_in_ad sharedRoster.displayName cyrillic_name_of_group_in_webadmin

cyrillic_name_of_group_in_ad sharedRoster.groupList

cyrillic_name_of_group_in_ad sharedRoster.showInRoster everybody

after restart server (or just waiting of some time) cyrillic names converts to ???

I really need to fix this issue.

So any advices would be helpful…

I’m sorry, I have no idea on this one…I’ll try to reproduce this the best I can on Monday…

i tested this with ms sql express without issue, so the problem might be in part with mysql

1 Like

I suspect the upcoming update of the MySQL driver will fix this [OF-1332] Update bundled MySQL driver to fix utf8mb4 databases - IgniteRealtime JIRA

1 Like

thank you for testing…

I’m using MariaDB:

mysql -V

mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1

also tried recreate DB from scratch.

very interesting…

maybe it is possible update mysql driver now? just download updated version…

nope…

even with new mysql jdbc driver mysql-connector-java-5.1.42.tar.gz from

MySQL :: Download Connector/J

the same issue.

I’ve copied new driver over installed:

cp mysql-connector-java-5.1.42/mysql-connector-java-5.1.42-bin.jar /opt/openfire/lib/mysql.jar

and started all from scratch - install openfire 4.1.4, created DB and setup openfire in web console.

then I configured shared group with cyrillic name, set contact list group name in cyrillic, then checked it in table ofGroupProp - every value was in cyrillic.

then restarted openfire and again opened User/Groups -> Groups -> group_name and noticed that contact list group name is EMPTY but option itself stayed Enabled.

again set cyrillic contact list group name, pressed Save button and in table ofGroupProp appeared new 3 rows with ??? instead cyrillic words.

it is very strange, because every first time it created cyrillic names successfully, but after restarting service something happening and it changes (clears) contact list group name in web settings.

I suppose this issue related to openfire engine not for mysql

maybe try using utf8_unicode_ci instead of general

or maybe utf8mb4 and utf8mb4_unicode_ci

1 Like

changed to utf8mb4.

tried utf8mb4_unicode_ci instead utf8mb4_general_ci

CREATE DATABASE openfire CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

grant all on openfire.* to ‘openfire’@localhost IDENTIFIED BY ‘***’;

flush privileges;

use openfire;

source /opt/openfire/resources/database/openfire_mysql.sql

unfortunately it doesn’t help - the same issue.

every time it creates shared group in roster (I’m using Psi 0.15) in cyrillic.

But it works only till first restart openfire service - after restarting contact list group name in web settings is empty.

and if I fill it second time it added into DB table like ??? instead cyrillic word.

would you mind testing with the embedded Db?

Hello!

Did you find any solution of this problem?
I’m using MySQL and have same trouble.

I found that all is fine when I drop database and create new with
default_character_set_name utf8
and
default_collation_name utf8_unicode_ci

Hello!

I paused this task for a while, till new version of Openfire is coming.

I’m going to start again on this week from scratch.
Which version of Openfire did you use?

4.1.6
My solution is working for me.

Hi.

I’ve installed from scratch ver 4.1.6 and I have the same issue.
It changes Cyrillic names in shared groups after restart openfire service.

I used the same settings for mysql DB:
mysql>

CREATE DATABASE openfire CHARACTER SET utf8 COLLATE utf8_unicode_ci;
grant all on openfire.* to ‘openfire’@localhost IDENTIFIED BY ‘openfire’;
flush privileges;
use openfire;
source /opt/openfire/resources/database/openfire_mysql.sql

and for configuring:
jdbc:mysql://localhost:3306/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8