From 48b32cd865b572c797e6f5de1b8a574bd86e250a Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 8 Nov 2002 22:15:34 +0000 Subject: Make smbpasswd use the group mapping, and fix spelling in ldapsam. This gets user mangler for doamins working again. Andrew Bartlett (This used to be commit 205209f77f154a2a5d5f7a255194d7953860a4db) --- source3/passdb/pdb_ldap.c | 28 ++++++++++++++-------------- source3/passdb/pdb_smbpasswd.c | 40 ++++++++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 30 deletions(-) (limited to 'source3') diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c index 22358cb47d..e35775a6da 100644 --- a/source3/passdb/pdb_ldap.c +++ b/source3/passdb/pdb_ldap.c @@ -1907,49 +1907,49 @@ static NTSTATUS ldapsam_add_sam_account(struct pdb_methods *my_methods, SAM_ACCO return NT_STATUS_OK; } -static NTSTATUS lsapsam_getgrsid(struct pdb_methods *methods, GROUP_MAP *map, +static NTSTATUS ldapsam_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 lsapsam_getgrgid(struct pdb_methods *methods, GROUP_MAP *map, +static NTSTATUS ldapsam_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 lsapsam_getgrnam(struct pdb_methods *methods, GROUP_MAP *map, +static NTSTATUS ldapsam_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 lsapsam_add_group_mapping_entry(struct pdb_methods *methods, +static NTSTATUS ldapsam_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 lsapsam_update_group_mapping_entry(struct pdb_methods *methods, +static NTSTATUS ldapsam_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 lsapsam_delete_group_mapping_entry(struct pdb_methods *methods, +static NTSTATUS ldapsam_delete_group_mapping_entry(struct pdb_methods *methods, DOM_SID sid) { return group_map_remove(sid) ? NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL; } -static NTSTATUS lsapsam_enum_group_mapping(struct pdb_methods *methods, +static NTSTATUS ldapsam_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) @@ -1998,13 +1998,13 @@ NTSTATUS pdb_init_ldapsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, co (*pdb_method)->add_sam_account = ldapsam_add_sam_account; (*pdb_method)->update_sam_account = ldapsam_update_sam_account; (*pdb_method)->delete_sam_account = ldapsam_delete_sam_account; - (*pdb_method)->getgrsid = lsapsam_getgrsid; - (*pdb_method)->getgrgid = lsapsam_getgrgid; - (*pdb_method)->getgrnam = lsapsam_getgrnam; - (*pdb_method)->add_group_mapping_entry = lsapsam_add_group_mapping_entry; - (*pdb_method)->update_group_mapping_entry = lsapsam_update_group_mapping_entry; - (*pdb_method)->delete_group_mapping_entry = lsapsam_delete_group_mapping_entry; - (*pdb_method)->enum_group_mapping = lsapsam_enum_group_mapping; + (*pdb_method)->getgrsid = ldapsam_getgrsid; + (*pdb_method)->getgrgid = ldapsam_getgrgid; + (*pdb_method)->getgrnam = ldapsam_getgrnam; + (*pdb_method)->add_group_mapping_entry = ldapsam_add_group_mapping_entry; + (*pdb_method)->update_group_mapping_entry = ldapsam_update_group_mapping_entry; + (*pdb_method)->delete_group_mapping_entry = ldapsam_delete_group_mapping_entry; + (*pdb_method)->enum_group_mapping = ldapsam_enum_group_mapping; /* TODO: Setup private data and free */ diff --git a/source3/passdb/pdb_smbpasswd.c b/source3/passdb/pdb_smbpasswd.c index abfe016e8a..5fd6a828bf 100644 --- a/source3/passdb/pdb_smbpasswd.c +++ b/source3/passdb/pdb_smbpasswd.c @@ -1494,47 +1494,55 @@ static NTSTATUS smbpasswd_delete_sam_account (struct pdb_methods *my_methods, SA } static NTSTATUS smbpasswd_getgrsid(struct pdb_methods *methods, GROUP_MAP *map, - DOM_SID sid, BOOL with_priv) + DOM_SID sid, BOOL with_priv) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) + gid_t gid, BOOL with_priv) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) + char *name, BOOL with_priv) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) + GROUP_MAP *map) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) + GROUP_MAP *map) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) + DOM_SID sid) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) + enum SID_NAME_USE sid_name_use, + GROUP_MAP **rmap, int *num_entries, + BOOL unix_only, BOOL with_priv) { - return NT_STATUS_NOT_IMPLEMENTED; + 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) -- cgit