diff options
author | Simo Sorce <idra@samba.org> | 2002-03-18 11:35:53 +0000 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2002-03-18 11:35:53 +0000 |
commit | 9fffb0859d07a885278c395a366656f05731235c (patch) | |
tree | 0b137ec305e22bf6e01c5efcecfed3ebc2888c90 /source3/passdb/pdb_interface.c | |
parent | 4e6400f1ed9ef4cb4950a3b873ebdd9edd71efbd (diff) | |
download | samba-9fffb0859d07a885278c395a366656f05731235c.tar.gz samba-9fffb0859d07a885278c395a366656f05731235c.tar.bz2 samba-9fffb0859d07a885278c395a366656f05731235c.zip |
Start to switch away from the alghorithmic uid->rid mapping model
(This used to be commit 724390a8daabbecd236960562e0a50f62c6904f1)
Diffstat (limited to 'source3/passdb/pdb_interface.c')
-rw-r--r-- | source3/passdb/pdb_interface.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/source3/passdb/pdb_interface.c b/source3/passdb/pdb_interface.c index 29f08cf46c..2fc04bc3b5 100644 --- a/source3/passdb/pdb_interface.c +++ b/source3/passdb/pdb_interface.c @@ -121,6 +121,26 @@ static BOOL context_delete_sam_account(struct pdb_context *context, SAM_ACCOUNT return context->pdb_selected->delete_sam_account(context, sam_acct); } +static uint32 context_uid_to_user_rid(struct pdb_context *context, uid_t uid) +{ + if ((!context) || (!context->pdb_selected)) { + DEBUG(0, ("invalid pdb_context specified!\n")); + return False; + } + + return context->pdb_selected->uid_to_user_rid(context, uid); +} + +static uid_t context_user_rid_to_uid(struct pdb_context *context, uint32 rid) +{ + if ((!context) || (!context->pdb_selected)) { + DEBUG(0, ("invalid pdb_context specified!\n")); + return False; + } + + return context->pdb_selected->user_rid_to_uid(context, rid); +} + static void free_pdb_context(struct pdb_context **context) { if (((*context)->pdb_selected) && ((*context)->pdb_selected->free_private_data)) { @@ -164,6 +184,8 @@ static NTSTATUS make_pdb_context(struct pdb_context **context) (*context)->pdb_add_sam_account = context_add_sam_account; (*context)->pdb_update_sam_account = context_update_sam_account; (*context)->pdb_delete_sam_account = context_delete_sam_account; + (*context)->pdb_uid_to_user_rid = context_uid_to_user_rid; + (*context)->pdb_user_rid_to_uid = context_user_rid_to_uid; (*context)->free_fn = free_pdb_context; @@ -347,6 +369,28 @@ BOOL pdb_delete_sam_account(SAM_ACCOUNT *sam_acct) return pdb_context->pdb_delete_sam_account(pdb_context, sam_acct); } +uid_t pdb_user_rid_to_uid(uint32 rid) +{ + struct pdb_context *pdb_context = pdb_get_static_context(False); + + if (!pdb_context) { + return False; + } + + return pdb_context->pdb_user_rid_to_uid(pdb_context, rid); +} + +uint32 pdb_uid_to_user_rid(uid_t uid) +{ + struct pdb_context *pdb_context = pdb_get_static_context(False); + + if (!pdb_context) { + return False; + } + + return pdb_context->pdb_uid_to_user_rid(pdb_context, uid); +} + #endif /* !defined(WITH_NISPLUS_SAM) */ /*************************************************************** |