svn commit: samba r17463 - in branches/SAMBA_3_0/source: groupdb include passdb rpc_server torture utils

vlendec at samba.org vlendec at samba.org
Tue Aug 8 19:29:35 GMT 2006


Author: vlendec
Date: 2006-08-08 19:29:34 +0000 (Tue, 08 Aug 2006)
New Revision: 17463

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

Log:
A bit of cleanup work: 

Remove some unused code: pdb_find_alias is not used anymore, and nobody I
think has ever used the pdb_nop operations for group mapping. smbpasswd and
tdb use the default ones and ldap has its own.

Make the functions pdb_getgr* return NTSTATUS instead of BOOL. Nobody right
now really makes use of it, but it feels wrong to throw away information so
early.

Volker
Modified:
   branches/SAMBA_3_0/source/groupdb/mapping.c
   branches/SAMBA_3_0/source/include/passdb.h
   branches/SAMBA_3_0/source/passdb/lookup_sid.c
   branches/SAMBA_3_0/source/passdb/passdb.c
   branches/SAMBA_3_0/source/passdb/pdb_interface.c
   branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c
   branches/SAMBA_3_0/source/torture/local-groupmap.c
   branches/SAMBA_3_0/source/utils/net_groupmap.c
   branches/SAMBA_3_0/source/utils/net_rpc_samsync.c
   branches/SAMBA_3_0/source/utils/net_sam.c


Changeset:
Modified: branches/SAMBA_3_0/source/groupdb/mapping.c
===================================================================
--- branches/SAMBA_3_0/source/groupdb/mapping.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/groupdb/mapping.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -168,7 +168,7 @@
 	const char *grpname, *dom, *name;
 	uint32 rid;
 
-	if (pdb_getgrgid(&map, grp->gr_gid)) {
+	if (NT_STATUS_IS_OK(pdb_getgrgid(&map, grp->gr_gid))) {
 		return NT_STATUS_GROUP_EXISTS;
 	}
 
@@ -811,7 +811,7 @@
 	/* if the group is NOT in the database, it CAN NOT be a domain group */
 	
 	become_root();
-	ret = pdb_getgrsid(map, sid);
+	ret = NT_STATUS_IS_OK(pdb_getgrsid(map, sid));
 	unbecome_root();
 	
 	/* special case check for rid 513 */
@@ -1048,22 +1048,6 @@
 		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
 }
 
-NTSTATUS pdb_default_find_alias(struct pdb_methods *methods,
-				const char *name, DOM_SID *sid)
-{
-	GROUP_MAP map;
-
-	if (!pdb_getgrnam(&map, name))
-		return NT_STATUS_NO_SUCH_ALIAS;
-
-	if ((map.sid_name_use != SID_NAME_WKN_GRP) &&
-	    (map.sid_name_use != SID_NAME_ALIAS))
-		return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-	sid_copy(sid, &map.sid);
-	return NT_STATUS_OK;
-}
-
 NTSTATUS pdb_default_create_alias(struct pdb_methods *methods,
 				  const char *name, uint32 *rid)
 {
@@ -1138,7 +1122,7 @@
 {
 	GROUP_MAP map;
 
-	if (!pdb_getgrsid(&map, sid))
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&map, sid)))
 		return NT_STATUS_NO_SUCH_ALIAS;
 
 	if ((map.sid_name_use != SID_NAME_ALIAS) &&
@@ -1161,7 +1145,7 @@
 {
 	GROUP_MAP map;
 
-	if (!pdb_getgrsid(&map, sid))
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&map, sid)))
 		return NT_STATUS_NO_SUCH_ALIAS;
 
 	fstrcpy(map.nt_name, info->acct_name);
@@ -1228,54 +1212,6 @@
 	return NT_STATUS_OK;
 }
 
-/**********************************************************************
- no ops for passdb backends that don't implement group mapping
- *********************************************************************/
-
-NTSTATUS pdb_nop_getgrsid(struct pdb_methods *methods, GROUP_MAP *map,
-				 DOM_SID sid)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS pdb_nop_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
-				 gid_t gid)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS pdb_nop_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
-				 const char *name)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS pdb_nop_add_group_mapping_entry(struct pdb_methods *methods,
-						GROUP_MAP *map)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS pdb_nop_update_group_mapping_entry(struct pdb_methods *methods,
-						   GROUP_MAP *map)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS pdb_nop_delete_group_mapping_entry(struct pdb_methods *methods,
-						   DOM_SID sid)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS pdb_nop_enum_group_mapping(struct pdb_methods *methods,
-					   enum SID_NAME_USE sid_name_use,
-					   GROUP_MAP **rmap, size_t *num_entries,
-					   BOOL unix_only)
-{
-	return NT_STATUS_UNSUCCESSFUL;
-}
-
 /****************************************************************************
  These need to be redirected through pdb_interface.c
 ****************************************************************************/

Modified: branches/SAMBA_3_0/source/include/passdb.h
===================================================================
--- branches/SAMBA_3_0/source/include/passdb.h	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/include/passdb.h	2006-08-08 19:29:34 UTC (rev 17463)
@@ -329,9 +329,6 @@
 				 TALLOC_CTX *mem_ctx,
 				 uint32 group_rid, uint32 member_rid);
 
-	NTSTATUS (*find_alias)(struct pdb_methods *methods,
-			       const char *name, DOM_SID *sid);
-
 	NTSTATUS (*create_alias)(struct pdb_methods *methods,
 				 const char *name, uint32 *rid);
 

Modified: branches/SAMBA_3_0/source/passdb/lookup_sid.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/lookup_sid.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/passdb/lookup_sid.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -142,7 +142,7 @@
 
 		GROUP_MAP map;
 
-		if (pdb_getgrgid(&map, grp->gr_gid)) {
+		if (NT_STATUS_IS_OK(pdb_getgrgid(&map, grp->gr_gid))) {
 			/* The hack gets worse. Handle the case where we have
 			 * 'force group = +unixgroup' but "unixgroup" has a
 			 * group mapping */
@@ -1352,7 +1352,7 @@
 
 	if ((sid_check_is_in_builtin(psid) ||
 	     sid_check_is_in_wellknown_domain(psid))) {
-		if (pdb_getgrsid(&map, psid)) {
+		if (NT_STATUS_IS_OK(pdb_getgrsid(&map, psid))) {
 			*pgid = map.gid;
 			goto done;
 		}

Modified: branches/SAMBA_3_0/source/passdb/passdb.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/passdb.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/passdb/passdb.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -604,7 +604,7 @@
 	 */
 
 	become_root();
-	ret = pdb_getgrnam(&map, user);
+	ret = NT_STATUS_IS_OK(pdb_getgrnam(&map, user));
 	unbecome_root();
 
  	if (!ret) {

Modified: branches/SAMBA_3_0/source/passdb/pdb_interface.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/pdb_interface.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/passdb/pdb_interface.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -561,22 +561,22 @@
 	return pdb->update_login_attempts(pdb, sam_acct, success);
 }
 
-BOOL pdb_getgrsid(GROUP_MAP *map, const DOM_SID *sid)
+NTSTATUS pdb_getgrsid(GROUP_MAP *map, const DOM_SID *sid)
 {
 	struct pdb_methods *pdb = pdb_get_methods();
-	return NT_STATUS_IS_OK(pdb->getgrsid(pdb, map, sid));
+	return pdb->getgrsid(pdb, map, sid);
 }
 
-BOOL pdb_getgrgid(GROUP_MAP *map, gid_t gid)
+NTSTATUS pdb_getgrgid(GROUP_MAP *map, gid_t gid)
 {
 	struct pdb_methods *pdb = pdb_get_methods();
-	return NT_STATUS_IS_OK(pdb->getgrgid(pdb, map, gid));
+	return pdb->getgrgid(pdb, map, gid);
 }
 
-BOOL pdb_getgrnam(GROUP_MAP *map, const char *name)
+NTSTATUS pdb_getgrnam(GROUP_MAP *map, const char *name)
 {
 	struct pdb_methods *pdb = pdb_get_methods();
-	return NT_STATUS_IS_OK(pdb->getgrnam(pdb, map, name));
+	return pdb->getgrnam(pdb, map, name);
 }
 
 static NTSTATUS pdb_default_create_dom_group(struct pdb_methods *methods,
@@ -920,12 +920,6 @@
 	return pdb->del_groupmem(pdb, mem_ctx, group_rid, member_rid);
 }
 
-BOOL pdb_find_alias(const char *name, DOM_SID *sid)
-{
-	struct pdb_methods *pdb = pdb_get_methods();
-	return NT_STATUS_IS_OK(pdb->find_alias(pdb, name, sid));
-}
-
 NTSTATUS pdb_create_alias(const char *name, uint32 *rid)
 {
 	struct pdb_methods *pdb = pdb_get_methods();
@@ -1522,7 +1516,7 @@
 	}
 	TALLOC_FREE(sam_account);
 	
-	ret = pdb_getgrsid(&map, &sid);
+	ret = NT_STATUS_IS_OK(pdb_getgrsid(&map, &sid));
 	unbecome_root();
 	/* END BECOME_ROOT BLOCK */
   
@@ -2032,7 +2026,6 @@
 	(*methods)->set_unix_primary_group = pdb_default_set_unix_primary_group;
 	(*methods)->add_groupmem = pdb_default_add_groupmem;
 	(*methods)->del_groupmem = pdb_default_del_groupmem;
-	(*methods)->find_alias = pdb_default_find_alias;
 	(*methods)->create_alias = pdb_default_create_alias;
 	(*methods)->delete_alias = pdb_default_delete_alias;
 	(*methods)->get_aliasinfo = pdb_default_get_aliasinfo;

Modified: branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -1730,7 +1730,7 @@
 	if ( !nt_token_check_domain_rid( p->pipe_user.nt_user_token, DOMAIN_GROUP_RID_ADMINS ) )
 		return NT_STATUS_ACCESS_DENIED;
 
-	if (!pdb_getgrsid(&map, &info->sid))
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&map, &info->sid)))
 		return NT_STATUS_NO_SUCH_GROUP;
 
 	return pdb_update_group_mapping_entry(&map);

Modified: branches/SAMBA_3_0/source/torture/local-groupmap.c
===================================================================
--- branches/SAMBA_3_0/source/torture/local-groupmap.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/torture/local-groupmap.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -212,16 +212,18 @@
 		string_to_sid(&sid, "S-1-5-32-545");
 
 		ZERO_STRUCT(map);
-		if (!pdb_getgrsid(&map, &sid)) {
-			d_fprintf(stderr, "(%s) pdb_getgrsid failed\n",
-				  __location__);
+		status = pdb_getgrsid(&map, &sid);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr, "(%s) pdb_getgrsid failed: %s\n",
+				  __location__, nt_errstr(status));
 			goto fail;
 		}
 
 		ZERO_STRUCT(map1);
-		if (!pdb_getgrgid(&map1, map.gid)) {
-			d_fprintf(stderr, "(%s) pdb_getgrgid failed\n",
-				  __location__);
+		status = pdb_getgrgid(&map1, map.gid);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr, "(%s) pdb_getgrgid failed: %s\n",
+				  __location__, nt_errstr(status));
 			goto fail;
 		}
 
@@ -232,9 +234,10 @@
 		}
 			
 		ZERO_STRUCT(map1);
-		if (!pdb_getgrnam(&map1, map.nt_name)) {
-			d_fprintf(stderr, "(%s) pdb_getgrnam failed\n",
-				  __location__);
+		status = pdb_getgrnam(&map1, map.nt_name);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr, "(%s) pdb_getgrnam failed: %s\n",
+				  __location__, nt_errstr(status));
 			goto fail;
 		}
 
@@ -252,9 +255,10 @@
 		GROUP_MAP map, map1;
 		string_to_sid(&sid, "S-1-5-32-545");
 
-		if (!pdb_getgrsid(&map, &sid)) {
-			d_fprintf(stderr, "(%s) did not find S-1-5-32-545\n",
-				  __location__);
+		status = pdb_getgrsid(&map, &sid);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr, "(%s) did not find S-1-5-32-545: "
+				  "%s\n", __location__, nt_errstr(status));
 			goto fail;
 		}
 
@@ -267,19 +271,19 @@
 		CHECK_STATUS(status, NT_STATUS_UNSUCCESSFUL);
 #endif
 
-		if (pdb_getgrsid(&map1, &sid)) {
+		if (NT_STATUS_IS_OK(pdb_getgrsid(&map1, &sid))) {
 			d_fprintf(stderr, "(%s) getgrsid found deleted "
 				  "entry\n", __location__);
 			goto fail;
 		}
 
-		if (pdb_getgrgid(&map1, map.gid)) {
+		if (NT_STATUS_IS_OK(pdb_getgrgid(&map1, map.gid))) {
 			d_fprintf(stderr, "(%s) getgrgid found deleted "
 				  "entry\n", __location__);
 			goto fail;
 		}
 
-		if (pdb_getgrnam(&map1, map.nt_name)) {
+		if (NT_STATUS_IS_OK(pdb_getgrnam(&map1, map.nt_name))) {
 			d_fprintf(stderr, "(%s) getgrnam found deleted "
 				  "entry\n", __location__);
 			goto fail;
@@ -295,9 +299,10 @@
 		GROUP_MAP map, map1;
 		string_to_sid(&sid, "S-1-5-32-544");
 
-		if (!pdb_getgrsid(&map, &sid)) {
-			d_fprintf(stderr, "(%s) did not find S-1-5-32-544\n",
-				  __location__);
+		status = pdb_getgrsid(&map, &sid);
+		if (!NT_STATUS_IS_OK(status)) {
+			d_fprintf(stderr, "(%s) did not find S-1-5-32-544: "
+				  "%s\n", __location__, nt_errstr(status));
 			goto fail;
 		}
 
@@ -307,7 +312,7 @@
 		status = pdb_update_group_mapping_entry(&map);
 		CHECK_STATUS(status, NT_STATUS_OK);
 
-		if (pdb_getgrgid(&map1, oldgid)) {
+		if (NT_STATUS_IS_OK(pdb_getgrgid(&map1, oldgid))) {
 			d_fprintf(stderr, "(%s) getgrgid found outdated "
 				  "entry\n", __location__);
 			goto fail;

Modified: branches/SAMBA_3_0/source/utils/net_groupmap.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_groupmap.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/utils/net_groupmap.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -66,7 +66,7 @@
 
 	if (StrnCaseCmp( input, "S-", 2)) {
 		/* Perhaps its the NT group name? */
-		if (!pdb_getgrnam(&map, input)) {
+		if (!NT_STATUS_IS_OK(pdb_getgrnam(&map, input))) {
 			printf("NT Group %s doesn't exist in mapping DB\n", input);
 			return False;
 		} else {
@@ -153,7 +153,7 @@
 		}
 
 		/* Get the current mapping from the database */
-		if(!pdb_getgrsid(&map, &sid)) {
+		if(!NT_STATUS_IS_OK(pdb_getgrsid(&map, &sid))) {
 			d_fprintf(stderr, "Failure to local group SID in the database\n");
 			return -1;
 		}
@@ -265,7 +265,7 @@
 
 	{
 		GROUP_MAP map;
-		if (pdb_getgrgid(&map, gid)) {
+		if (NT_STATUS_IS_OK(pdb_getgrgid(&map, gid))) {
 			d_printf("Unix group %s already mapped to SID %s\n",
 				 unixgrp, sid_string_static(&map.sid));
 			return -1;
@@ -404,7 +404,7 @@
 	}	
 
 	/* Get the current mapping from the database */
-	if(!pdb_getgrsid(&map, &sid)) {
+	if(!NT_STATUS_IS_OK(pdb_getgrsid(&map, &sid))) {
 		d_fprintf(stderr, "Failure to local group SID in the database\n");
 		return -1;
 	}
@@ -533,13 +533,13 @@
 		}
 	}
 
-	have_map = pdb_getgrnam(&map, ntgroup);
+	have_map = NT_STATUS_IS_OK(pdb_getgrnam(&map, ntgroup));
 
 	if (!have_map) {
 		DOM_SID sid;
 		have_map = ( (strncmp(ntgroup, "S-", 2) == 0) &&
 			     string_to_sid(&sid, ntgroup) &&
-			     pdb_getgrsid(&map, &sid) );
+			     NT_STATUS_IS_OK(pdb_getgrsid(&map, &sid)) );
 	}
 
 	if (!have_map) {

Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_rpc_samsync.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/utils/net_rpc_samsync.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -588,7 +588,7 @@
 
 	group_sid = *pdb_get_group_sid(sam_account);
 
-	if (!pdb_getgrsid(&map, &group_sid)) {
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&map, &group_sid))) {
 		DEBUG(0, ("Primary group of %s has no mapping!\n",
 			  pdb_get_username(sam_account)));
 	} else {
@@ -630,7 +630,7 @@
 	sid_append_rid(&group_sid, rid);
 	sid_to_string(sid_string, &group_sid);
 
-	if (pdb_getgrsid(&map, &group_sid)) {
+	if (NT_STATUS_IS_OK(pdb_getgrsid(&map, &group_sid))) {
 		if ( map.gid != -1 )
 			grp = getgrgid(map.gid);
 		insert = False;
@@ -815,7 +815,7 @@
 	sid_copy(&alias_sid, &dom_sid);
 	sid_append_rid(&alias_sid, rid);
 
-	if (pdb_getgrsid(&map, &alias_sid)) {
+	if (NT_STATUS_IS_OK(pdb_getgrsid(&map, &alias_sid))) {
 		grp = getgrgid(map.gid);
 		insert = False;
 	}

Modified: branches/SAMBA_3_0/source/utils/net_sam.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_sam.c	2006-08-08 18:38:33 UTC (rev 17462)
+++ branches/SAMBA_3_0/source/utils/net_sam.c	2006-08-08 19:29:34 UTC (rev 17463)
@@ -330,7 +330,7 @@
 		return -1;
 	}
 
-	if (!pdb_getgrsid(&map, &sid)) {
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&map, &sid))) {
 		d_fprintf(stderr, "Could not load group %s\n", argv[0]);
 		return -1;
 	}
@@ -882,7 +882,7 @@
 
 	sid_compose(&gsid, get_global_sam_sid(), DOMAIN_GROUP_RID_USERS);
 
-	if (!pdb_getgrsid(&gmap, &gsid)) {
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&gmap, &gsid))) {
 		LDAPMod **mods = NULL;
 		char *dn;
 		char *uname;
@@ -935,7 +935,7 @@
 
 	sid_compose(&gsid, get_global_sam_sid(), DOMAIN_GROUP_RID_ADMINS);
 
-	if (!pdb_getgrsid(&gmap, &gsid)) {
+	if (!NT_STATUS_IS_OK(pdb_getgrsid(&gmap, &gsid))) {
 		LDAPMod **mods = NULL;
 		char *dn;
 		char *uname;
@@ -1153,7 +1153,7 @@
 		goto done;
 	}
 
-	if (!pdb_getgrgid(&gmap, pwd->pw_gid)) {
+	if (!NT_STATUS_IS_OK(pdb_getgrgid(&gmap, pwd->pw_gid))) {
 		LDAPMod **mods = NULL;
 		char *dn;
 		char *uname;



More information about the samba-cvs mailing list