[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-2141-g6f4044c

Günther Deschner gd at samba.org
Mon Jun 8 17:48:31 GMT 2009


The branch, master has been updated
       via  6f4044cae97ec1d2682a0e4332d7f9e414adfca2 (commit)
       via  2c84de40b35571c2d217657d39ef5c64eec77344 (commit)
      from  18c340b9247a6884588ce501cdf259aa74036bfd (commit)

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


- Log -----------------------------------------------------------------
commit 6f4044cae97ec1d2682a0e4332d7f9e414adfca2
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 8 17:32:10 2009 +0200

    s3-samr: fix enum_acb_mask type (uint32 instead of uint16).
    
    Guenther

commit 2c84de40b35571c2d217657d39ef5c64eec77344
Author: Günther Deschner <gd at samba.org>
Date:   Mon Jun 8 15:48:24 2009 +0200

    s3-rpcclient: allow to set query size for samr enum calls.
    
    Guenther

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

Summary of changes:
 source3/rpc_server/srv_samr_nt.c |    2 +-
 source3/rpcclient/cmd_samr.c     |   48 +++++++++++++++++++++++++------------
 2 files changed, 33 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 2cdb4c1..fba1fc6 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -78,7 +78,7 @@ typedef struct disp_info {
 	struct pdb_search *groups; /* querydispinfo 3 and 5, enumgroups */
 	struct pdb_search *aliases; /* enumaliases */
 
-	uint16 enum_acb_mask;
+	uint32_t enum_acb_mask;
 	struct pdb_search *enum_users; /* enumusers with a mask */
 
 	struct timed_event *cache_timeout_event; /* cache idle timeout
diff --git a/source3/rpcclient/cmd_samr.c b/source3/rpcclient/cmd_samr.c
index e074544..699b54d 100644
--- a/source3/rpcclient/cmd_samr.c
+++ b/source3/rpcclient/cmd_samr.c
@@ -786,21 +786,28 @@ static NTSTATUS cmd_samr_enum_dom_users(struct rpc_pipe_client *cli,
 {
 	struct policy_handle connect_pol, domain_pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-	uint32 start_idx, size, num_dom_users, i;
+	uint32 start_idx, num_dom_users, i;
 	struct samr_SamArray *dom_users = NULL;
 	uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
 	uint32 acb_mask = ACB_NORMAL;
+	uint32_t size = 0xffff;
 
-	if ((argc < 1) || (argc > 3)) {
-		printf("Usage: %s [access_mask] [acb_mask]\n", argv[0]);
+	if ((argc < 1) || (argc > 4)) {
+		printf("Usage: %s [access_mask] [acb_mask] [size]\n", argv[0]);
 		return NT_STATUS_OK;
 	}
 
-	if (argc > 1)
+	if (argc > 1) {
 		sscanf(argv[1], "%x", &access_mask);
+	}
 
-	if (argc > 2)
+	if (argc > 2) {
 		sscanf(argv[2], "%x", &acb_mask);
+	}
+
+	if (argc > 3) {
+		sscanf(argv[3], "%x", &size);
+	}
 
 	/* Get sam policy handle */
 
@@ -824,7 +831,6 @@ static NTSTATUS cmd_samr_enum_dom_users(struct rpc_pipe_client *cli,
 	/* Enumerate domain users */
 
 	start_idx = 0;
-	size = 0xffff;
 
 	do {
 		result = rpccli_samr_EnumDomainUsers(cli, mem_ctx,
@@ -864,17 +870,23 @@ static NTSTATUS cmd_samr_enum_dom_groups(struct rpc_pipe_client *cli,
 {
 	struct policy_handle connect_pol, domain_pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-	uint32 start_idx, size, num_dom_groups, i;
+	uint32 start_idx, num_dom_groups, i;
 	uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
 	struct samr_SamArray *dom_groups = NULL;
+	uint32_t size = 0xffff;
 
-	if ((argc < 1) || (argc > 2)) {
-		printf("Usage: %s [access_mask]\n", argv[0]);
+	if ((argc < 1) || (argc > 3)) {
+		printf("Usage: %s [access_mask] [max_size]\n", argv[0]);
 		return NT_STATUS_OK;
 	}
 
-	if (argc > 1)
+	if (argc > 1) {
 		sscanf(argv[1], "%x", &access_mask);
+	}
+
+	if (argc > 2) {
+		sscanf(argv[2], "%x", &size);
+	}
 
 	/* Get sam policy handle */
 
@@ -898,7 +910,6 @@ static NTSTATUS cmd_samr_enum_dom_groups(struct rpc_pipe_client *cli,
 	/* Enumerate domain groups */
 
 	start_idx = 0;
-	size = 0xffff;
 
 	do {
 		result = rpccli_samr_EnumDomainGroups(cli, mem_ctx,
@@ -936,17 +947,23 @@ static NTSTATUS cmd_samr_enum_als_groups(struct rpc_pipe_client *cli,
 {
 	struct policy_handle connect_pol, domain_pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-	uint32 start_idx, size, num_als_groups, i;
+	uint32 start_idx, num_als_groups, i;
 	uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
 	struct samr_SamArray *als_groups = NULL;
+	uint32_t size = 0xffff;
 
-	if ((argc < 2) || (argc > 3)) {
-		printf("Usage: %s builtin|domain [access mask]\n", argv[0]);
+	if ((argc < 2) || (argc > 4)) {
+		printf("Usage: %s builtin|domain [access mask] [max_size]\n", argv[0]);
 		return NT_STATUS_OK;
 	}
 
-	if (argc > 2)
+	if (argc > 2) {
 		sscanf(argv[2], "%x", &access_mask);
+	}
+
+	if (argc > 3) {
+		sscanf(argv[3], "%x", &size);
+	}
 
 	/* Get sam policy handle */
 
@@ -971,7 +988,6 @@ static NTSTATUS cmd_samr_enum_als_groups(struct rpc_pipe_client *cli,
 	/* Enumerate alias groups */
 
 	start_idx = 0;
-	size = 0xffff;		/* Number of groups to retrieve */
 
 	do {
 		result = rpccli_samr_EnumDomainAliases(cli, mem_ctx,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list