Author: gd Date: 2005-08-03 01:08:42 +0000 (Wed, 03 Aug 2005) New Revision: 8971
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8971 Log: Fix querydispinfo (still need to look at enumdomusers) to allow to list more then 511 users. After the rewrite, the old NT_STATUS-semantics didn't fit any longer. Guenther Modified: branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c trunk/source/rpc_server/srv_samr_nt.c Changeset: Modified: branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c =================================================================== --- branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c 2005-08-03 00:59:35 UTC (rev 8970) +++ branches/SAMBA_3_0/source/rpc_server/srv_samr_nt.c 2005-08-03 01:08:42 UTC (rev 8971) @@ -808,7 +808,7 @@ struct samr_displayentry *entries = NULL; DEBUG(5, ("samr_reply_query_dispinfo: %d\n", __LINE__)); - r_u->status = NT_STATUS_OK; + r_u->status = NT_STATUS_UNSUCCESSFUL; /* find the policy handle. open a policy on it. */ if (!find_policy_by_hnd(p, &q_u->domain_pol, (void **)&info)) @@ -951,8 +951,10 @@ /* calculate the total size */ total_data_size=num_account*struct_size; - if (enum_context+max_entries < num_account) + if (num_account) r_u->status = STATUS_MORE_ENTRIES; + else + r_u->status = NT_STATUS_OK; DEBUG(5, ("_samr_query_dispinfo: %d\n", __LINE__)); Modified: trunk/source/rpc_server/srv_samr_nt.c =================================================================== --- trunk/source/rpc_server/srv_samr_nt.c 2005-08-03 00:59:35 UTC (rev 8970) +++ trunk/source/rpc_server/srv_samr_nt.c 2005-08-03 01:08:42 UTC (rev 8971) @@ -807,7 +807,7 @@ struct samr_displayentry *entries = NULL; DEBUG(5, ("samr_reply_query_dispinfo: %d\n", __LINE__)); - r_u->status = NT_STATUS_OK; + r_u->status = NT_STATUS_UNSUCCESSFUL; /* find the policy handle. open a policy on it. */ if (!find_policy_by_hnd(p, &q_u->domain_pol, (void **)&info)) @@ -950,8 +950,10 @@ /* calculate the total size */ total_data_size=num_account*struct_size; - if (enum_context+max_entries < num_account) + if (num_account) r_u->status = STATUS_MORE_ENTRIES; + else + r_u->status = NT_STATUS_OK; DEBUG(5, ("_samr_query_dispinfo: %d\n", __LINE__));
