mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
493f5d6b07
This must only be used between winbindd parent and child! It must not leak into outside world. Some backends require ID_TYPE_UID or ID_TYPE_GID as type_hint, while others may only need ID_TYPE_BOTH in order to validate that the domain exists. This will allow us to skip the wb_lookupsids_send/recv in the winbindd parent in future and only do that on demand. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14539 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
54 lines
1.0 KiB
Plaintext
54 lines
1.0 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
import "security.idl";
|
|
|
|
[
|
|
pointer_default(unique)
|
|
]
|
|
interface idmap
|
|
{
|
|
typedef [public] enum {
|
|
ID_TYPE_NOT_SPECIFIED,
|
|
ID_TYPE_UID,
|
|
ID_TYPE_GID,
|
|
ID_TYPE_BOTH,
|
|
/*
|
|
* This are internal between winbindd
|
|
* parent and child.
|
|
*
|
|
* It means the idmap backend/child requires a valid type_hint
|
|
* for wbint_Sids2UnixIDs():
|
|
*
|
|
* - ID_TYPE_UID or ID_TYPE_GID means the user/group exists
|
|
* - ID_TYPE_BOTH means that only the domain exist
|
|
*/
|
|
ID_TYPE_WB_REQUIRE_TYPE
|
|
} id_type;
|
|
|
|
typedef [public] struct {
|
|
uint32 id;
|
|
id_type type;
|
|
} unixid;
|
|
|
|
typedef [public] enum {
|
|
ID_UNKNOWN,
|
|
ID_MAPPED,
|
|
ID_UNMAPPED,
|
|
ID_EXPIRED,
|
|
/*
|
|
* This means the idmap backend requires a valid type_hint
|
|
* in order to map a sid to a unix id.
|
|
*
|
|
* - ID_TYPE_UID or ID_TYPE_GID means the user/group exists
|
|
* - ID_TYPE_BOTH means that only the domain exist
|
|
*/
|
|
ID_REQUIRE_TYPE
|
|
} id_mapping;
|
|
|
|
typedef [public] struct {
|
|
dom_sid *sid;
|
|
unixid xid;
|
|
id_mapping status;
|
|
} id_map;
|
|
}
|