s4/libnet: Vampire should join us as a Domain Controller
[kamenim/samba.git] / source4 / libnet / libnet_vampire.c
index 9554a63b3cc4b5b23a76233aa88904f1cfd0e177..aa1ea163c7d44d87c5b66aeef74ea8775353252c 100644 (file)
@@ -94,7 +94,7 @@ static NTSTATUS vampire_prepare_db(void *private_data,
        settings.realm = s->join->out.realm;
        settings.domain = s->join->out.domain_name;
        settings.server_dn_str = p->dest_dsa->server_dn_str;
-       settings.machine_password = generate_random_str(s, 16);
+       settings.machine_password = generate_random_password(s, 16, 255);
        settings.targetdir = s->targetdir;
 
        status = provision_bare(s, s->lp_ctx, &settings, &result);
@@ -366,7 +366,7 @@ static NTSTATUS vampire_apply_schema(struct vampire_state *s,
                return NT_STATUS_FOOBAR;
        }
 
-       s->schema = dsdb_get_schema(s->ldb);
+       s->schema = dsdb_get_schema(s->ldb, s);
        if (!s->schema) {
                DEBUG(0,("Failed to get loaded dsdb_schema\n"));
                return NT_STATUS_FOOBAR;
@@ -659,7 +659,7 @@ NTSTATUS libnet_Vampire(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
        join->in.account_name   = account_name;
        join->in.netbios_name   = netbios_name;
        join->in.level          = LIBNET_JOINDOMAIN_AUTOMATIC;
-       join->in.acct_type      = ACB_WSTRUST;
+       join->in.acct_type      = ACB_SVRTRUST;
        join->in.recreate_account = false;
        status = libnet_JoinDomain(ctx, join, join);
        if (!NT_STATUS_IS_OK(status)) {
@@ -760,8 +760,8 @@ NTSTATUS libnet_Vampire(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
                return status;
        }
 
-       r->out.domain_name = talloc_steal(r, join->out.domain_name);
-       r->out.domain_sid = dom_sid_dup(r, join->out.domain_sid);
+       r->out.domain_name = talloc_steal(mem_ctx, join->out.domain_name);
+       r->out.domain_sid = dom_sid_dup(mem_ctx, join->out.domain_sid);
        
        /* commit the transaction now we know the secrets were written
         * out properly