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:
parent
59175ee522
commit
1953f63903
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user