data = tdb_fetch_by_string(cache_tdb, keystr);
if (!data.dptr) return False;
- DEBUG(4, ("returning cached entry for %s/%s\n", domain, name));
+ DEBUG(4, ("returning cached entry for %s\\%s\n", domain, name));
/* Copy found entry into buffer */
memcpy((char *)buf, data.dptr, len < data.dsize ? len : data.dsize);
/* Create name */
slprintf(entry->name, sizeof(entry->name),
- "%s/%s", name_dom, name_user);
+ "%s%s%s", name_dom, lp_winbind_separator(), name_user);
/* Add to list */
return WINBINDD_ERROR;
}
- string_sub(group_name, "\\", "/", sizeof(fstring));
+ if (strcmp(lp_winbind_separator(),"\\")) {
+ string_sub(group_name, "\\", lp_winbind_separator(), sizeof(fstring));
+ }
if (!((name_type == SID_NAME_ALIAS) || (name_type == SID_NAME_DOM_GRP))) {
DEBUG(1, ("from_gid: name '%s' is not a local or domain group: %d\n",
/* Prepend domain to name */
slprintf(domain_group_name, sizeof(domain_group_name),
- "%s/%s", ent->domain->name, group_name);
+ "%s%s%s", ent->domain->name, lp_winbind_separator(), group_name);
/* Get group entry from group name */
ZERO_STRUCT(info3);
- if (!_get_trust_account_password(name_domain, trust_passwd, NULL)) return WINBINDD_ERROR;
+ if (!_get_trust_account_password(lp_workgroup(), trust_passwd, NULL)) return WINBINDD_ERROR;
nt_lm_owf_gen(state->request.data.auth.pass, ntpw, lmpw);
return WINBINDD_ERROR;
}
- string_sub(user_name, "\\", "/", sizeof(fstring));
+ if (strcmp("\\", lp_winbind_separator())) {
+ string_sub(user_name, "\\", lp_winbind_separator(), sizeof(fstring));
+ }
/* Get some user info */
/* Prepend domain to name */
slprintf(domain_user_name, sizeof(domain_user_name),
- "%s/%s", ent->domain->name, user_name);
+ "%s%s%s", ent->domain->name, lp_winbind_separator(), user_name);
/* Get passwd entry from user name */
void parse_domain_user(char *domuser, fstring domain, fstring user)
{
char *p;
- p = strchr(domuser,'/');
+ char *sep = lp_winbind_separator();
+ if (!sep) sep = "\\";
+ p = strchr(domuser,*sep);
if (!p) p = strchr(domuser,'\\');
if (!p) {
fstrcpy(domain,"");