mirror of
https://github.com/samba-team/samba.git
synced 2025-08-29 13:49:30 +03:00
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 205209f77f
)
This commit is contained in:
@ -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 */
|
||||
|
||||
|
@ -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)
|
||||
|
Reference in New Issue
Block a user