PATCH: pdb_guest into 3.0

Volker Lendecke Volker.Lendecke at SerNet.DE
Fri Mar 21 15:20:15 GMT 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi, Andrew (& the rest :-)

I took some minutes to extract two sets of changes from HEAD and made
them suitable for 3_0 (to make merging easier for you):

* pdb_getgr** in mapping.c

* pdb_guest.c

You only have to add pdb_guest.c after applying this change.

Thanks for committing this ;-)

Volker

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Key-ID D32186CF, Fingerprint available: phone +49 551 3700000

iD8DBQE+ey2KOmSXH9Mhhs8RAp6JAJ9At540xMyIYNQE7diJWBRkCSNOjgCgjsxu
D3L0blV12bJ6KP4r2xJCULc=
=6Jpt
-----END PGP SIGNATURE-----

Index: source/Makefile.in
===================================================================
RCS file: /space/vl/cvstree/samba/source/Makefile.in,v
retrieving revision 1.468.2.55
diff -u -r1.468.2.55 Makefile.in
--- source/Makefile.in	20 Mar 2003 11:16:14 -0000	1.468.2.55
+++ source/Makefile.in	21 Mar 2003 14:33:08 -0000
@@ -282,7 +282,7 @@
 PASSDB_OBJ = $(PASSDB_GET_SET_OBJ) passdb/passdb.o passdb/pdb_interface.o \
 		passdb/machine_sid.o passdb/pdb_smbpasswd.o \
 		passdb/pdb_tdb.o passdb/pdb_ldap.o passdb/pdb_plugin.o \
-		passdb/pdb_unix.o passdb/util_sam_sid.o \
+		passdb/pdb_unix.o passdb/pdb_guest.o passdb/util_sam_sid.o \
 		passdb/pdb_compat.o passdb/pdb_nisplus.o
 
 PDB_XML_OBJ = passdb/pdb_xml.o
Index: source/groupdb/mapping.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/groupdb/mapping.c,v
retrieving revision 1.33.2.8
diff -u -r1.33.2.8 mapping.c
--- source/groupdb/mapping.c	18 Feb 2003 07:01:04 -0000	1.33.2.8
+++ source/groupdb/mapping.c	21 Mar 2003 14:33:08 -0000
@@ -841,6 +841,7 @@
 	}
 
 	*num_entries=entries;
+
 	return True;
 }
 
@@ -1276,3 +1277,57 @@
 	DEBUG(3,("smb_delete_user_group: Running the command `%s' gave %d\n",del_script,ret));
 	return ret;
 }
+
+
+NTSTATUS pdb_default_getgrsid(struct pdb_methods *methods, GROUP_MAP *map,
+				 DOM_SID sid, BOOL with_priv)
+{
+	return get_group_map_from_sid(sid, map, with_priv) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_default_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
+				 gid_t gid, BOOL with_priv)
+{
+	return get_group_map_from_gid(gid, map, with_priv) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_default_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
+				 char *name, BOOL with_priv)
+{
+	return get_group_map_from_ntname(name, map, with_priv) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_default_add_group_mapping_entry(struct pdb_methods *methods,
+						GROUP_MAP *map)
+{
+	return add_mapping_entry(map, TDB_INSERT) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_default_update_group_mapping_entry(struct pdb_methods *methods,
+						   GROUP_MAP *map)
+{
+	return add_mapping_entry(map, TDB_REPLACE) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_default_delete_group_mapping_entry(struct pdb_methods *methods,
+						   DOM_SID sid)
+{
+	return group_map_remove(sid) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_default_enum_group_mapping(struct pdb_methods *methods,
+					   enum SID_NAME_USE sid_name_use,
+					   GROUP_MAP **rmap, int *num_entries,
+					   BOOL unix_only, BOOL with_priv)
+{
+	return enum_group_mapping(sid_name_use, rmap, num_entries, unix_only,
+				  with_priv) ?
+		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
Index: source/param/loadparm.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/param/loadparm.c,v
retrieving revision 1.397.2.31
diff -u -r1.397.2.31 loadparm.c
--- source/param/loadparm.c	19 Mar 2003 18:21:44 -0000	1.397.2.31
+++ source/param/loadparm.c	21 Mar 2003 14:33:08 -0000
@@ -1395,9 +1395,9 @@
 #ifdef WITH_LDAP_SAMCONFIG
 	string_set(&Globals.szLdapServer, "localhost");
 	Globals.ldap_port = 636;
-	Globals.szPassdbBackend = str_list_make("ldapsam unixsam", NULL);
+	Globals.szPassdbBackend = str_list_make("ldapsam guest", NULL);
 #else
-	Globals.szPassdbBackend = str_list_make("smbpasswd unixsam", NULL);
+	Globals.szPassdbBackend = str_list_make("smbpasswd guest", NULL);
 #endif /* WITH_LDAP_SAMCONFIG */
 
 	string_set(&Globals.szLdapSuffix, "");
Index: source/passdb/pdb_interface.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/passdb/pdb_interface.c,v
retrieving revision 1.10.2.9
diff -u -r1.10.2.9 pdb_interface.c
--- source/passdb/pdb_interface.c	20 Dec 2002 20:21:28 -0000	1.10.2.9
+++ source/passdb/pdb_interface.c	21 Mar 2003 14:33:08 -0000
@@ -34,6 +34,7 @@
 	{ "ldapsam", pdb_init_ldapsam },
 	{ "ldapsam_nua", pdb_init_ldapsam_nua },
 	{ "unixsam", pdb_init_unixsam },
+	{ "guest", pdb_init_guestsam },
 	{ "nisplussam", pdb_init_nisplussam },
 	{ "plugin", pdb_init_plugin },
 	{ NULL, NULL}
@@ -713,6 +714,51 @@
 }
 
 
+/***************************************************************************
+  Default implementations of some functions.
+ ****************************************************************************/
+
+static NTSTATUS pdb_default_getsampwnam (struct pdb_methods *methods, SAM_ACCOUNT *user, const char *sname)
+{
+	return NT_STATUS_NO_SUCH_USER;
+}
+
+static NTSTATUS pdb_default_getsampwsid(struct pdb_methods *my_methods, SAM_ACCOUNT * user, const DOM_SID *sid)
+{
+	return NT_STATUS_NO_SUCH_USER;
+}
+
+static NTSTATUS pdb_default_add_sam_account (struct pdb_methods *methods, SAM_ACCOUNT *newpwd)
+{
+	DEBUG(0,("this backend (%s) should not be listed as the first passdb backend! You can't add users to it.\n", methods->name));
+	return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+static NTSTATUS pdb_default_update_sam_account (struct pdb_methods *methods, SAM_ACCOUNT *newpwd)
+{
+	return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+static NTSTATUS pdb_default_delete_sam_account (struct pdb_methods *methods, SAM_ACCOUNT *pwd)
+{
+	return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+static NTSTATUS pdb_default_setsampwent(struct pdb_methods *methods, BOOL update)
+{
+	return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+static NTSTATUS pdb_default_getsampwent(struct pdb_methods *methods, SAM_ACCOUNT *user)
+{
+	return NT_STATUS_NOT_IMPLEMENTED;
+}
+
+static void pdb_default_endsampwent(struct pdb_methods *methods)
+{
+	return; /* NT_STATUS_NOT_IMPLEMENTED; */
+}
+
 NTSTATUS make_pdb_methods(TALLOC_CTX *mem_ctx, PDB_METHODS **methods) 
 {
 	*methods = talloc(mem_ctx, sizeof(struct pdb_methods));
@@ -722,6 +768,23 @@
 	}
 
 	ZERO_STRUCTP(*methods);
+
+	(*methods)->setsampwent = pdb_default_setsampwent;
+	(*methods)->endsampwent = pdb_default_endsampwent;
+	(*methods)->getsampwent = pdb_default_getsampwent;
+	(*methods)->getsampwnam = pdb_default_getsampwnam;
+	(*methods)->getsampwsid = pdb_default_getsampwsid;
+	(*methods)->add_sam_account = pdb_default_add_sam_account;
+	(*methods)->update_sam_account = pdb_default_update_sam_account;
+	(*methods)->delete_sam_account = pdb_default_delete_sam_account;
+
+	(*methods)->getgrsid = pdb_default_getgrsid;
+	(*methods)->getgrgid = pdb_default_getgrgid;
+	(*methods)->getgrnam = pdb_default_getgrnam;
+	(*methods)->add_group_mapping_entry = pdb_default_add_group_mapping_entry;
+	(*methods)->update_group_mapping_entry = pdb_default_update_group_mapping_entry;
+	(*methods)->delete_group_mapping_entry = pdb_default_delete_group_mapping_entry;
+	(*methods)->enum_group_mapping = pdb_default_enum_group_mapping;
 
 	return NT_STATUS_OK;
 }
Index: source/passdb/pdb_smbpasswd.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/passdb/pdb_smbpasswd.c,v
retrieving revision 1.40.2.7
diff -u -r1.40.2.7 pdb_smbpasswd.c
--- source/passdb/pdb_smbpasswd.c	8 Nov 2002 23:08:59 -0000	1.40.2.7
+++ source/passdb/pdb_smbpasswd.c	21 Mar 2003 14:33:08 -0000
@@ -1222,7 +1222,6 @@
 			return False;
 		}
 	} else {
-		
 		if (!NT_STATUS_IS_OK(pdb_fill_sam_pw(sam_pass, pwfile))) {
 			return False;
 		}
@@ -1380,14 +1379,19 @@
 	return NT_STATUS_OK;
 }
 
-static NTSTATUS smbpasswd_getsampwrid(struct pdb_methods *my_methods, SAM_ACCOUNT *sam_acct,uint32 rid)
+static NTSTATUS smbpasswd_getsampwsid(struct pdb_methods *my_methods, SAM_ACCOUNT *sam_acct, const DOM_SID *sid)
 {
 	NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL;
 	struct smbpasswd_privates *smbpasswd_state = (struct smbpasswd_privates*)my_methods->private_data;
 	struct smb_passwd *smb_pw;
 	void *fp = NULL;
+	fstring sid_str;
+	uint32 rid;
+	
+	DEBUG(10, ("smbpasswd_getsampwrid: search by sid: %s\n", sid_to_string(sid_str, sid)));
 
-	DEBUG(10, ("smbpasswd_getsampwrid: search by rid: %d\n", rid));
+	if (!sid_peek_check_rid(get_global_sam_sid(), sid, &rid))
+		return NT_STATUS_UNSUCCESSFUL;
 
 	/* More special case 'guest account' hacks... */
 	if (rid == DOMAIN_USER_RID_GUEST) {
@@ -1431,18 +1435,18 @@
 	if (!build_sam_account (smbpasswd_state, sam_acct, smb_pw))
 		return nt_status;
 
+	/* build_sam_account might change the SID on us, if the name was for the guest account */
+	if (NT_STATUS_IS_OK(nt_status) && !sid_equal(pdb_get_user_sid(sam_acct), sid)) {
+		fstring sid_string1, sid_string2;
+		DEBUG(1, ("looking for user with sid %s instead returned %s for account %s!?!\n",
+			  sid_to_string(sid_string1, sid), sid_to_string(sid_string2, pdb_get_user_sid(sam_acct)), pdb_get_username(sam_acct)));
+		return NT_STATUS_NO_SUCH_USER;
+	}
+
 	/* success */
 	return NT_STATUS_OK;
 }
 
-static NTSTATUS smbpasswd_getsampwsid(struct pdb_methods *my_methods, SAM_ACCOUNT * user, const DOM_SID *sid)
-{
-	uint32 rid;
-	if (!sid_peek_check_rid(get_global_sam_sid(), sid, &rid))
-		return NT_STATUS_UNSUCCESSFUL;
-	return smbpasswd_getsampwrid(my_methods, user, rid);
-}
-
 static NTSTATUS smbpasswd_add_sam_account(struct pdb_methods *my_methods, SAM_ACCOUNT *sampass)
 {
 	struct smbpasswd_privates *smbpasswd_state = (struct smbpasswd_privates*)my_methods->private_data;
@@ -1493,58 +1497,6 @@
 	return NT_STATUS_UNSUCCESSFUL;
 }
 
-static NTSTATUS smbpasswd_getgrsid(struct pdb_methods *methods, GROUP_MAP *map,
-				 DOM_SID sid, BOOL with_priv)
-{
-	return get_group_map_from_sid(sid, map, with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS smbpasswd_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
-				 gid_t gid, BOOL with_priv)
-{
-	return get_group_map_from_gid(gid, map, with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS smbpasswd_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
-				 char *name, BOOL with_priv)
-{
-	return get_group_map_from_ntname(name, map, with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS smbpasswd_add_group_mapping_entry(struct pdb_methods *methods,
-						GROUP_MAP *map)
-{
-	return add_mapping_entry(map, TDB_INSERT) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS smbpasswd_update_group_mapping_entry(struct pdb_methods *methods,
-						   GROUP_MAP *map)
-{
-	return add_mapping_entry(map, TDB_REPLACE) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS smbpasswd_delete_group_mapping_entry(struct pdb_methods *methods,
-						   DOM_SID sid)
-{
-	return group_map_remove(sid) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS smbpasswd_enum_group_mapping(struct pdb_methods *methods,
-					   enum SID_NAME_USE sid_name_use,
-					   GROUP_MAP **rmap, int *num_entries,
-					   BOOL unix_only, BOOL with_priv)
-{
-	return enum_group_mapping(sid_name_use, rmap, num_entries, unix_only,
-				  with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
 static void free_private_data(void **vp) 
 {
 	struct smbpasswd_privates **privates = (struct smbpasswd_privates**)vp;
@@ -1575,13 +1527,6 @@
 	(*pdb_method)->add_sam_account = smbpasswd_add_sam_account;
 	(*pdb_method)->update_sam_account = smbpasswd_update_sam_account;
 	(*pdb_method)->delete_sam_account = smbpasswd_delete_sam_account;
-	(*pdb_method)->getgrsid = smbpasswd_getgrsid;
-	(*pdb_method)->getgrgid = smbpasswd_getgrgid;
-	(*pdb_method)->getgrnam = smbpasswd_getgrnam;
-	(*pdb_method)->add_group_mapping_entry = smbpasswd_add_group_mapping_entry;
-	(*pdb_method)->update_group_mapping_entry = smbpasswd_update_group_mapping_entry;
-	(*pdb_method)->delete_group_mapping_entry = smbpasswd_delete_group_mapping_entry;
-	(*pdb_method)->enum_group_mapping = smbpasswd_enum_group_mapping;
 
 	/* Setup private data and free function */
 
Index: source/passdb/pdb_tdb.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/passdb/pdb_tdb.c,v
retrieving revision 1.58.2.5
diff -u -r1.58.2.5 pdb_tdb.c
--- source/passdb/pdb_tdb.c	3 Jan 2003 08:28:05 -0000	1.58.2.5
+++ source/passdb/pdb_tdb.c	21 Mar 2003 14:33:08 -0000
@@ -896,58 +896,6 @@
 		return NT_STATUS_UNSUCCESSFUL;
 }
 
-static NTSTATUS tdbsam_getgrsid(struct pdb_methods *methods, GROUP_MAP *map,
-				DOM_SID sid, BOOL with_priv)
-{
-	return get_group_map_from_sid(sid, map, with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS tdbsam_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
-				gid_t gid, BOOL with_priv)
-{
-	return get_group_map_from_gid(gid, map, with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS tdbsam_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
-				char *name, BOOL with_priv)
-{
-	return get_group_map_from_ntname(name, map, with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS tdbsam_add_group_mapping_entry(struct pdb_methods *methods,
-					       GROUP_MAP *map)
-{
-	return add_mapping_entry(map, TDB_INSERT) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS tdbsam_update_group_mapping_entry(struct pdb_methods *methods,
-						  GROUP_MAP *map)
-{
-	return add_mapping_entry(map, TDB_REPLACE) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS tdbsam_delete_group_mapping_entry(struct pdb_methods *methods,
-						  DOM_SID sid)
-{
-	return group_map_remove(sid) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
-static NTSTATUS tdbsam_enum_group_mapping(struct pdb_methods *methods,
-					  enum SID_NAME_USE sid_name_use,
-					  GROUP_MAP **rmap, int *num_entries,
-					  BOOL unix_only, BOOL with_priv)
-{
-	return enum_group_mapping(sid_name_use, rmap, num_entries, unix_only,
-				  with_priv) ?
-		NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
-}
-
 static void free_private_data(void **vp) 
 {
 	struct tdbsam_privates **tdb_state = (struct tdbsam_privates **)vp;
@@ -985,13 +933,6 @@
 	(*pdb_method)->add_sam_account = tdbsam_add_sam_account;
 	(*pdb_method)->update_sam_account = tdbsam_update_sam_account;
 	(*pdb_method)->delete_sam_account = tdbsam_delete_sam_account;
-	(*pdb_method)->getgrsid = tdbsam_getgrsid;
-	(*pdb_method)->getgrgid = tdbsam_getgrgid;
-	(*pdb_method)->getgrnam = tdbsam_getgrnam;
-	(*pdb_method)->add_group_mapping_entry = tdbsam_add_group_mapping_entry;
-	(*pdb_method)->update_group_mapping_entry = tdbsam_update_group_mapping_entry;
-	(*pdb_method)->delete_group_mapping_entry = tdbsam_delete_group_mapping_entry;
-	(*pdb_method)->enum_group_mapping = tdbsam_enum_group_mapping;
 
 	tdb_state = talloc_zero(pdb_context->mem_ctx, sizeof(struct tdbsam_privates));
 
Index: source/passdb/pdb_unix.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/passdb/pdb_unix.c,v
retrieving revision 1.5.2.4
diff -u -r1.5.2.4 pdb_unix.c
--- source/passdb/pdb_unix.c	2 Nov 2002 03:47:48 -0000	1.5.2.4
+++ source/passdb/pdb_unix.c	21 Mar 2003 14:33:08 -0000
@@ -89,16 +89,6 @@
 }
 
 /***************************************************************************
-  Adds an existing SAM_ACCOUNT
- ****************************************************************************/
-
-static NTSTATUS unixsam_add_sam_account (struct pdb_methods *methods, SAM_ACCOUNT *newpwd)
-{
-	DEBUG(0,("pdb_unix should not be listed as the first passdb backend! You can't add users to it.\n"));
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-/***************************************************************************
   Updates a SAM_ACCOUNT
 
   This isn't a particulary practical option for pdb_unix.  We certainly don't
@@ -113,70 +103,6 @@
 	return methods->parent->pdb_add_sam_account(methods->parent, newpwd);
 }
 
-static NTSTATUS unixsam_delete_sam_account (struct pdb_methods *methods, SAM_ACCOUNT *pwd)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_setsampwent(struct pdb_methods *methods, BOOL update)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_getsampwent(struct pdb_methods *methods, SAM_ACCOUNT *user)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static void unixsam_endsampwent(struct pdb_methods *methods)
-{
-	return; /* NT_STATUS_NOT_IMPLEMENTED; */
-}
-
-static NTSTATUS unixsam_getgrsid(struct pdb_methods *methods, GROUP_MAP *map,
-				 DOM_SID sid, BOOL with_priv)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
-				 gid_t gid, BOOL with_priv)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
-				 char *name, BOOL with_priv)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_add_group_mapping_entry(struct pdb_methods *methods,
-						GROUP_MAP *map)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_update_group_mapping_entry(struct pdb_methods *methods,
-						   GROUP_MAP *map)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_delete_group_mapping_entry(struct pdb_methods *methods,
-						   DOM_SID sid)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS unixsam_enum_group_mapping(struct pdb_methods *methods,
-					   enum SID_NAME_USE sid_name_use,
-					   GROUP_MAP **rmap, int *num_entries,
-					   BOOL unix_only, BOOL with_priv)
-{
-	return NT_STATUS_NOT_IMPLEMENTED;
-}
-
 NTSTATUS pdb_init_unixsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
 	NTSTATUS nt_status;
@@ -191,22 +117,8 @@
 	}
 	
 	(*pdb_method)->name = "unixsam";
-	
-	(*pdb_method)->setsampwent = unixsam_setsampwent;
-	(*pdb_method)->endsampwent = unixsam_endsampwent;
-	(*pdb_method)->getsampwent = unixsam_getsampwent;
 	(*pdb_method)->getsampwnam = unixsam_getsampwnam;
 	(*pdb_method)->getsampwsid = unixsam_getsampwsid;
-	(*pdb_method)->add_sam_account = unixsam_add_sam_account;
-	(*pdb_method)->update_sam_account = unixsam_update_sam_account;
-	(*pdb_method)->delete_sam_account = unixsam_delete_sam_account;
-	(*pdb_method)->getgrsid = unixsam_getgrsid;
-	(*pdb_method)->getgrgid = unixsam_getgrgid;
-	(*pdb_method)->getgrnam = unixsam_getgrnam;
-	(*pdb_method)->add_group_mapping_entry = unixsam_add_group_mapping_entry;
-	(*pdb_method)->update_group_mapping_entry = unixsam_update_group_mapping_entry;
-	(*pdb_method)->delete_group_mapping_entry = unixsam_delete_group_mapping_entry;
-	(*pdb_method)->enum_group_mapping = unixsam_enum_group_mapping;
 	
 	/* There's not very much to initialise here */
 	return NT_STATUS_OK;
Index: source/utils/net_rpc_samsync.c
===================================================================
RCS file: /space/vl/cvstree/samba/source/utils/net_rpc_samsync.c,v
retrieving revision 1.8.2.8
diff -u -r1.8.2.8 net_rpc_samsync.c
--- source/utils/net_rpc_samsync.c	29 Jan 2003 18:47:57 -0000	1.8.2.8
+++ source/utils/net_rpc_samsync.c	21 Mar 2003 14:33:08 -0000
@@ -317,10 +317,7 @@
 				 "gave %d\n", add_script, add_ret));
 		}
 
-		if (!pdb_getsampwnam(sam_account, account)) {
-			try_add = True;
-			/* still not there, hope the backend likes NUAs */
-		}
+		try_add = True;
 	}
 
 	sam_account_from_delta(sam_account, delta);


More information about the samba-technical mailing list