summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_interface.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2002-03-18 11:35:53 +0000
committerSimo Sorce <idra@samba.org>2002-03-18 11:35:53 +0000
commit9fffb0859d07a885278c395a366656f05731235c (patch)
tree0b137ec305e22bf6e01c5efcecfed3ebc2888c90 /source3/passdb/pdb_interface.c
parent4e6400f1ed9ef4cb4950a3b873ebdd9edd71efbd (diff)
downloadsamba-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.c44
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) */
/***************************************************************