From cafba3d7a772385da36f7571690ba2ce2262cef5 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 3 Apr 2010 14:16:19 +0200 Subject: winbindd: Fill in num_entries where available The server implementation of WINBINDD_LIST_USERS, WINBINDD_LIST_GROUPS and WINBINDD_LIST_TRUSTDOM knows the number of entries returned. Bump up the version number so that a newer lib does not rely on something an older winbind does not do. --- source3/winbindd/winbindd_list_groups.c | 2 ++ source3/winbindd/winbindd_list_users.c | 2 ++ source3/winbindd/winbindd_misc.c | 2 ++ 3 files changed, 6 insertions(+) (limited to 'source3/winbindd') diff --git a/source3/winbindd/winbindd_list_groups.c b/source3/winbindd/winbindd_list_groups.c index 3c9ff20b85..7331e9da1e 100644 --- a/source3/winbindd/winbindd_list_groups.c +++ b/source3/winbindd/winbindd_list_groups.c @@ -161,6 +161,7 @@ NTSTATUS winbindd_list_groups_recv(struct tevent_req *req, } len = 0; + response->data.num_entries = 0; for (i=0; inum_domains; i++) { struct winbindd_list_groups_domstate *d = &state->domains[i]; @@ -171,6 +172,7 @@ NTSTATUS winbindd_list_groups_recv(struct tevent_req *req, True); len += strlen(name)+1; } + response->data.num_entries += d->groups.num_principals; } result = talloc_array(response, char, len+1); diff --git a/source3/winbindd/winbindd_list_users.c b/source3/winbindd/winbindd_list_users.c index 19232b7b11..124e71b039 100644 --- a/source3/winbindd/winbindd_list_users.c +++ b/source3/winbindd/winbindd_list_users.c @@ -161,6 +161,7 @@ NTSTATUS winbindd_list_users_recv(struct tevent_req *req, } len = 0; + response->data.num_entries = 0; for (i=0; inum_domains; i++) { struct winbindd_list_users_domstate *d = &state->domains[i]; @@ -171,6 +172,7 @@ NTSTATUS winbindd_list_users_recv(struct tevent_req *req, True); len += strlen(name)+1; } + response->data.num_entries += d->users.num_userinfos; } result = talloc_array(response, char, len+1); diff --git a/source3/winbindd/winbindd_misc.c b/source3/winbindd/winbindd_misc.c index ac8f1a7dfd..e6be28079d 100644 --- a/source3/winbindd/winbindd_misc.c +++ b/source3/winbindd/winbindd_misc.c @@ -130,6 +130,8 @@ void winbindd_list_trusted_domains(struct winbindd_cli_state *state) is_online ? "Online" : "Offline" ); } + state->response->data.num_entries = num_domains; + extra_data_len = strlen(extra_data); if (extra_data_len > 0) { -- cgit