smbldap.c & pdb_ldap.c: unneeded utf8 translation

Alex Deiter tiamat at komi.mts.ru
Tue Aug 12 09:38:47 GMT 2003


i use samba 3_0_0 (from cvs) with ldapsam backend on FreeBSD 5.1.
i cannot change/delete user attributes (description,password, etc) if user
entry has a UTF8 dn:

# smbpasswd -x tiamat
could not delete attributes for cn=п■п╣п╧я┌п╣я─ п░п╩п╣п╨я│п╟п╫п╢я─
п▓п╟п╩п╣я─я▄п╣п╡п╦я┤,ou=п║п╩я┐п╤п╠п╟
п╟п╡я┌п╬п╪п╟я┌п╦п╥п╟я├п╦п╦,ou=People,dc=komi,dc=mts,dc=ru, error: No such
object ()
Failed to delete entry for user tiamat.
Failed to modify password entry for user tiamat

# pdbedit -h /tmp tiamat
Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=KOMI))]
smbldap_search_suffix: searching
for:[(&(objectClass=sambaDomain)(sambaDomainName=KOMI))]
smbldap_open_connection: connection opened
Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=KOMI))]
smbldap_search_suffix: searching
for:[(&(objectClass=sambaDomain)(sambaDomainName=KOMI))]
smbldap_open_connection: connection opened
smbldap_search_suffix: searching
for:[(&(uid=tiamat)(objectclass=sambaSamAccount))]
Entry found for user: tiamat
Setting entry for user: tiamat
failed to modify user dn= cn=п■п╣п╧я┌п╣я─ п░п╩п╣п╨я│п╟п╫п╢я─
п▓п╟п╩п╣я─я▄п╣п╡п╦я┤,ou=п║п╩я┐п╤п╠п╟
п╟п╡я┌п╬п╪п╟я┌п╦п╥п╟я├п╦п╦,ou=People,dc=komi,dc=mts,dc=ru with: No such
object

failed to modify user with uid = tiamat, error:  (Protocol error)
Unable to modify entry!

in passdb\pdb_ldap.c used function dn = ldap_get_dn(...) that return UTF8
dn. Then call ldapsam_modify_entry (...,dn,...) ->
smbldap_modify(...,dn,..).
in lib\smbldap.c:smbldap_modify dn converted from CH_UNIX to CH_UTF8 and dn
corrupted.

my smb.conf:

        dos charset = 866
        unix charset = KOI8-R
        display charset = KOI8-R

Thanks!






More information about the samba-technical mailing list