svn commit: samba r16643 - in trunk/source: libmsrpc libsmb nsswitch python rpc_client rpcclient utils

jra at samba.org jra at samba.org
Wed Jun 28 21:30:13 GMT 2006


Author: jra
Date: 2006-06-28 21:30:12 +0000 (Wed, 28 Jun 2006)
New Revision: 16643

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16643

Log:
Fix bug #3887 reported by jason at ncac.gwu.edu
by converting the lookup_XX functions to correctly
return SID_NAME_TYPE enums.
Jeremy.

Modified:
   trunk/source/libmsrpc/cac_lsarpc.c
   trunk/source/libsmb/libsmbclient.c
   trunk/source/nsswitch/winbindd_rpc.c
   trunk/source/python/py_lsa.c
   trunk/source/rpc_client/cli_lsarpc.c
   trunk/source/rpcclient/cmd_lsarpc.c
   trunk/source/utils/net_rpc.c
   trunk/source/utils/net_rpc_rights.c
   trunk/source/utils/net_util.c
   trunk/source/utils/netlookup.c
   trunk/source/utils/smbcacls.c
   trunk/source/utils/smbcquotas.c


Changeset:
Modified: trunk/source/libmsrpc/cac_lsarpc.c
===================================================================
--- trunk/source/libmsrpc/cac_lsarpc.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/libmsrpc/cac_lsarpc.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -144,7 +144,7 @@
    /*buffers for outputs*/
    char **domains   = NULL;
    char **names     = NULL;
-   uint32 *types    = NULL;
+   enum SID_NAME_USE *types    = NULL;
 
    CacSidInfo *sids_out   = NULL;
    DOM_SID *unknown_out   = NULL;
@@ -267,7 +267,7 @@
 
    /*buffers for outputs*/
    DOM_SID *sids     = NULL;
-   uint32 *types     = NULL;
+   enum SID_NAME_USE *types     = NULL;
 
    CacSidInfo *sids_out  = NULL;
    char **unknown_out     = NULL;
@@ -579,7 +579,7 @@
 
    if(op->in.name && !op->in.sid) {
       DOM_SID *user_sid = NULL;
-      uint32 *type;
+      enum SID_NAME_USE *type;
 
       /*lookup the SID*/
       hnd->status = rpccli_lsa_lookup_names( pipe_hnd, mem_ctx, op->in.pol, 1, (const char **)&(op->in.name), NULL, &user_sid, &type);
@@ -806,7 +806,7 @@
    /*look up the user's SID if we have to*/
    if(op->in.name && !op->in.sid) {
       DOM_SID *user_sid = NULL;
-      uint32 *type;
+      enum SID_NAME_USE *type;
 
       /*lookup the SID*/
       hnd->status = rpccli_lsa_lookup_names( pipe_hnd, mem_ctx, op->in.pol, 1, (const char **)&(op->in.name), NULL, &user_sid, &type);
@@ -840,7 +840,7 @@
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
@@ -890,7 +890,7 @@
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
@@ -940,7 +940,7 @@
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
@@ -990,7 +990,7 @@
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;

Modified: trunk/source/libsmb/libsmbclient.c
===================================================================
--- trunk/source/libsmb/libsmbclient.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/libsmb/libsmbclient.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -3725,7 +3725,7 @@
 {
 	char **domains = NULL;
 	char **names = NULL;
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 	struct rpc_pipe_client *pipe_hnd = find_lsa_pipe_hnd(ipc_cli);
 	sid_to_string(str, sid);
 
@@ -3761,7 +3761,7 @@
                       DOM_SID *sid,
                       const char *str)
 {
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 	DOM_SID *sids = NULL;
 	BOOL result = True;
 	struct rpc_pipe_client *pipe_hnd = find_lsa_pipe_hnd(ipc_cli);

Modified: trunk/source/nsswitch/winbindd_rpc.c
===================================================================
--- trunk/source/nsswitch/winbindd_rpc.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/nsswitch/winbindd_rpc.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -245,7 +245,7 @@
 {
 	NTSTATUS result;
 	DOM_SID *sids = NULL;
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 	const char *full_name;
 	struct rpc_pipe_client *cli;
 	POLICY_HND lsa_policy;
@@ -277,7 +277,7 @@
 	/* Return rid and type if lookup successful */
 
 	sid_copy(sid, &sids[0]);
-	*type = (enum SID_NAME_USE)types[0];
+	*type = types[0];
 
 	return NT_STATUS_OK;
 }

Modified: trunk/source/python/py_lsa.c
===================================================================
--- trunk/source/python/py_lsa.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/python/py_lsa.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -147,7 +147,7 @@
 	const char **names;
 	DOM_SID *sids;
 	TALLOC_CTX *mem_ctx = NULL;
-	uint32 *name_types;
+	enum SID_NAME_USE *name_types;
 
 	if (!PyArg_ParseTuple(args, "O", &py_names))
 		return NULL;

Modified: trunk/source/rpc_client/cli_lsarpc.c
===================================================================
--- trunk/source/rpc_client/cli_lsarpc.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/rpc_client/cli_lsarpc.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -175,7 +175,9 @@
 				TALLOC_CTX *mem_ctx,
 				POLICY_HND *pol, int num_sids,
 				const DOM_SID *sids, 
-				char ***domains, char ***names, uint32 **types)
+				char ***domains,
+				char ***names,
+				enum SID_NAME_USE **types)
 {
 	prs_struct qbuf, rbuf;
 	LSA_Q_LOOKUP_SIDS q;
@@ -231,7 +233,7 @@
 		goto done;
 	}
 
-	if (!((*types) = TALLOC_ARRAY(mem_ctx, uint32, num_sids))) {
+	if (!((*types) = TALLOC_ARRAY(mem_ctx, enum SID_NAME_USE, num_sids))) {
 		DEBUG(0, ("cli_lsa_lookup_sids(): out of memory\n"));
 		result = NT_STATUS_NO_MEMORY;
 		goto done;
@@ -252,7 +254,7 @@
 
 			(*names)[i] = talloc_strdup(mem_ctx, name);
 			(*domains)[i] = talloc_strdup(mem_ctx, dom_name);
-			(*types)[i] = t_names.name[i].sid_name_use;
+			(*types)[i] = (enum SID_NAME_USE)t_names.name[i].sid_name_use;
 			
 			if (((*names)[i] == NULL) || ((*domains)[i] == NULL)) {
 				DEBUG(0, ("cli_lsa_lookup_sids(): out of memory\n"));
@@ -280,7 +282,7 @@
 				 const char **names,
 				 const char ***dom_names,
 				 DOM_SID **sids,
-				 uint32 **types)
+				 enum SID_NAME_USE **types)
 {
 	prs_struct qbuf, rbuf;
 	LSA_Q_LOOKUP_NAMES q;
@@ -327,7 +329,7 @@
 		goto done;
 	}
 
-	if (!((*types = TALLOC_ARRAY(mem_ctx, uint32, num_names)))) {
+	if (!((*types = TALLOC_ARRAY(mem_ctx, enum SID_NAME_USE, num_names)))) {
 		DEBUG(0, ("cli_lsa_lookup_sids(): out of memory\n"));
 		result = NT_STATUS_NO_MEMORY;
 		goto done;
@@ -363,7 +365,7 @@
 			sid_append_rid(sid, dom_rid);
 		}
 
-		(*types)[i] = t_rids[i].type;
+		(*types)[i] = (enum SID_NAME_USE)t_rids[i].type;
 
 		if (dom_names == NULL) {
 			continue;

Modified: trunk/source/rpcclient/cmd_lsarpc.c
===================================================================
--- trunk/source/rpcclient/cmd_lsarpc.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/rpcclient/cmd_lsarpc.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -31,7 +31,7 @@
 			    DOM_SID *sid, const char *name)
 {
 	POLICY_HND pol;
-	uint32 *sid_types;
+	enum SID_NAME_USE *sid_types;
 	NTSTATUS result;
 	DOM_SID *sids;
 
@@ -223,7 +223,7 @@
 	POLICY_HND pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
 	DOM_SID *sids;
-	uint32 *types;
+	enum SID_NAME_USE *types;
 	int i;
 
 	if (argc == 1) {
@@ -272,7 +272,7 @@
 	DOM_SID *sids;
 	char **domains;
 	char **names;
-	uint32 *types;
+	enum SID_NAME_USE *types;
 	int i;
 
 	if (argc == 1) {

Modified: trunk/source/utils/net_rpc.c
===================================================================
--- trunk/source/utils/net_rpc.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/utils/net_rpc.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -2011,7 +2011,7 @@
 				enum SID_NAME_USE *type)
 {
 	DOM_SID *sids = NULL;
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 	struct rpc_pipe_client *pipe_hnd;
 	POLICY_HND lsa_pol;
 	NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
@@ -2717,7 +2717,7 @@
 	DOM_SID *alias_sids;
 	char **domains;
 	char **names;
-	uint32 *types;
+	enum SID_NAME_USE *types;
 	int i;
 
 	result = rpccli_samr_open_alias(pipe_hnd, mem_ctx, domain_pol,
@@ -4075,7 +4075,7 @@
 	for (i=0; i<num_server_aliases; i++) {
 		char **names;
 		char **domains;
-		uint32 *types;
+		enum SID_NAME_USE *types;
 		int j;
 
 		struct full_alias *alias = &server_aliases[i];

Modified: trunk/source/utils/net_rpc_rights.c
===================================================================
--- trunk/source/utils/net_rpc_rights.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/utils/net_rpc_rights.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -29,7 +29,7 @@
 				fstring name)
 {
 	POLICY_HND pol;
-	uint32 *sid_types;
+	enum SID_NAME_USE *sid_types;
 	NTSTATUS result;
 	char **domains, **names;
 
@@ -60,7 +60,7 @@
 			    DOM_SID *sid, const char *name)
 {
 	POLICY_HND pol;
-	uint32 *sid_types;
+	enum SID_NAME_USE *sid_types;
 	NTSTATUS result;
 	DOM_SID *sids;
 

Modified: trunk/source/utils/net_util.c
===================================================================
--- trunk/source/utils/net_util.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/utils/net_util.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -39,7 +39,7 @@
 	NTSTATUS result = NT_STATUS_OK;
 	const char **dom_names;
 	DOM_SID *sids;
-	uint32_t *types;
+	enum SID_NAME_USE *types;
 
 	ZERO_STRUCT(pol);
 

Modified: trunk/source/utils/netlookup.c
===================================================================
--- trunk/source/utils/netlookup.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/utils/netlookup.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -157,7 +157,7 @@
 	struct con_struct *csp = NULL;
 	char **domains;
 	char **names;
-	uint32 *types;
+	enum SID_NAME_USE *types;
 
 	*ppdomain = NULL;
 	*ppname = NULL;
@@ -195,7 +195,7 @@
 	NTSTATUS nt_status;
 	struct con_struct *csp = NULL;
 	DOM_SID *sids = NULL;
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 
 	csp = create_cs(ctx, &nt_status);
 	if (csp == NULL) {

Modified: trunk/source/utils/smbcacls.c
===================================================================
--- trunk/source/utils/smbcacls.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/utils/smbcacls.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -108,7 +108,7 @@
 {
 	char **domains = NULL;
 	char **names = NULL;
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 
 	sid_to_string(str, sid);
 
@@ -135,7 +135,7 @@
 /* convert a string to a SID, either numeric or username/group */
 static BOOL StringToSid(DOM_SID *sid, const char *str)
 {
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 	DOM_SID *sids = NULL;
 	BOOL result = True;
 

Modified: trunk/source/utils/smbcquotas.c
===================================================================
--- trunk/source/utils/smbcquotas.c	2006-06-28 20:39:07 UTC (rev 16642)
+++ trunk/source/utils/smbcquotas.c	2006-06-28 21:30:12 UTC (rev 16643)
@@ -79,7 +79,7 @@
 {
 	char **domains = NULL;
 	char **names = NULL;
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 
 	sid_to_string(str, sid);
 
@@ -106,7 +106,7 @@
 /* convert a string to a SID, either numeric or username/group */
 static BOOL StringToSid(DOM_SID *sid, const char *str)
 {
-	uint32 *types = NULL;
+	enum SID_NAME_USE *types = NULL;
 	DOM_SID *sids = NULL;
 	BOOL result = True;
 



More information about the samba-cvs mailing list