[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