[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Chinese characters in mail search causes failed assertion in slapd



On Wed, Feb 8, 2012, at 01:06 PM, Buchan Milne wrote:
> As far as I can tell, the issue is not to be able to have UTF-8 in the
> mail 
> attribute, but allow the client's search to succeed, where it uses a
> filter of 
> the form:
> 
> (|(cn=%s)(sn=%s)(mail=%s))
> 
> In the case where the user tries to search for a UTF-8 character (which
> is 
> present in the target entries cn or sn values), the client sends UTF-8 in
> the 
> mail=%s portion.

Yep, that's what is happening.

> > Unfortunately I'm not in control of what mail clients users are running.
> 
> That doesn't prevent you from filing bugs on said mail clients. Please
> file a 
> bug with Thunderbird.

I filed a bug with Apple and Mozilla this morning.

> > This particular case was Thunderbird, but I assume that Apple Mail is also
> > sending bogus UTF-8 mail attribute values.
> 
> Because one implementation has a bug, other implementations of similar 
> functionality *must* have it?

No, but because searches from Apple Mail were breaking too. The value for "mail" from Apple Mail is not only in UTF-8, but it is splitting two Chinese characters like:

  sprintf( "(&(|(cn=%s*)(mail=%s*)(sn=%s*))(|(cn=%s*)(mail=%s*)(sn=%s*)))",
    first_char,
    first_char,
    first_char,
    second_char,
    second_char,
    second_char,
  );

>From my basic understanding, this is searching for a "mail" starting with first_char, and then ANDing it with a "mail" starting with second_char.

Alfie

-- 
  Alfie John
  alfiej@opera.com