svn commit: samba r8971 - branches/SAMBA_3_0/source/rpc_server trunk/source/rpc_server

gd at samba.org gd at samba.org
Wed Aug 3 01:08:43 GMT 2005


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__));
 



More information about the samba-cvs mailing list