[Samba] Does tdb can store incorrect encoding symbols?
mail_of_sergey at mail.ru
Tue Jan 12 13:21:18 MST 2010
I found that Samba checks description fields encoding at various tdb files to late.
FreeBSD with UTF-8 support. At some cases FreeBSD's adduser script can save incorrect UTF-8 sequence to GECOS /etc/passwd field. (Here is example http://www.acc.tula.ru/~acc107_3/samba/miscoding/gecos.txt)
When user is added to Samba, Samba reads GECOS field "as is" without check in.
Later it will lead to "Conversion error: Illegal multibyte sequence".
At this part of log http://www.acc.tula.ru/~acc107_3/samba/miscoding/case%201.txt user 'skvorco' have problem description.
Workaround: pdbedit -u user_name -f "Correct full name"
A many years ago I had used Samba with one-byte encoding - the KOI-8R - for presenting russian letters. At that time I created first groups, which haved the russian descriptions.
Later I move to new version of Samba (and OS so) which supports multi-byte encoding. Today samba's logs analysis show me that the description of those first groups is still one-byte encoding!!!
At this part of log http://www.acc.tula.ru/~acc107_3/samba/miscoding/case%202.txt a group 'tst-users' have one-byte encoded description. 'ugs' group haves multi-byte encoding (UTF-8) description.
Because of one-byte encoded description I get error:
convert_string_internal: Conversion error: Illegal multibyte sequence(лПОЖЕТЕОГЙС)
ndr_push_error(5): Bad char conversion
api_rpcTNP: samr: SAMR_QUERYDISPLAYINFO2 failed.
and empty domain group list.
Fragment of smb.conf
dos charset = 866
unix charset = utf-8
preserve case = yes
short preserve case = yes
default case = lower
case sensitive = auto
So, I have two questions:
1. How to select one-byte encoded descriptions?
2. How to convert it to multi-byte encoding?
More information about the samba