]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
dssync keytab: add prefix parameter to add_to_keytab_entries() for flexibility.
authorMichael Adam <obnox@samba.org>
Wed, 16 Jul 2008 21:12:31 +0000 (23:12 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 1 Aug 2008 14:04:40 +0000 (16:04 +0200)
This will allow to construct principals of the form PREFIX/name@domain

Michael

source/libnet/libnet_dssync_keytab.c

index a2ce8ddcaaec370b7f65eacde4ab6066a65c7323..eb3a936bcd063ba80c1c51b426d8b682bee6fb15 100644 (file)
@@ -26,13 +26,16 @@ static NTSTATUS add_to_keytab_entries(TALLOC_CTX *mem_ctx,
                                      struct libnet_keytab_context *ctx,
                                      uint32_t kvno,
                                      const char *name,
+                                     const char *prefix,
                                      DATA_BLOB blob)
 {
        struct libnet_keytab_entry entry;
 
        entry.kvno = kvno;
        entry.name = talloc_strdup(mem_ctx, name);
-       entry.principal = talloc_asprintf(mem_ctx, "%s@%s",
+       entry.principal = talloc_asprintf(mem_ctx, "%s%s%s@%s",
+                                         prefix ? prefix : "",
+                                         prefix ? "/" : "",
                                          name, ctx->dns_domain_name);
        entry.password = blob;
        NT_STATUS_HAVE_NO_MEMORY(entry.name);
@@ -190,7 +193,7 @@ static NTSTATUS parse_object(TALLOC_CTX *mem_ctx,
        }
        DEBUGADD(1,("\n"));
 
-       status = add_to_keytab_entries(mem_ctx, ctx, kvno, name,
+       status = add_to_keytab_entries(mem_ctx, ctx, kvno, name, NULL,
                                       data_blob_talloc(mem_ctx, nt_passwd, 16));
 
        if (!NT_STATUS_IS_OK(status)) {