summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-04-29 05:32:00 +0000
committerGerald Carter <jerry@samba.org>2003-04-29 05:32:00 +0000
commit97a16d0cae72020a240734ac20a978489c458673 (patch)
treefcc23e2285c2dc14b0a440245bc25f06db77f728
parentf96f82da051cb123cff3136d895d4b8bda1fedc4 (diff)
downloadsamba-97a16d0cae72020a240734ac20a978489c458673.tar.gz
samba-97a16d0cae72020a240734ac20a978489c458673.tar.bz2
samba-97a16d0cae72020a240734ac20a978489c458673.zip
don't implement any group mapping functions in the guest sam module
(This used to be commit a4056e2cae21e1f7e1aac1414bfa4158947fbfc7)
-rw-r--r--source3/groupdb/mapping.c48
-rw-r--r--source3/passdb/pdb_guest.c11
2 files changed, 59 insertions, 0 deletions
diff --git a/source3/groupdb/mapping.c b/source3/groupdb/mapping.c
index 61c0dfb4b8..b718f42f93 100644
--- a/source3/groupdb/mapping.c
+++ b/source3/groupdb/mapping.c
@@ -1331,3 +1331,51 @@ NTSTATUS pdb_default_enum_group_mapping(struct pdb_methods *methods,
NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
}
+/**********************************************************************
+ 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, BOOL with_priv)
+{
+ return NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_nop_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
+ gid_t gid, BOOL with_priv)
+{
+ return NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_nop_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
+ char *name, BOOL with_priv)
+{
+ 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, int *num_entries,
+ BOOL unix_only, BOOL with_priv)
+{
+ return NT_STATUS_UNSUCCESSFUL;
+}
+
diff --git a/source3/passdb/pdb_guest.c b/source3/passdb/pdb_guest.c
index 999779b0c6..7ecfa7d4c3 100644
--- a/source3/passdb/pdb_guest.c
+++ b/source3/passdb/pdb_guest.c
@@ -100,6 +100,7 @@ static NTSTATUS guestsam_getsampwsid(struct pdb_methods *my_methods, SAM_ACCOUNT
return guestsam_getsampwrid(my_methods, user, rid);
}
+
NTSTATUS pdb_init_guestsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
{
NTSTATUS nt_status;
@@ -118,6 +119,16 @@ NTSTATUS pdb_init_guestsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, c
(*pdb_method)->getsampwnam = guestsam_getsampwnam;
(*pdb_method)->getsampwsid = guestsam_getsampwsid;
+ /* we should do no group mapping here */
+ (*pdb_method)->getgrsid = pdb_nop_getgrsid;
+ (*pdb_method)->getgrgid = pdb_nop_getgrgid;
+ (*pdb_method)->getgrnam = pdb_nop_getgrnam;
+ (*pdb_method)->add_group_mapping_entry = pdb_nop_add_group_mapping_entry;
+ (*pdb_method)->update_group_mapping_entry = pdb_nop_update_group_mapping_entry;
+ (*pdb_method)->delete_group_mapping_entry = pdb_nop_delete_group_mapping_entry;
+ (*pdb_method)->enum_group_mapping = pdb_nop_enum_group_mapping;
+
+
/* There's not very much to initialise here */
return NT_STATUS_OK;
}