known BUG "multi-byte character set in usernames"
Juergen Hasch
Hasch at t-online.de
Thu Jun 6 12:10:45 GMT 2002
Am Donnerstag, 6. Juni 2002 01:19 schrieb Jeremy Allison:
> On Thu, Jun 06, 2002 at 12:12:45AM +0200, Juergen Hasch wrote:
> > the patch works fine for except for one thing. In the acl security
> > selection list (showing a list of all available users and groups) the
> > german umlaut characters are wrong. This is because the unix charset is
> > sent to the windows client, as no conversion back takes place.
> > The acl dialogue itself is ok.
> >
> > I haven't found out yet, where the conversion back to dos code page
> > should take place. Do you have an idea ?
>
> Can you CVS update SAMBA_2_2 - I've just applied a patch I think
> should fix this.
not yet :-)
The diff below shows what I changed to make it work AFAICS:
--- srv_lsa_nt.c.orig Wed Jun 5 23:52:45 2002
+++ srv_lsa_nt.c Thu Jun 6 20:53:05 2002
@@ -152,6 +152,8 @@
/* Split name into domain and user component */
pstrcpy(full_name, dos_unistr2_to_str(&name[i]));
+ dos_to_unix(full_name);
split_domain_name(full_name, dom_name, user);
/* Lookup name */
--- srv_samr_nt.c.orig Fri Mar 29 22:53:33 2002
+++ srv_samr_nt.c Thu Jun 6 20:40:50 2002
@@ -660,6 +660,8 @@
int len = strlen(grp[i].name)+1;
init_sam_entry(&sam[i], len, grp[i].rid);
+ unix_to_dos(grp[i].name);
init_unistr2(&uni_name[i], grp[i].name, len);
}
--- winbindd_rpc.c.orig Wed Jun 5 23:52:44 2002
+++ winbindd_rpc.c Thu Jun 6 20:22:23 2002
@@ -206,6 +206,7 @@
DOM_SID *sids = NULL;
uint32 *types = NULL;
const char *full_name;
+ fstring dos_name;
if (!(mem_ctx = talloc_init_named("name_to_sid[rpc] for [%s]\\[%s]",
domain->name, name))) {
DEBUG(0, ("talloc_init failed!\n"));
@@ -216,8 +217,9 @@
talloc_destroy(mem_ctx);
return NT_STATUS_UNSUCCESSFUL;
}
-
- full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain->name, name);
+ fstrcpy(dos_name,name);
+ unix_to_dos(dos_name);
+ full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain->name,
dos_name);
if (!full_name) {
DEBUG(0, ("talloc_asprintf failed!\n"));
The conversion in srv_samr_nt.c is needed to show the correct group list in
the ACL->add dialogue. The conversion in lsa_srv_nt.c is needed to set a new
ACL entry in unix codepage after selecting it from the list.
The change in winbind_rpc.c is needed to get "wbinfo -n" working.
...Juergen
More information about the samba-technical
mailing list