]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
dssync keytab: use add_to_keytab_entries() for pwd history in parse_object().
authorMichael Adam <obnox@samba.org>
Wed, 23 Jul 2008 22:30:07 +0000 (00:30 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 1 Aug 2008 14:04:40 +0000 (16:04 +0200)
Michael

source/libnet/libnet_dssync_keytab.c

index eb3a936bcd063ba80c1c51b426d8b682bee6fb15..b1f0a35d8b964bfb2e3128eeb34efa4dc36821f9 100644 (file)
@@ -100,7 +100,6 @@ static NTSTATUS parse_object(TALLOC_CTX *mem_ctx,
 {
        NTSTATUS status = NT_STATUS_OK;
        uchar nt_passwd[16];
-       struct libnet_keytab_entry entry;
        DATA_BLOB *blob;
        int i = 0;
        struct drsuapi_DsReplicaAttribute *attr;
@@ -215,18 +214,11 @@ static NTSTATUS parse_object(TALLOC_CTX *mem_ctx,
        }
 
        for (; i<pwd_history_len; i++) {
-
-               entry.kvno = kvno--;
-               entry.name = talloc_strdup(mem_ctx, name);
-               entry.principal = talloc_asprintf(mem_ctx, "%s@%s",
-                                                 name, ctx->dns_domain_name);
-               entry.password = data_blob_talloc(mem_ctx, &pwd_history[i*16], 16);
-               NT_STATUS_HAVE_NO_MEMORY(entry.name);
-               NT_STATUS_HAVE_NO_MEMORY(entry.principal);
-               NT_STATUS_HAVE_NO_MEMORY(entry.password.data);
-
-               ADD_TO_ARRAY(mem_ctx, struct libnet_keytab_entry, entry,
-                            &ctx->entries, &ctx->count);
+               status = add_to_keytab_entries(mem_ctx, ctx, kvno--, name, NULL,
+                               data_blob_talloc(mem_ctx, &pwd_history[i*16], 16));
+               if (!NT_STATUS_IS_OK(status)) {
+                       break;
+               }
        }
 
        return status;