[SCM] Samba Shared Repository - branch master updated - 798c4b3e6a27a09a9156f7476cf5bb4151741652

Günther Deschner gd at samba.org
Mon Dec 1 23:38:18 GMT 2008


The branch, master has been updated
       via  798c4b3e6a27a09a9156f7476cf5bb4151741652 (commit)
       via  6384c97a42f60e702a7ac1623aef894803678bd4 (commit)
       via  01b6eee69f03eb858184dfd16abde3bd479a9e59 (commit)
       via  c3798208526b2ce15fe22991424dcb5b1910eebd (commit)
      from  db369b5567b2359af1c185555f63e9fe02b617c5 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 798c4b3e6a27a09a9156f7476cf5bb4151741652
Author: Günther Deschner <gd at samba.org>
Date:   Tue Dec 2 00:12:39 2008 +0100

    s3-samr: use samr_DomainServerState in client tools.
    
    Guenther

commit 6384c97a42f60e702a7ac1623aef894803678bd4
Author: Günther Deschner <gd at samba.org>
Date:   Tue Dec 2 00:14:02 2008 +0100

    re-run make samba3-idl.
    
    Guenther

commit 01b6eee69f03eb858184dfd16abde3bd479a9e59
Author: Günther Deschner <gd at samba.org>
Date:   Tue Dec 2 00:16:05 2008 +0100

    s4-samr: use samr_DomainServerState in samr server.
    
    Guenther

commit c3798208526b2ce15fe22991424dcb5b1910eebd
Author: Günther Deschner <gd at samba.org>
Date:   Mon Dec 1 12:53:59 2008 +0100

    samr: add samr_DomainServerState.
    
    Guenther

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

Summary of changes:
 librpc/idl/samr.idl                   |    9 ++++++-
 source3/include/proto.h               |    2 +-
 source3/librpc/gen_ndr/ndr_samr.c     |   37 +++++++++++++++++++++++++++-----
 source3/librpc/gen_ndr/ndr_samr.h     |    1 +
 source3/librpc/gen_ndr/samr.h         |   17 +++++++++++++-
 source3/rpc_client/init_samr.c        |    9 ++++---
 source3/rpc_server/srv_samr_nt.c      |    2 +-
 source3/rpcclient/cmd_samr.c          |    4 +-
 source4/rpc_server/samr/dcesrv_samr.c |    2 +-
 9 files changed, 64 insertions(+), 19 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/samr.idl b/librpc/idl/samr.idl
index 140782c..46478ee 100644
--- a/librpc/idl/samr.idl
+++ b/librpc/idl/samr.idl
@@ -337,6 +337,11 @@ import "misc.idl", "lsa.idl", "security.idl";
 		DOMAIN_REFUSE_PASSWORD_CHANGE   = 0x00000020
 	} samr_PasswordProperties;
 
+	typedef [v1_enum] enum {
+		DOMAIN_SERVER_ENABLED = 1,
+		DOMAIN_SERVER_DISABLED = 2
+	} samr_DomainServerState;
+
 	typedef struct {
 		uint16 min_password_length;
 		uint16 password_history_length;
@@ -352,7 +357,7 @@ import "misc.idl", "lsa.idl", "security.idl";
 		lsa_String domain_name;
 		lsa_String primary; /* PDC name if this is a BDC */
 		udlong sequence_num;
-		uint32 unknown2;
+		samr_DomainServerState domain_server_state;
 		samr_Role role;
 		uint32 unknown3;
 		uint32 num_users;
@@ -386,7 +391,7 @@ import "misc.idl", "lsa.idl", "security.idl";
 	} samr_DomInfo8;
 
 	typedef struct {
-		uint32 unknown; /* w2k3 returns 1 */
+		samr_DomainServerState domain_server_state;
 	} samr_DomInfo9;
 
 	typedef struct {
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 4bc524f..cc92867 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5600,7 +5600,7 @@ void init_samr_DomGeneralInformation(struct samr_DomGeneralInformation *r,
 				     const char *domain_name,
 				     const char *primary,
 				     uint64_t sequence_num,
-				     uint32_t unknown2,
+				     enum samr_DomainServerState domain_server_state,
 				     enum samr_Role role,
 				     uint32_t unknown3,
 				     uint32_t num_users,
diff --git a/source3/librpc/gen_ndr/ndr_samr.c b/source3/librpc/gen_ndr/ndr_samr.c
index 40082e7..975bde3 100644
--- a/source3/librpc/gen_ndr/ndr_samr.c
+++ b/source3/librpc/gen_ndr/ndr_samr.c
@@ -417,6 +417,31 @@ _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const cha
 	ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r)
+{
+	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r)
+{
+	uint32_t v;
+	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+	*r = v;
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r)
+{
+	const char *val = NULL;
+
+	switch (r) {
+		case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break;
+		case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break;
+	}
+	ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
 static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -468,7 +493,7 @@ static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *nd
 		NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
 		NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
 		NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
+		NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
 		NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
@@ -492,7 +517,7 @@ static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *nd
 		NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
 		NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
 		NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
+		NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
 		NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
@@ -516,7 +541,7 @@ _PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const
 	ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
 	ndr_print_lsa_String(ndr, "primary", &r->primary);
 	ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
-	ndr_print_uint32(ndr, "unknown2", r->unknown2);
+	ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
 	ndr_print_samr_Role(ndr, "role", r->role);
 	ndr_print_uint32(ndr, "unknown3", r->unknown3);
 	ndr_print_uint32(ndr, "num_users", r->num_users);
@@ -718,7 +743,7 @@ static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_fl
 {
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
-		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
+		NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
 	}
@@ -729,7 +754,7 @@ static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_fl
 {
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_pull_align(ndr, 4));
-		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
+		NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
 	}
@@ -740,7 +765,7 @@ _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, c
 {
 	ndr_print_struct(ndr, name, "samr_DomInfo9");
 	ndr->depth++;
-	ndr_print_uint32(ndr, "unknown", r->unknown);
+	ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
 	ndr->depth--;
 }
 
diff --git a/source3/librpc/gen_ndr/ndr_samr.h b/source3/librpc/gen_ndr/ndr_samr.h
index 64e09e1..64c60ee 100644
--- a/source3/librpc/gen_ndr/ndr_samr.h
+++ b/source3/librpc/gen_ndr/ndr_samr.h
@@ -168,6 +168,7 @@ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role
 enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r);
 enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r);
 void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r);
+void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r);
 void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r);
 void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r);
 void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r);
diff --git a/source3/librpc/gen_ndr/samr.h b/source3/librpc/gen_ndr/samr.h
index 9e7e3c5..537f144 100644
--- a/source3/librpc/gen_ndr/samr.h
+++ b/source3/librpc/gen_ndr/samr.h
@@ -172,6 +172,19 @@ enum samr_Role
 #define DOMAIN_PASSWORD_STORE_CLEARTEXT ( 0x00000010 )
 #define DOMAIN_REFUSE_PASSWORD_CHANGE ( 0x00000020 )
 
+enum samr_DomainServerState
+#ifndef USE_UINT_ENUMS
+ {
+	DOMAIN_SERVER_ENABLED=1,
+	DOMAIN_SERVER_DISABLED=2
+}
+#else
+ { __donnot_use_enum_samr_DomainServerState=0x7FFFFFFF}
+#define DOMAIN_SERVER_ENABLED ( 1 )
+#define DOMAIN_SERVER_DISABLED ( 2 )
+#endif
+;
+
 struct samr_DomInfo1 {
 	uint16_t min_password_length;
 	uint16_t password_history_length;
@@ -186,7 +199,7 @@ struct samr_DomGeneralInformation {
 	struct lsa_String domain_name;
 	struct lsa_String primary;
 	uint64_t sequence_num;
-	uint32_t unknown2;
+	enum samr_DomainServerState domain_server_state;
 	enum samr_Role role;
 	uint32_t unknown3;
 	uint32_t num_users;
@@ -220,7 +233,7 @@ struct samr_DomInfo8 {
 };
 
 struct samr_DomInfo9 {
-	uint32_t unknown;
+	enum samr_DomainServerState domain_server_state;
 };
 
 struct samr_DomGeneralInformation2 {
diff --git a/source3/rpc_client/init_samr.c b/source3/rpc_client/init_samr.c
index 473fae7..6a9e6d1 100644
--- a/source3/rpc_client/init_samr.c
+++ b/source3/rpc_client/init_samr.c
@@ -47,7 +47,7 @@ void init_samr_DomGeneralInformation(struct samr_DomGeneralInformation *r,
 				     const char *domain_name,
 				     const char *primary,
 				     uint64_t sequence_num,
-				     uint32_t unknown2,
+				     enum samr_DomainServerState domain_server_state,
 				     enum samr_Role role,
 				     uint32_t unknown3,
 				     uint32_t num_users,
@@ -59,7 +59,7 @@ void init_samr_DomGeneralInformation(struct samr_DomGeneralInformation *r,
 	init_lsa_String(&r->domain_name, domain_name);
 	init_lsa_String(&r->primary, primary);
 	r->sequence_num = sequence_num;
-	r->unknown2 = unknown2;
+	r->domain_server_state = domain_server_state;
 	r->role = role;
 	r->unknown3 = unknown3;
 	r->num_users = num_users;
@@ -134,11 +134,12 @@ void init_samr_DomInfo8(struct samr_DomInfo8 *r,
 ********************************************************************/
 
 void init_samr_DomInfo9(struct samr_DomInfo9 *r,
-			uint32_t unknown)
+			enum samr_DomainServerState domain_server_state)
 {
-	r->unknown = unknown;
+	r->domain_server_state = domain_server_state;
 }
 
+
 /*******************************************************************
  inits a structure.
 ********************************************************************/
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 3b8c3a1..7cc4b2c 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -3109,7 +3109,7 @@ NTSTATUS _samr_QueryDomainInfo(pipes_struct *p,
 							lp_workgroup(),
 							global_myname(),
 							seq_num,
-							1,
+							DOMAIN_SERVER_ENABLED,
 							server_role,
 							1,
 							num_users,
diff --git a/source3/rpcclient/cmd_samr.c b/source3/rpcclient/cmd_samr.c
index 3494e91..eaf5adb 100644
--- a/source3/rpcclient/cmd_samr.c
+++ b/source3/rpcclient/cmd_samr.c
@@ -161,7 +161,7 @@ static void display_sam_dom_info_2(struct samr_DomGeneralInformation *general)
 	printf("Force Logoff:\t%d\n",
 		(int)nt_time_to_unix_abs(&general->force_logoff_time));
 
-	printf("Unknown 2:\t0x%x\n", general->unknown2);
+	printf("Domain Server State:\t0x%x\n", general->domain_server_state);
 	printf("Server Role:\t%s\n", server_role_str(general->role));
 	printf("Unknown 3:\t0x%x\n", general->unknown3);
 }
@@ -201,7 +201,7 @@ static void display_sam_dom_info_8(struct samr_DomInfo8 *info8)
 
 static void display_sam_dom_info_9(struct samr_DomInfo9 *info9)
 {
-	printf("unknown:\t%d (0x%08x)\n", info9->unknown, info9->unknown);
+	printf("Domain Server State:\t0x%x\n", info9->domain_server_state);
 }
 
 static void display_sam_dom_info_12(struct samr_DomInfo12 *info12)
diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c
index c093b53..e1fb187 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -704,7 +704,7 @@ static NTSTATUS dcesrv_samr_info_DomInfo9(struct samr_domain_state *state,
 				    struct ldb_message **dom_msgs,
 				   struct samr_DomInfo9 *info)
 {
-	info->unknown = 1;
+	info->domain_server_state = DOMAIN_SERVER_ENABLED;
 
 	return NT_STATUS_OK;
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list