RT::Authen:ExternalAuth garbles our beautiful German umlauts

Hi,

Since migrating from MariaDB, CentOs 6 to PostgreSQL, Ubuntu 14.04 LTS RT::Authen:ExternalAuth garbles our beautiful German umlauts:

[24732] [Wed May 11 13:34:00 2016] [debug]: Calling UserExists with $username (horst) and $service (My_LDAP) (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:465)
[…]
[24732] [Wed May 11 13:34:00 2016] [debug]: Found LDAP DN: CN=Testmäister, Hörst,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=tracetronic,DC=local (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:221)
[…]
[24732] [Wed May 11 13:34:00 2016] [info]: RT::Authen::ExternalAuth::CanonicalizeUserInfo returning EmailAddress: , Name: horst, RealName: Testmäister, Hörst (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:868)
[24732] [Wed May 11 13:34:00 2016] [debug]: UPDATED user horst: User horst: RealName changed from ‘Testmäister, Hörst’ to ‘Testmäister, Hörst’ (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:665)

I found that when running the value from LDAP through an additional $value_from_ldap = decode(‘utf-8’, $value_from_ldap), the value gets ungarbled…(see attached patch). Which is an okay workaround for us, but maybe you know of a better workaround? Unfortunately my perl foo is not good enough to found the root cause of this issue.

Cheers,
Vinzenz
Vinzenz Sinapius
Information Technology | Informationstechnik

tracetronic GmbH
Stuttgarter Str. 3
01189 DRESDEN
GERMANY

Phone: +49 351 205768-167
Fax: +49 351 205768-999
E-mail: vinzenz.sinapius@tracetronic.demailto:vinzenz.sinapius@tracetronic.de

Head Office | Hauptsitz: Stuttgarter Str. 3, 01189 DRESDEN, GERMANY
Managing Directors | Geschäftsführer: Dr.-Ing. Rocco Deutschmann, Dr.-Ing. Peter Strähle
Registration Court | Registergericht: Amtsgericht Dresden, HRB 23 086

rt_fixit.txt (1.63 KB)

Hi,

Found a better solution with the help of my colleagues. We just had to add , raw => qr/(?i:^jpegPhoto|;binary)/ ] to net_ldap_args.

References:

Cheers,
Vinzenz
Vinzenz Sinapius
Information Technology | Informationstechnik

tracetronic GmbH
Stuttgarter Str. 3
01189 DRESDEN
GERMANY

Phone: +49 351 205768-167
Fax: +49 351 205768-999
E-mail: vinzenz.sinapius@tracetronic.demailto:vinzenz.sinapius@tracetronic.de

Head Office | Hauptsitz: Stuttgarter Str. 3, 01189 DRESDEN, GERMANY
Managing Directors | Geschäftsführer: Dr.-Ing. Rocco Deutschmann, Dr.-Ing. Peter Strähle
Registration Court | Registergericht: Amtsgericht Dresden, HRB 23 086Von: rt-users [mailto:rt-users-bounces@lists.bestpractical.com] Im Auftrag von Sinapius, Vinzenz
Gesendet: Mittwoch, 11. Mai 2016 15:48
An: rt-users@lists.bestpractical.com
Betreff: [rt-users] RT::Authen:ExternalAuth garbles our beautiful German umlauts

Hi,

Since migrating from MariaDB, CentOs 6 to PostgreSQL, Ubuntu 14.04 LTS RT::Authen:ExternalAuth garbles our beautiful German umlauts:

[24732] [Wed May 11 13:34:00 2016] [debug]: Calling UserExists with $username (horst) and $service (My_LDAP) (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:465)
[…]
[24732] [Wed May 11 13:34:00 2016] [debug]: Found LDAP DN: CN=Testmäister, Hörst,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=tracetronic,DC=local (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:221)
[…]
[24732] [Wed May 11 13:34:00 2016] [info]: RT::Authen::ExternalAuth::CanonicalizeUserInfo returning EmailAddress: , Name: horst, RealName: Testmäister, Hörst (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:868)
[24732] [Wed May 11 13:34:00 2016] [debug]: UPDATED user horst: User horst: RealName changed from ‘Testmäister, Hörst’ to ‘Testmäister, Hörst’ (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:665)

I found that when running the value from LDAP through an additional $value_from_ldap = decode(‘utf-8’, $value_from_ldap), the value gets ungarbled…(see attached patch). Which is an okay workaround for us, but maybe you know of a better workaround? Unfortunately my perl foo is not good enough to found the root cause of this issue.

Cheers,
Vinzenz
Vinzenz Sinapius
Information Technology | Informationstechnik

tracetronic GmbH
Stuttgarter Str. 3
01189 DRESDEN
GERMANY

Phone: +49 351 205768-167
Fax: +49 351 205768-999
E-mail: vinzenz.sinapius@tracetronic.demailto:vinzenz.sinapius@tracetronic.de

Head Office | Hauptsitz: Stuttgarter Str. 3, 01189 DRESDEN, GERMANY
Managing Directors | Geschäftsführer: Dr.-Ing. Rocco Deutschmann, Dr.-Ing. Peter Strähle
Registration Court | Registergericht: Amtsgericht Dresden, HRB 23 086