Where to patch for toupper/tolower, locale

Deniz Akkus Kanca deniz at arayan.com
Mon Nov 19 22:52:02 GMT 2001


Pts 19 Kas 2001 13:19 tarihinde Ihar Viarheichyk şunları yazmıştı:
> Seems this is the best way to solve the problem. Just set locale to C
> when starting samba daemons. BTW, samba itself sets LC_ALL to C in
> charset_initialize.

This is ifdef'd out. And samba definitely changes behavior in toupper/tolower 
according to locale values -- so I am sure it does not set LC_ALL to C. 

> make a softlink <turkish_I>SO8859-9 -> ISO8859-9 when installing samba?

No, this does not solve the problem. It then asks for charset İSO8859-9, 
having found only charset ISO8859-9. 

The same issue with machine names, share names, user names etc. All of them 
get capitalized/lowered according to Turkish rules if locale is Turkish (or 
system default codepage in kernel is Turkish) -- which breaks anything with 
an i in it, because all current code assumes i will be capitalized to I and 
vice versa...

> This is not a good idea to make workaround in samba code for one
> particular language if the problem can be solved in other way.

That's why I am asking....Currently, with usernames, machine names, share 
names and charset map file names affected, I don't see any other way than to 
put a work around in samba code.  

Why was the locale stuff ifdef'd out?

Best regards,
Deniz






More information about the samba-technical mailing list