1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

r14931: Fix #1374: can't join an OU with name that contains '#'

I had to eliminate "\" as an OU path separator, because it is the escape
char in LDAP.  We still accept "/", but using the escape char is just
not a good choice.
This commit is contained in:
Jim McDonough 2006-04-06 01:46:01 +00:00 committed by Gerald (Jerry) Carter
parent 59175ee522
commit 1953f63903

View File

@ -1083,7 +1083,8 @@ ADS_STATUS ads_del_dn(ADS_STRUCT *ads, char *del_dn)
/**
* Build an org unit string
* if org unit is Computers or blank then assume a container, otherwise
* assume a \ separated list of organisational units
* assume a / separated list of organisational units.
* jmcd: '\' is now used for escapes so certain chars can be in the ou (e.g. #)
* @param ads connection to ads server
* @param org_unit Organizational unit
* @return org unit string - caller must free
@ -1104,7 +1105,10 @@ char *ads_ou_string(ADS_STRUCT *ads, const char *org_unit)
return SMB_STRDUP("cn=Computers");
}
return ads_build_path(org_unit, "\\/", "ou=", 1);
/* jmcd: removed "\\" from the separation chars, because it is
needed as an escape for chars like '#' which are valid in an
OU name */
return ads_build_path(org_unit, "/", "ou=", 1);
}
/**