diff -Nuar samba-3.5.4~dfsg.orig/source3/passdb/lookup_sid.c samba-3.5.4~dfsg/source3/passdb/lookup_sid.c --- samba-3.5.4~dfsg.orig/source3/passdb/lookup_sid.c 2010-09-15 12:40:20.000000000 +0200 +++ samba-3.5.4~dfsg/source3/passdb/lookup_sid.c 2010-09-15 12:42:42.000000000 +0200 @@ -55,8 +55,15 @@ PTR_DIFF(p, full_name)); name = talloc_strdup(tmp_ctx, p+1); } else { - domain = talloc_strdup(tmp_ctx, ""); - name = talloc_strdup(tmp_ctx, full_name); + p = strchr_m(full_name, '@'); + if (p != NULL) { + name = talloc_strndup(tmp_ctx, full_name, + PTR_DIFF(p, full_name)); + domain = talloc_strdup(tmp_ctx, p+1); + } else { + domain = talloc_strdup(tmp_ctx, ""); + name = talloc_strdup(tmp_ctx, full_name); + } } if ((domain == NULL) || (name == NULL)) {