diff options
author | Gerald Carter <jerry@samba.org> | 2007-04-19 22:26:09 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:19:30 -0500 |
commit | 36da6cb5847df2754e8f9223e0784da6013c572b (patch) | |
tree | e0c3e6fe06c658ddae8f0d947482e0bdb3657e6c /source3/include | |
parent | dc90cd89a7fef3b0a744ef1873193cf2c9d75cad (diff) | |
download | samba-36da6cb5847df2754e8f9223e0784da6013c572b.tar.gz samba-36da6cb5847df2754e8f9223e0784da6013c572b.tar.bz2 samba-36da6cb5847df2754e8f9223e0784da6013c572b.zip |
r22390: Patchset sent to samba-technical to address the winbind
loop when allocating a new id for a SID:
auth_util.patch Revert create_local_token() to
the 3.0.24 codebase
idmap_type.patch Have the caller fillin the
id_map.xid.type field when
resolving a SID so that if we allocate
a new id, we know what type to use
winbindd_api.patch Remove the WINBINDD_SIDS_TO_XIDS calls
from the public winbindd interface
for the 3.0.25 release
idmap_rid.patch Cleanup the idmap_rid backend to not
call back into winbindd to resolve
the SID in order to verify it's type.
(This used to be commit 3b24dae9e73b244540a68b631b428a4d0f57440b)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/idmap.h | 6 | ||||
-rw-r--r-- | source3/include/smb.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/source3/include/idmap.h b/source3/include/idmap.h index 472358a230..f4926f1e5c 100644 --- a/source3/include/idmap.h +++ b/source3/include/idmap.h @@ -52,8 +52,14 @@ struct idmap_methods { /* Called when backend is first loaded */ NTSTATUS (*init)(struct idmap_domain *dom); + /* Map an array of uids/gids to SIDs. The caller specifies + the uid/gid and type. Gets back the SID. */ NTSTATUS (*unixids_to_sids)(struct idmap_domain *dom, struct id_map **ids); + + /* Map an arry of SIDs to uids/gids. The caller sets the SID + and type and gets back a uid or gid. */ NTSTATUS (*sids_to_unixids)(struct idmap_domain *dom, struct id_map **ids); + NTSTATUS (*set_mapping)(struct idmap_domain *dom, const struct id_map *map); NTSTATUS (*remove_mapping)(struct idmap_domain *dom, const struct id_map *map); diff --git a/source3/include/smb.h b/source3/include/smb.h index f85201ed30..6c44db5a34 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -276,13 +276,14 @@ typedef struct dom_sid { #define dom_sid28 dom_sid enum id_mapping { - ID_UNKNOWN, + ID_UNKNOWN = 0, ID_MAPPED, ID_UNMAPPED, ID_EXPIRED }; enum id_type { + ID_TYPE_NOT_SPECIFIED = 0, ID_TYPE_UID, ID_TYPE_GID }; |