Re: Bad characters in names loaded from LDAP (AD)

"Bill Cole" <[email protected]>
Newsgroups gmane.comp.bug-tracking.request-tracker.user
Message-ID <[email protected]>
On 11 Oct 2016, at 5:51, Jan Burian wrote:

> Hi Bill,
>
> thank you for your response. Sry not to mention our database.
> We use PostreSQL.
> After I wrote first email a also checked encoding in database.
>
> The database was with following parameters:
>    Name    | Encoding |      Collate     |       Ctype
> -------------+-------------+-----------------+------------------
>       rt4      |  UTF8       | en_US.UTF-8 | en_US.UTF-8

And so my beautiful theory is destroyed by your brutal facts. :)

> 1) I dump database with UTF-8 encoding parameter.
> 2) Then I drop the databases.
> 3) Create new database with following parameters:
>
>    Name    | Encoding |      Collate     |       Ctype
> -------------+-------------+-----------------+------------------
>       rt4      |  UTF8       | cs_CZ.UTF-8 | cs_CZ.UTF-8
>
> 4) And then import database from dump.
>
> But after that change names are loading from LDAP still with bad
> characters :-/.

Indeed: the Collate and Ctype parameters are encoding-specific rulesets 
for how characters are related to each other, not variations on 
encoding.

> When the user writes first email to queue, then is also autocreated as
> unprivileged. If he/she was his/her name in From header, then is used 
> as
> RealName RT attribute. But in this case is his/her name saved 
> correctly.
>
> *Example from the log - autocreated from LDAP:*
> [6937] [Tue Sep 27 15:59:25 2016] [info]:
> RT::User::CanonicalizeUserInfoFromExternalAuth returning Disabled: ,
> EmailAddress: [email protected], Gecos: novak, Name: novak, Privileged: 1,
> RealName: Matouš Novák, WorkPhone:  
> (/opt/rt4/sbin/../lib/RT/User.pm:811)
> [6937] [Tue Sep 27 15:59:25 2016] [info]: Autocreated external user
> novak ( 61 ) (/opt/rt4/sbin/../lib/RT/Authen/ExternalAuth.pm:356)
> [6937] [Tue Sep 27 15:59:25 2016] [info]:
> RT::Authen::ExternalAuth::LDAP::GetAuth External Auth OK ( My_LDAP ):
> novak (/opt/rt4/sbin/../lib/RT/Authen/ExternalAuth/LDAP.pm:348)
> [6937] [Tue Sep 27 15:59:26 2016] [info]:
> RT::User::CanonicalizeUserInfoFromExternalAuth returning EmailAddress:
> [email protected], Name: novak, *RealName: MatouÅ¡ Novák*, WorkPhone:
> (/opt/rt4/sbin/../lib/RT/User.pm:811)
> *
> **Example from the log - autocreated from email:*
> [6026] [Mon Oct 10 06:26:02 2016] [info]:
> RT::User::CanonicalizeUserInfoFromExternalAuth returning Comments:
> Autocreated on ticket submission, Disabled: , EmailAddress:
> [email protected], Name: [email protected], 
> Privileged:
> , *RealName: Tereza Škvárová* (/opt/rt4/sbin/../lib/RT/User.pm:811)
>
> Any other ideas?

Yes: At least one of your FCGI handlers (PID 6937) is using an 8-bit 
encoding and at least one (PID 6026) is using UTF-8.

Note that both of those cases are being logged by the 
RT::User::CanonicalizeUserInfoFromExternalAuth method, which uses LDAP 
to retrieve the attribute it uses for the "RealName" field in RT. The 
first was logged by process 6937, the second by process 6026.

The *reason* for that is a bit of a mystery. It's clear that the 2 
processes were not started near the same time (unless that server is 
VERY busy spawning processes) so if you can determine what was different 
about how they were launched (likely a involving a locale environment 
variable, most likely LANG or LC_ALL) you can probably make sure that 
the improper launch doesn't happen.
---------
RT 4.4 and RTIR training sessions, and a new workshop day! https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.