diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-12-17 11:16:22 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-12-17 11:16:22 +0000 |
commit | 48c45486e3e67b96c7ea4c7044823274e9fa72e7 (patch) | |
tree | f67077b9d93459a30aaa3232bd83892420f79d29 /source3/libads | |
parent | cf5a038adf0bd609e00039b44e197ea589eeb9cb (diff) | |
download | samba-48c45486e3e67b96c7ea4c7044823274e9fa72e7.tar.gz samba-48c45486e3e67b96c7ea4c7044823274e9fa72e7.tar.bz2 samba-48c45486e3e67b96c7ea4c7044823274e9fa72e7.zip |
allow selection of the organisational unit when joining a realm
(This used to be commit f1231c2b54cac9d4fda7fa9d45fd329f1fd7b779)
Diffstat (limited to 'source3/libads')
-rw-r--r-- | source3/libads/ldap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 2fe97ebb1a..09498b4384 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -181,14 +181,14 @@ int ads_gen_add(ADS_STRUCT *ads, const char *new_dn, ...) /* add a machine account to the ADS server */ -static int ads_add_machine_acct(ADS_STRUCT *ads, const char *hostname) +static int ads_add_machine_acct(ADS_STRUCT *ads, const char *hostname, const char *org_unit) { int ret; char *host_spn, *host_upn, *new_dn, *samAccountName, *controlstr; asprintf(&host_spn, "HOST/%s", hostname); asprintf(&host_upn, "%s@%s", host_spn, ads->realm); - asprintf(&new_dn, "cn=%s,cn=Computers,%s", hostname, ads->bind_path); + asprintf(&new_dn, "cn=%s,cn=%s,%s", hostname, org_unit, ads->bind_path); asprintf(&samAccountName, "%s$", hostname); asprintf(&controlstr, "%u", UF_DONT_EXPIRE_PASSWD | UF_WORKSTATION_TRUST_ACCOUNT | @@ -300,7 +300,7 @@ int ads_count_replies(ADS_STRUCT *ads, void *res) join a machine to a realm, creating the machine account and setting the machine password */ -int ads_join_realm(ADS_STRUCT *ads, const char *hostname) +int ads_join_realm(ADS_STRUCT *ads, const char *hostname, const char *org_unit) { int rc; LDAPMessage *res; @@ -316,7 +316,7 @@ int ads_join_realm(ADS_STRUCT *ads, const char *hostname) return LDAP_SUCCESS; } - rc = ads_add_machine_acct(ads, host); + rc = ads_add_machine_acct(ads, host, org_unit); if (rc != LDAP_SUCCESS) { DEBUG(0, ("ads_add_machine_acct: %s\n", ads_errstr(rc))); return rc; |