[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Mon Apr 19 08:09:50 MDT 2010


The branch, master has been updated
       via  23fd764... s4:winbind: fill response.data.num_entries for WINBINDD_LIST_USERS
       via  629e73e... s4:winbind: fill response.data.num_entries for WINBINDD_LIST_GROUPS
       via  da17719... s4:winbind: fill response.data.num_entries for WINBINDD_LIST_TRUSTDOM
      from  c293359... s3: Remove a leftover of my lua experiments

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


- Log -----------------------------------------------------------------
commit 23fd76433ab3f1fe4462e39633bc55e26bf050fc
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Apr 19 16:08:59 2010 +0200

    s4:winbind: fill response.data.num_entries for WINBINDD_LIST_USERS
    
    metze

commit 629e73eeedb2aea2bda016bbc5559a66e3a86b59
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Apr 19 16:08:41 2010 +0200

    s4:winbind: fill response.data.num_entries for WINBINDD_LIST_GROUPS
    
    metze

commit da17719241b33f97ecb7e36104d7e8869f3e71e9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Apr 19 16:07:28 2010 +0200

    s4:winbind: fill response.data.num_entries for WINBINDD_LIST_TRUSTDOM
    
    metze

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

Summary of changes:
 source4/winbind/wb_cmd_list_groups.c |    6 +++++-
 source4/winbind/wb_cmd_list_users.c  |    6 +++++-
 source4/winbind/wb_samba3_cmd.c      |    9 +++++++--
 3 files changed, 17 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/winbind/wb_cmd_list_groups.c b/source4/winbind/wb_cmd_list_groups.c
index afb96b4..746ce8f 100644
--- a/source4/winbind/wb_cmd_list_groups.c
+++ b/source4/winbind/wb_cmd_list_groups.c
@@ -32,6 +32,7 @@ struct cmd_list_groups_state {
 	char *domain_name;
 	uint32_t resume_index;
 	char *result;
+	uint32_t num_groups;
 };
 
 static void cmd_list_groups_recv_domain(struct composite_context *ctx);
@@ -55,6 +56,7 @@ struct composite_context *wb_cmd_list_groups_send(TALLOC_CTX *mem_ctx,
 	result->private_data = state;
 	state->service = service;
 	state->resume_index = 0;
+	state->num_groups = 0;
 	state->result = talloc_strdup(state, "");
 	if (composite_nomem(state->result, state->ctx)) return result;
 
@@ -144,6 +146,7 @@ static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
 		state->result = talloc_asprintf_append_buffer(state->result,
 					"%s,",
 					group_list->out.groups[i].groupname);
+		state->num_groups++;
 	}
 
 	/* If the status is OK, we're finished, there's no more groups.
@@ -176,7 +179,7 @@ static void cmd_list_groups_recv_group_list(struct composite_context *ctx)
 
 NTSTATUS wb_cmd_list_groups_recv(struct composite_context *ctx,
 		TALLOC_CTX *mem_ctx, uint32_t *extra_data_len,
-		char **extra_data)
+		char **extra_data, uint32_t *num_groups)
 {
 	NTSTATUS status = composite_wait(ctx);
 
@@ -188,6 +191,7 @@ NTSTATUS wb_cmd_list_groups_recv(struct composite_context *ctx,
 
 		*extra_data_len = strlen(state->result);
 		*extra_data = talloc_steal(mem_ctx, state->result);
+		*num_groups = state->num_groups;
 	}
 
 	talloc_free(ctx);
diff --git a/source4/winbind/wb_cmd_list_users.c b/source4/winbind/wb_cmd_list_users.c
index ac44794..4728f3a 100644
--- a/source4/winbind/wb_cmd_list_users.c
+++ b/source4/winbind/wb_cmd_list_users.c
@@ -32,6 +32,7 @@ struct cmd_list_users_state {
 	char *domain_name;
 	uint32_t resume_index;
 	char *result;
+	uint32_t num_users;
 };
 
 static void cmd_list_users_recv_domain(struct composite_context *ctx);
@@ -55,6 +56,7 @@ struct composite_context *wb_cmd_list_users_send(TALLOC_CTX *mem_ctx,
 	result->private_data = state;
 	state->service = service;
 	state->resume_index = 0;
+	state->num_users = 0;
 	state->result = talloc_strdup(state, "");
 	if (composite_nomem(state->result, state->ctx)) return result;
 
@@ -142,6 +144,7 @@ static void cmd_list_users_recv_user_list(struct composite_context *ctx)
 		DEBUG(5, ("Appending user '%s'\n", user_list->out.users[i].username));
 		state->result = talloc_asprintf_append_buffer(state->result, "%s,",
 					user_list->out.users[i].username);
+		state->num_users++;
 	}
 
 	/* If the status is OK, we're finished, there's no more users.
@@ -174,7 +177,7 @@ static void cmd_list_users_recv_user_list(struct composite_context *ctx)
 
 NTSTATUS wb_cmd_list_users_recv(struct composite_context *ctx,
 		TALLOC_CTX *mem_ctx, uint32_t *extra_data_len,
-		char **extra_data)
+		char **extra_data, uint32_t *num_users)
 {
 	NTSTATUS status = composite_wait(ctx);
 
@@ -186,6 +189,7 @@ NTSTATUS wb_cmd_list_users_recv(struct composite_context *ctx,
 
 		*extra_data_len = strlen(state->result);
 		*extra_data = talloc_steal(mem_ctx, state->result);
+		*num_users = state->num_users;
 	}
 
 	talloc_free(ctx);
diff --git a/source4/winbind/wb_samba3_cmd.c b/source4/winbind/wb_samba3_cmd.c
index 077dcbe..c66d696 100644
--- a/source4/winbind/wb_samba3_cmd.c
+++ b/source4/winbind/wb_samba3_cmd.c
@@ -863,6 +863,7 @@ static void list_trustdom_recv_doms(struct composite_context *ctx)
 	if (num_domains > 0) {
 		s3call->response.extra_data.data = result;
 		s3call->response.length += strlen(result)+1;
+		s3call->response.data.num_entries = num_domains;
 	}
 
  done:
@@ -896,18 +897,20 @@ static void list_groups_recv(struct composite_context *ctx)
 						struct wbsrv_samba3_call);
 	uint32_t extra_data_len;
 	char *extra_data;
+	uint32_t num_groups;
 	NTSTATUS status;
 
 	DEBUG(5, ("list_groups_recv called\n"));
 
 	status = wb_cmd_list_groups_recv(ctx, s3call, &extra_data_len,
-			&extra_data);
+			&extra_data, &num_groups);
 
 	if (NT_STATUS_IS_OK(status)) {
 		s3call->response.extra_data.data = extra_data;
 		s3call->response.length += extra_data_len;
 		if (extra_data) {
 			s3call->response.length += 1;
+			s3call->response.data.num_entries = num_groups;
 		}
 	}
 
@@ -943,18 +946,20 @@ static void list_users_recv(struct composite_context *ctx)
 				struct wbsrv_samba3_call);
 	uint32_t extra_data_len;
 	char *extra_data;
+	uint32_t num_users;
 	NTSTATUS status;
 
 	DEBUG(5, ("list_users_recv called\n"));
 
 	status = wb_cmd_list_users_recv(ctx, s3call, &extra_data_len,
-			&extra_data);
+			&extra_data, &num_users);
 
 	if (NT_STATUS_IS_OK(status)) {
 		s3call->response.extra_data.data = extra_data;
 		s3call->response.length += extra_data_len;
 		if (extra_data) {
 			s3call->response.length += 1;
+			s3call->response.data.num_entries = num_users;
 		}
 	}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list