[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-unstable-1346-gbe80717

Günther Deschner gd at samba.org
Mon Jan 14 16:25:36 GMT 2008


The branch, v3-2-test has been updated
       via  be8071779fa14d964e86810f5fb16bc52aea4e36 (commit)
       via  33f6eff92b6bdf804d54c84375cece8a867933f2 (commit)
       via  b37b2b77edec72fc3f53b3461aa1c210e4366c1b (commit)
       via  add28753b2e740804c48db5f6235cb2f8908d82b (commit)
       via  dceb9a4c80fb241e12fafc6229aa8e81f5d2df1a (commit)
      from  99dd28da84c270f46535bd2ffa6bfef96d2e2eed (commit)

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


- Log -----------------------------------------------------------------
commit be8071779fa14d964e86810f5fb16bc52aea4e36
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 14 17:17:20 2008 +0100

    Fix all callers of old rpccli_lsa_set_info_policy() call.
    
    Guenther

commit 33f6eff92b6bdf804d54c84375cece8a867933f2
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 14 17:16:31 2008 +0100

    Fix prototypes for lsa set info policy calls.
    
    Guenther

commit b37b2b77edec72fc3f53b3461aa1c210e4366c1b
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 14 17:16:06 2008 +0100

    Remove old lsa set info policy call.
    
    Guenther

commit add28753b2e740804c48db5f6235cb2f8908d82b
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 14 17:13:17 2008 +0100

    Re-run make idl for new lsa calls.
    
    Guenther

commit dceb9a4c80fb241e12fafc6229aa8e81f5d2df1a
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jan 14 17:10:31 2008 +0100

    Fill in IDL for lsa_SetInfoPolicy and lsa_SetInfoPolicy2.
    
    Guenther

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

Summary of changes:
 source/include/rpc_lsa.h        |   16 -------
 source/librpc/gen_ndr/cli_lsa.c |   16 ++++++-
 source/librpc/gen_ndr/cli_lsa.h |   10 ++++-
 source/librpc/gen_ndr/lsa.h     |   12 ++++++
 source/librpc/gen_ndr/ndr_lsa.c |   76 +++++++++++++++++++++++++++++++++++
 source/librpc/idl/lsa.idl       |   12 +++++-
 source/rpc_client/cli_lsarpc.c  |   35 ----------------
 source/rpc_parse/parse_lsa.c    |   58 ---------------------------
 source/utils/net_rpc_audit.c    |   84 +++++++++++++++++++++------------------
 9 files changed, 165 insertions(+), 154 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/rpc_lsa.h b/source/include/rpc_lsa.h
index 22436c5..ef6ff6d 100644
--- a/source/include/rpc_lsa.h
+++ b/source/include/rpc_lsa.h
@@ -334,22 +334,6 @@ typedef struct lsa_info_ctr
 
 typedef LSA_INFO_CTR LSA_INFO_CTR2;
 
-/* LSA_Q_SET_INFO - LSA set info policy */
-typedef struct lsa_set_info
-{
-	POLICY_HND pol; /* policy handle */
-	uint16 info_class; /* info class */
-	LSA_INFO_CTR ctr;
-
-} LSA_Q_SET_INFO;
-
-/* LSA_R_SET_INFO - response to LSA set info policy */
-typedef struct lsa_r_set_info
-{
-	NTSTATUS status; /* return code */
-
-} LSA_R_SET_INFO;
-
 /* LSA_R_QUERY_INFO - response to LSA query info policy */
 typedef struct lsa_r_query_info
 {
diff --git a/source/librpc/gen_ndr/cli_lsa.c b/source/librpc/gen_ndr/cli_lsa.c
index 470ab3e..4d81833 100644
--- a/source/librpc/gen_ndr/cli_lsa.c
+++ b/source/librpc/gen_ndr/cli_lsa.c
@@ -341,12 +341,18 @@ NTSTATUS rpccli_lsa_QueryInfoPolicy(struct rpc_pipe_client *cli,
 }
 
 NTSTATUS rpccli_lsa_SetInfoPolicy(struct rpc_pipe_client *cli,
-				  TALLOC_CTX *mem_ctx)
+				  TALLOC_CTX *mem_ctx,
+				  struct policy_handle *handle,
+				  uint16_t level,
+				  union lsa_PolicyInformation *info)
 {
 	struct lsa_SetInfoPolicy r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.handle = handle;
+	r.in.level = level;
+	r.in.info = info;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_SetInfoPolicy, &r);
@@ -2031,12 +2037,18 @@ NTSTATUS rpccli_lsa_QueryInfoPolicy2(struct rpc_pipe_client *cli,
 }
 
 NTSTATUS rpccli_lsa_SetInfoPolicy2(struct rpc_pipe_client *cli,
-				   TALLOC_CTX *mem_ctx)
+				   TALLOC_CTX *mem_ctx,
+				   struct policy_handle *handle,
+				   uint16_t level,
+				   union lsa_PolicyInformation *info)
 {
 	struct lsa_SetInfoPolicy2 r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.handle = handle;
+	r.in.level = level;
+	r.in.info = info;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(lsa_SetInfoPolicy2, &r);
diff --git a/source/librpc/gen_ndr/cli_lsa.h b/source/librpc/gen_ndr/cli_lsa.h
index ad5e60d..59c0b92 100644
--- a/source/librpc/gen_ndr/cli_lsa.h
+++ b/source/librpc/gen_ndr/cli_lsa.h
@@ -34,7 +34,10 @@ NTSTATUS rpccli_lsa_QueryInfoPolicy(struct rpc_pipe_client *cli,
 				    uint16_t level,
 				    union lsa_PolicyInformation *info);
 NTSTATUS rpccli_lsa_SetInfoPolicy(struct rpc_pipe_client *cli,
-				  TALLOC_CTX *mem_ctx);
+				  TALLOC_CTX *mem_ctx,
+				  struct policy_handle *handle,
+				  uint16_t level,
+				  union lsa_PolicyInformation *info);
 NTSTATUS rpccli_lsa_ClearAuditLog(struct rpc_pipe_client *cli,
 				  TALLOC_CTX *mem_ctx);
 NTSTATUS rpccli_lsa_CreateAccount(struct rpc_pipe_client *cli,
@@ -215,7 +218,10 @@ NTSTATUS rpccli_lsa_QueryInfoPolicy2(struct rpc_pipe_client *cli,
 				     uint16_t level,
 				     union lsa_PolicyInformation *info);
 NTSTATUS rpccli_lsa_SetInfoPolicy2(struct rpc_pipe_client *cli,
-				   TALLOC_CTX *mem_ctx);
+				   TALLOC_CTX *mem_ctx,
+				   struct policy_handle *handle,
+				   uint16_t level,
+				   union lsa_PolicyInformation *info);
 NTSTATUS rpccli_lsa_QueryTrustedDomainInfoByName(struct rpc_pipe_client *cli,
 						 TALLOC_CTX *mem_ctx,
 						 struct policy_handle *handle,
diff --git a/source/librpc/gen_ndr/lsa.h b/source/librpc/gen_ndr/lsa.h
index 6c08156..066d568 100644
--- a/source/librpc/gen_ndr/lsa.h
+++ b/source/librpc/gen_ndr/lsa.h
@@ -567,6 +567,12 @@ struct lsa_QueryInfoPolicy {
 
 struct lsa_SetInfoPolicy {
 	struct {
+		struct policy_handle *handle;/* [ref] */
+		uint16_t level;
+		union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
+	} in;
+
+	struct {
 		NTSTATUS result;
 	} out;
 
@@ -1079,6 +1085,12 @@ struct lsa_QueryInfoPolicy2 {
 
 struct lsa_SetInfoPolicy2 {
 	struct {
+		struct policy_handle *handle;/* [ref] */
+		uint16_t level;
+		union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
+	} in;
+
+	struct {
 		NTSTATUS result;
 	} out;
 
diff --git a/source/librpc/gen_ndr/ndr_lsa.c b/source/librpc/gen_ndr/ndr_lsa.c
index ec22c9b..57810bc 100644
--- a/source/librpc/gen_ndr/ndr_lsa.c
+++ b/source/librpc/gen_ndr/ndr_lsa.c
@@ -4602,6 +4602,16 @@ _PUBLIC_ void ndr_print_lsa_QueryInfoPolicy(struct ndr_print *ndr, const char *n
 static enum ndr_err_code ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, int flags, const struct lsa_SetInfoPolicy *r)
 {
 	if (flags & NDR_IN) {
+		if (r->in.handle == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
+		if (r->in.info == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
+		NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
@@ -4611,7 +4621,25 @@ static enum ndr_err_code ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, int fl
 
 static enum ndr_err_code ndr_pull_lsa_SetInfoPolicy(struct ndr_pull *ndr, int flags, struct lsa_SetInfoPolicy *r)
 {
+	TALLOC_CTX *_mem_save_handle_0;
+	TALLOC_CTX *_mem_save_info_0;
 	if (flags & NDR_IN) {
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.handle);
+		}
+		_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.info);
+		}
+		_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
+		NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
@@ -4629,6 +4657,16 @@ _PUBLIC_ void ndr_print_lsa_SetInfoPolicy(struct ndr_print *ndr, const char *nam
 	if (flags & NDR_IN) {
 		ndr_print_struct(ndr, "in", "lsa_SetInfoPolicy");
 		ndr->depth++;
+		ndr_print_ptr(ndr, "handle", r->in.handle);
+		ndr->depth++;
+		ndr_print_policy_handle(ndr, "handle", r->in.handle);
+		ndr->depth--;
+		ndr_print_uint16(ndr, "level", r->in.level);
+		ndr_print_ptr(ndr, "info", r->in.info);
+		ndr->depth++;
+		ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
+		ndr_print_lsa_PolicyInformation(ndr, "info", r->in.info);
+		ndr->depth--;
 		ndr->depth--;
 	}
 	if (flags & NDR_OUT) {
@@ -8124,6 +8162,16 @@ _PUBLIC_ void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print *ndr, const char *
 static enum ndr_err_code ndr_push_lsa_SetInfoPolicy2(struct ndr_push *ndr, int flags, const struct lsa_SetInfoPolicy2 *r)
 {
 	if (flags & NDR_IN) {
+		if (r->in.handle == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
+		if (r->in.info == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
+		NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
@@ -8133,7 +8181,25 @@ static enum ndr_err_code ndr_push_lsa_SetInfoPolicy2(struct ndr_push *ndr, int f
 
 static enum ndr_err_code ndr_pull_lsa_SetInfoPolicy2(struct ndr_pull *ndr, int flags, struct lsa_SetInfoPolicy2 *r)
 {
+	TALLOC_CTX *_mem_save_handle_0;
+	TALLOC_CTX *_mem_save_info_0;
 	if (flags & NDR_IN) {
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.handle);
+		}
+		_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.handle));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.info);
+		}
+		_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
+		NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
@@ -8151,6 +8217,16 @@ _PUBLIC_ void ndr_print_lsa_SetInfoPolicy2(struct ndr_print *ndr, const char *na
 	if (flags & NDR_IN) {
 		ndr_print_struct(ndr, "in", "lsa_SetInfoPolicy2");
 		ndr->depth++;
+		ndr_print_ptr(ndr, "handle", r->in.handle);
+		ndr->depth++;
+		ndr_print_policy_handle(ndr, "handle", r->in.handle);
+		ndr->depth--;
+		ndr_print_uint16(ndr, "level", r->in.level);
+		ndr_print_ptr(ndr, "info", r->in.info);
+		ndr->depth++;
+		ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
+		ndr_print_lsa_PolicyInformation(ndr, "info", r->in.info);
+		ndr->depth--;
 		ndr->depth--;
 	}
 	if (flags & NDR_OUT) {
diff --git a/source/librpc/idl/lsa.idl b/source/librpc/idl/lsa.idl
index 6cf57b8..a7e04dc 100644
--- a/source/librpc/idl/lsa.idl
+++ b/source/librpc/idl/lsa.idl
@@ -239,7 +239,11 @@ import "security.idl";
 
 	/******************/
 	/* Function:       0x08 */
-	NTSTATUS lsa_SetInfoPolicy ();
+	NTSTATUS lsa_SetInfoPolicy (
+		[in]                            policy_handle *handle,
+		[in]                            uint16 level,
+		[in,switch_is(level)]           lsa_PolicyInformation *info
+		);
 
 	/******************/
 	/* Function:       0x09 */
@@ -710,7 +714,11 @@ import "security.idl";
 		);
 
 	/* Function 0x2f */
-	NTSTATUS lsa_SetInfoPolicy2();
+	NTSTATUS lsa_SetInfoPolicy2(
+		[in]                            policy_handle *handle,
+		[in]                            uint16 level,
+		[in,switch_is(level)]           lsa_PolicyInformation *info
+		);
 
 	/**********************/
 	/* Function 0x30 */
diff --git a/source/rpc_client/cli_lsarpc.c b/source/rpc_client/cli_lsarpc.c
index a023fe7..77ade5c 100644
--- a/source/rpc_client/cli_lsarpc.c
+++ b/source/rpc_client/cli_lsarpc.c
@@ -716,41 +716,6 @@ NTSTATUS rpccli_lsa_query_info_policy2(struct rpc_pipe_client *cli,
 	return result;
 }
 
-NTSTATUS rpccli_lsa_set_info_policy(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				    POLICY_HND *pol, uint16 info_class,
-				    LSA_INFO_CTR ctr)
-{
-	prs_struct qbuf, rbuf;
-	LSA_Q_SET_INFO q;
-	LSA_R_SET_INFO r;
-	NTSTATUS result;
-
-	ZERO_STRUCT(q);
-	ZERO_STRUCT(r);
-
-	init_q_set(&q, pol, info_class, ctr);
-
-	CLI_DO_RPC(cli, mem_ctx, PI_LSARPC, LSA_SETINFOPOLICY,
-		q, r,
-		qbuf, rbuf,
-		lsa_io_q_set,
-		lsa_io_r_set,
-		NT_STATUS_UNSUCCESSFUL);
-
-	result = r.status;
-
-	if (!NT_STATUS_IS_OK(result)) {
-		goto done;
-	}
-
-	/* Return output parameters */
-
- done:
-
-	return result;
-}
-
-
 /**
  * Enumerate list of trusted domains
  *
diff --git a/source/rpc_parse/parse_lsa.c b/source/rpc_parse/parse_lsa.c
index e4d5d15..98c4283 100644
--- a/source/rpc_parse/parse_lsa.c
+++ b/source/rpc_parse/parse_lsa.c
@@ -909,21 +909,6 @@ bool lsa_io_dom_query_12(const char *desc, DOM_QUERY_12 *info, prs_struct *ps, i
 	
 }
 
-/*******************************************************************
- Inits an LSA_Q_QUERY_INFO structure.
-********************************************************************/
-
-void init_q_set(LSA_Q_SET_INFO *in, POLICY_HND *hnd, uint16 info_class, LSA_INFO_CTR ctr)
-{
-	DEBUG(5,("init_q_set\n"));
-
-	in->info_class = info_class;
-
-	in->pol = *hnd;
-
-	in->ctr = ctr;
-	in->ctr.info_class = info_class;
-}
 
 /*******************************************************************
 reads or writes a structure.
@@ -1065,49 +1050,6 @@ bool lsa_io_r_query(const char *desc, LSA_R_QUERY_INFO *out, prs_struct *ps, int
 }
 
 /*******************************************************************
- Reads or writes an LSA_Q_SET_INFO structure.
-********************************************************************/
-
-bool lsa_io_q_set(const char *desc, LSA_Q_SET_INFO *in, prs_struct *ps, 
-		  int depth)
-{
-	prs_debug(ps, depth, desc, "lsa_io_q_set");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_pol_hnd("", &in->pol, ps, depth))
-		return False;
-
-	if(!prs_uint16("info_class", ps, depth, &in->info_class))
-		return False;
-
-	if(!lsa_io_query_info_ctr("", ps, depth, &in->ctr))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
- Reads or writes an LSA_R_SET_INFO structure.
-********************************************************************/
-
-bool lsa_io_r_set(const char *desc, LSA_R_SET_INFO *out, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "lsa_io_r_set");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!prs_ntstatus("status", ps, depth, &out->status))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
  Inits a LSA_SID_ENUM structure.
 ********************************************************************/
 
diff --git a/source/utils/net_rpc_audit.c b/source/utils/net_rpc_audit.c
index b7fda2b..115f8f6 100644
--- a/source/utils/net_rpc_audit.c
+++ b/source/utils/net_rpc_audit.c
@@ -72,7 +72,7 @@ static NTSTATUS rpc_audit_get_internal(const DOM_SID *domain_sid,
 {
 	POLICY_HND pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-	LSA_INFO_CTR dom; 
+	union lsa_PolicyInformation info;
 	int i;
 
 	uint32 info_class = 2;
@@ -97,15 +97,16 @@ static NTSTATUS rpc_audit_get_internal(const DOM_SID *domain_sid,
 		goto done;
 	}
 
-	result = rpccli_lsa_query_info_policy_new(pipe_hnd, mem_ctx, &pol, 
-						  info_class,
-						  &dom);
+	result = rpccli_lsa_QueryInfoPolicy(pipe_hnd, mem_ctx,
+					    &pol,
+					    info_class,
+					    &info);
 
 	if (!NT_STATUS_IS_OK(result)) {
 		goto done;
 	}
 
-	for (i=0; i < dom.info.id2.count1; i++) {
+	for (i=0; i < info.audit_events.count; i++) {
 
 		const char *val = NULL, *policy = NULL;
 
@@ -113,14 +114,15 @@ static NTSTATUS rpc_audit_get_internal(const DOM_SID *domain_sid,
 			continue;
 		}
 
-		val = audit_policy_str(mem_ctx, dom.info.id2.auditsettings[i]);
+		val = audit_policy_str(mem_ctx, info.audit_events.settings[i]);
 		policy = audit_description_str(i);
 		print_auditing_category(policy, val);
 	}
 
  done:
 	if (!NT_STATUS_IS_OK(result)) {
-		d_printf("failed to get auditing policy: %s\n", nt_errstr(result));
+		d_printf("failed to get auditing policy: %s\n",
+			nt_errstr(result));
 	}
 
 	return result;
@@ -139,7 +141,7 @@ static NTSTATUS rpc_audit_set_internal(const DOM_SID *domain_sid,
 {
 	POLICY_HND pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-	LSA_INFO_CTR dom; 
+	union lsa_PolicyInformation info;
 
 	uint32 info_class = 2;
 	uint32 audit_policy, audit_category;
@@ -178,29 +180,32 @@ static NTSTATUS rpc_audit_set_internal(const DOM_SID *domain_sid,
 		goto done;
 	}
 
-	result = rpccli_lsa_query_info_policy_new(pipe_hnd, mem_ctx, &pol, 
-						  info_class,
-						  &dom);
+	result = rpccli_lsa_QueryInfoPolicy(pipe_hnd, mem_ctx,
+					    &pol,
+					    info_class,
+					    &info);
 
 	if (!NT_STATUS_IS_OK(result)) {
 		goto done;
 	}
 
-	dom.info.id2.auditsettings[audit_category] = audit_policy;
+	info.audit_events.settings[audit_category] = audit_policy;
+
+	result = rpccli_lsa_SetInfoPolicy(pipe_hnd, mem_ctx,
+					  &pol,
+					  info_class,
+					  &info);
 
-	result = rpccli_lsa_set_info_policy(pipe_hnd, mem_ctx, &pol, 
-					    info_class,
-					    dom);
 	if (!NT_STATUS_IS_OK(result)) {
 		goto done;
 	}
 
-	result = rpccli_lsa_query_info_policy_new(pipe_hnd, mem_ctx, &pol, 
-						  info_class,
-						  &dom);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list