[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-3432-g6dd1582

Michael Adam obnox at samba.org
Mon Jul 28 12:50:50 GMT 2008


The branch, v3-3-test has been updated
       via  6dd1582e3583ed3c0766db552a368ddb30af5f7d (commit)
       via  e8ae49fc2aadfeee696ad7fde1fee643e167537c (commit)
       via  e5d95c4f41c2fe25920b0b707f637a562cb23ed8 (commit)
       via  67de7455b66b6c6c959e5e4ca1b8d97e2f4cf71d (commit)
       via  18ea033909a5363c92530ed2a06a2b89be5e7c79 (commit)
      from  1970eed1b79a5d9dc45eb96098d653ad62a20871 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -----------------------------------------------------------------
commit 6dd1582e3583ed3c0766db552a368ddb30af5f7d
Author: Michael Adam <obnox at samba.org>
Date:   Mon Jul 28 14:17:11 2008 +0200

    run "make idl" after idl change to unify Primary:Kerberos* structs (e8ae49f)
    
    Michael

commit e8ae49fc2aadfeee696ad7fde1fee643e167537c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 24 08:20:06 2008 +0200

    drsblobs.idl: unify the Primary:Kerberos and Primary:Kerberos-Newer-Keys structs
    
    metze
    (cherry picked from commit 4b79a7678571ac2f7d5f827913fdcb419f5d2e20)

commit e5d95c4f41c2fe25920b0b707f637a562cb23ed8
Author: Michael Adam <obnox at samba.org>
Date:   Mon Jul 28 14:15:27 2008 +0200

    run "make idl" after idl change "give some unknowns a meaning" (67de745)
    
    Michael

commit 67de7455b66b6c6c959e5e4ca1b8d97e2f4cf71d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 24 07:53:55 2008 +0200

    drsblobs.idl: give some unknowns a meaning
    
    metze
    (cherry picked from commit 231e6f5ab2dc8a3e991a9872be252cffff6f14c6)

commit 18ea033909a5363c92530ed2a06a2b89be5e7c79
Author: Michael Adam <obnox at samba.org>
Date:   Mon Jul 28 14:08:34 2008 +0200

    rpcclient: Set the pid filed of the outgoing DsBindInfo to 0.
    
    This is for debugging and informational purposes only.
    The assignment is implementation specific.
    (WSPP docs, sec. 5.35).
    
    Michael

-----------------------------------------------------------------------

Summary of changes:
 source/librpc/gen_ndr/drsblobs.h     |   61 ++---
 source/librpc/gen_ndr/ndr_drsblobs.c |  445 +++++++++++++---------------------
 source/librpc/gen_ndr/ndr_drsblobs.h |   23 +--
 source/librpc/idl/drsblobs.idl       |   61 ++---
 source/rpcclient/cmd_drsuapi.c       |    2 +-
 5 files changed, 233 insertions(+), 359 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/librpc/gen_ndr/drsblobs.h b/source/librpc/gen_ndr/drsblobs.h
index c0db9e9..b0ab9ae 100644
--- a/source/librpc/gen_ndr/drsblobs.h
+++ b/source/librpc/gen_ndr/drsblobs.h
@@ -190,7 +190,7 @@ struct package_PrimaryKerberosString {
 	const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
 };
 
-struct package_PrimaryKerberosKey {
+struct package_PrimaryKerberosKey3 {
 	uint16_t reserved1;/* [value(0)] */
 	uint16_t reserved2;/* [value(0)] */
 	uint32_t reserved3;/* [value(0)] */
@@ -203,8 +203,8 @@ struct package_PrimaryKerberosCtr3 {
 	uint16_t num_keys;
 	uint16_t num_old_keys;
 	struct package_PrimaryKerberosString salt;
-	struct package_PrimaryKerberosKey *keys;
-	struct package_PrimaryKerberosKey *old_keys;
+	struct package_PrimaryKerberosKey3 *keys;
+	struct package_PrimaryKerberosKey3 *old_keys;
 	uint32_t padding1;/* [value(0)] */
 	uint32_t padding2;/* [value(0)] */
 	uint32_t padding3;/* [value(0)] */
@@ -212,43 +212,38 @@ struct package_PrimaryKerberosCtr3 {
 	uint32_t padding5;/* [value(0)] */
 };
 
-union package_PrimaryKerberosCtr {
-	struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
-}/* [nodiscriminant] */;
-
-struct package_PrimaryKerberosBlob {
-	uint32_t version;/* [value(3)] */
-	union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
-}/* [public] */;
-
-struct package_PrimaryKerberosNewerKey {
-	uint32_t unknown1;/* [value(0)] */
-	uint32_t unknown2;/* [value(0)] */
-	uint32_t unknown3;/* [value(0x00001000)] */
+struct package_PrimaryKerberosKey4 {
+	uint16_t reserved1;/* [value(0)] */
+	uint16_t reserved2;/* [value(0)] */
+	uint32_t reserved3;/* [value(0)] */
+	uint32_t iteration_count;
 	uint32_t keytype;
 	uint32_t value_len;/* [value((value?value->length:0))] */
 	DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
 };
 
-struct package_PrimaryKerberosNewerCtr4 {
+struct package_PrimaryKerberosCtr4 {
 	uint16_t num_keys;
-	uint16_t unknown1;/* [value(0)] */
-	uint16_t num_old_keys1;
-	uint16_t num_old_keys2;
+	uint16_t num_service_keys;/* [value(0)] */
+	uint16_t num_old_keys;
+	uint16_t num_older_keys;
 	struct package_PrimaryKerberosString salt;
-	uint32_t unknown2;/* [value(0x00001000)] */
-	struct package_PrimaryKerberosNewerKey *keys;
-	struct package_PrimaryKerberosNewerKey *old_keys1;
-	struct package_PrimaryKerberosNewerKey *old_keys2;
+	uint32_t default_iteration_count;
+	struct package_PrimaryKerberosKey4 *keys;
+	struct package_PrimaryKerberosKey4 *service_keys;
+	struct package_PrimaryKerberosKey4 *old_keys;
+	struct package_PrimaryKerberosKey4 *older_keys;
 };
 
-union package_PrimaryKerberosNewerCtr {
-	struct package_PrimaryKerberosNewerCtr4 ctr4;/* [case(4)] */
+union package_PrimaryKerberosCtr {
+	struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */
+	struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */
 }/* [nodiscriminant] */;
 
-struct package_PrimaryKerberosNewerBlob {
-	uint32_t version;/* [value(4)] */
-	union package_PrimaryKerberosNewerCtr ctr;/* [switch_is(version)] */
+struct package_PrimaryKerberosBlob {
+	uint16_t version;
+	uint16_t flags;/* [value(0)] */
+	union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */
 }/* [public] */;
 
 struct package_PrimaryCLEARTEXTBlob {
@@ -398,14 +393,6 @@ struct decode_PrimaryKerberos {
 };
 
 
-struct decode_PrimaryKerberosNewer {
-	struct {
-		struct package_PrimaryKerberosNewerBlob blob;
-	} in;
-
-};
-
-
 struct decode_PrimaryCLEARTEXT {
 	struct {
 		struct package_PrimaryCLEARTEXTBlob blob;
diff --git a/source/librpc/gen_ndr/ndr_drsblobs.c b/source/librpc/gen_ndr/ndr_drsblobs.c
index 7292298..41a448c 100644
--- a/source/librpc/gen_ndr/ndr_drsblobs.c
+++ b/source/librpc/gen_ndr/ndr_drsblobs.c
@@ -1525,7 +1525,7 @@ _PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, con
 	ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_package_PrimaryKerberosKey(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey *r)
+static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
@@ -1560,7 +1560,7 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey(struct ndr_push *nd
 	return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey *r)
+static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r)
 {
 	uint32_t _ptr_value;
 	TALLOC_CTX *_mem_save_value_0;
@@ -1609,9 +1609,9 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey(struct ndr_pull *nd
 	return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_package_PrimaryKerberosKey(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey *r)
+_PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r)
 {
-	ndr_print_struct(ndr, name, "package_PrimaryKerberosKey");
+	ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3");
 	ndr->depth++;
 	ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
 	ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
@@ -1637,10 +1637,10 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *n
 		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
 		NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosKey(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
 		}
 		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosKey(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
 		}
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
@@ -1651,10 +1651,10 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *n
 	if (ndr_flags & NDR_BUFFERS) {
 		NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosKey(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
 		}
 		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosKey(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
 		}
 	}
 	return NDR_ERR_SUCCESS;
@@ -1675,14 +1675,14 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *n
 		_mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
 		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
 		NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
 		_mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
 		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
-			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
 		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1));
@@ -1696,13 +1696,13 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *n
 		_mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
 		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
 		_mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
 		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
-			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
 		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
 	}
@@ -1723,7 +1723,7 @@ _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const
 	for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
 		char *idx_0=NULL;
 		if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
-			ndr_print_package_PrimaryKerberosKey(ndr, "keys", &r->keys[cntr_keys_0]);
+			ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]);
 			free(idx_0);
 		}
 	}
@@ -1733,7 +1733,7 @@ _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const
 	for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
 		char *idx_0=NULL;
 		if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
-			ndr_print_package_PrimaryKerberosKey(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
+			ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
 			free(idx_0);
 		}
 	}
@@ -1746,120 +1746,14 @@ _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const
 	ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r)
-{
-	if (ndr_flags & NDR_SCALARS) {
-		int level = ndr_push_get_switch_value(ndr, r);
-		switch (level) {
-			case 3: {
-				NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
-			break; }
-
-			default:
-				return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
-		}
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		int level = ndr_push_get_switch_value(ndr, r);
-		switch (level) {
-			case 3:
-				NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
-			break;
-
-			default:
-				return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
-		}
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r)
-{
-	int level;
-	level = ndr_pull_get_switch_value(ndr, r);
-	if (ndr_flags & NDR_SCALARS) {
-		switch (level) {
-			case 3: {
-				NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
-			break; }
-
-			default:
-				return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
-		}
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		switch (level) {
-			case 3:
-				NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
-			break;
-
-			default:
-				return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
-		}
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r)
-{
-	int level;
-	level = ndr_print_get_switch_value(ndr, r);
-	ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr");
-	switch (level) {
-		case 3:
-			ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3);
-		break;
-
-		default:
-			ndr_print_bad_level(ndr, name, level);
-	}
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r)
-{
-	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_push_align(ndr, 4));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3));
-		NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, 3));
-		NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r)
-{
-	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_pull_align(ndr, 4));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
-		NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
-		NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r)
-{
-	ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob");
-	ndr->depth++;
-	ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->version);
-	ndr_print_set_switch_value(ndr, &r->ctr, r->version);
-	ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr);
-	ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_package_PrimaryKerberosNewerKey(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosNewerKey *r)
+static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00001000));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
 		{
@@ -1888,15 +1782,16 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosNewerKey(struct ndr_pus
 	return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_package_PrimaryKerberosNewerKey(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosNewerKey *r)
+static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r)
 {
 	uint32_t _ptr_value;
 	TALLOC_CTX *_mem_save_value_0;
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_pull_align(ndr, 4));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
 		{
@@ -1937,13 +1832,14 @@ static enum ndr_err_code ndr_pull_package_PrimaryKerberosNewerKey(struct ndr_pul
 	return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_package_PrimaryKerberosNewerKey(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosNewerKey *r)
+_PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r)
 {
-	ndr_print_struct(ndr, name, "package_PrimaryKerberosNewerKey");
+	ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4");
 	ndr->depth++;
-	ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1);
-	ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2);
-	ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00001000:r->unknown3);
+	ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
+	ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
+	ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
+	ndr_print_uint32(ndr, "iteration_count", r->iteration_count);
 	ndr_print_uint32(ndr, "keytype", r->keytype);
 	ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
 	ndr_print_ptr(ndr, "value", r->value);
@@ -1955,145 +1851,178 @@ _PUBLIC_ void ndr_print_package_PrimaryKerberosNewerKey(struct ndr_print *ndr, c
 	ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_package_PrimaryKerberosNewerCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosNewerCtr4 *r)
+static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r)
 {
 	uint32_t cntr_keys_0;
-	uint32_t cntr_old_keys1_0;
-	uint32_t cntr_old_keys2_0;
+	uint32_t cntr_service_keys_0;
+	uint32_t cntr_old_keys_0;
+	uint32_t cntr_older_keys_0;
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
 		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
 		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
-		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys1));
-		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys2));
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys));
 		NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00001000));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count));
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosNewerKey(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
 		}
-		for (cntr_old_keys1_0 = 0; cntr_old_keys1_0 < r->num_old_keys1; cntr_old_keys1_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosNewerKey(ndr, NDR_SCALARS, &r->old_keys1[cntr_old_keys1_0]));
+		for (cntr_service_keys_0 = 0; cntr_service_keys_0 < 0; cntr_service_keys_0++) {
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0]));
+		}
+		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
 		}
-		for (cntr_old_keys2_0 = 0; cntr_old_keys2_0 < r->num_old_keys2; cntr_old_keys2_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosNewerKey(ndr, NDR_SCALARS, &r->old_keys2[cntr_old_keys2_0]));
+		for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
 		}
 	}
 	if (ndr_flags & NDR_BUFFERS) {
 		NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosNewerKey(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
 		}
-		for (cntr_old_keys1_0 = 0; cntr_old_keys1_0 < r->num_old_keys1; cntr_old_keys1_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosNewerKey(ndr, NDR_BUFFERS, &r->old_keys1[cntr_old_keys1_0]));
+		for (cntr_service_keys_0 = 0; cntr_service_keys_0 < 0; cntr_service_keys_0++) {
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0]));
 		}
-		for (cntr_old_keys2_0 = 0; cntr_old_keys2_0 < r->num_old_keys2; cntr_old_keys2_0++) {
-			NDR_CHECK(ndr_push_package_PrimaryKerberosNewerKey(ndr, NDR_BUFFERS, &r->old_keys2[cntr_old_keys2_0]));
+		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
+		}
+		for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
+			NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
 		}
 	}
 	return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_package_PrimaryKerberosNewerCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosNewerCtr4 *r)
+static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r)
 {
 	uint32_t cntr_keys_0;
 	TALLOC_CTX *_mem_save_keys_0;
-	uint32_t cntr_old_keys1_0;
-	TALLOC_CTX *_mem_save_old_keys1_0;
-	uint32_t cntr_old_keys2_0;
-	TALLOC_CTX *_mem_save_old_keys2_0;
+	uint32_t cntr_service_keys_0;
+	TALLOC_CTX *_mem_save_service_keys_0;
+	uint32_t cntr_old_keys_0;
+	TALLOC_CTX *_mem_save_old_keys_0;
+	uint32_t cntr_older_keys_0;
+	TALLOC_CTX *_mem_save_older_keys_0;
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_pull_align(ndr, 4));
 		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
-		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1));
-		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys1));
-		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys2));
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys));
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys));
 		NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count));
 		NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
 		_mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
 		NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
 		for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
-			NDR_CHECK(ndr_pull_package_PrimaryKerberosNewerKey(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
 		}
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
-		NDR_PULL_ALLOC_N(ndr, r->old_keys1, r->num_old_keys1);
-		_mem_save_old_keys1_0 = NDR_PULL_GET_MEM_CTX(ndr);
-		NDR_PULL_SET_MEM_CTX(ndr, r->old_keys1, 0);
-		for (cntr_old_keys1_0 = 0; cntr_old_keys1_0 < r->num_old_keys1; cntr_old_keys1_0++) {
-			NDR_CHECK(ndr_pull_package_PrimaryKerberosNewerKey(ndr, NDR_SCALARS, &r->old_keys1[cntr_old_keys1_0]));
+		NDR_PULL_ALLOC_N(ndr, r->service_keys, r->num_service_keys);
+		_mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
+		for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0]));
+		}
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
+		NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
+		_mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
+		for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
+			NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
 		}
-		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys1_0, 0);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list