summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-06-28 17:56:10 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:19:04 -0500
commit6c94466d7b0976925e031f815e72c59612ebab43 (patch)
treeb00fe227912f8050c5b18d93f7e35c22cdce3ef6
parent57ba729facf9fe83c15d4490ff62020f5c429c0f (diff)
downloadsamba-6c94466d7b0976925e031f815e72c59612ebab43.tar.gz
samba-6c94466d7b0976925e031f815e72c59612ebab43.tar.bz2
samba-6c94466d7b0976925e031f815e72c59612ebab43.zip
r16628: Fix bug #3880, reported by jason@ncac.gwu.edu
by ensuring we return the correct enum for sid type, not a uint32. Jeremy. (This used to be commit 98a5e20ff4ceacda65dcc0ce5498ed4ffde520f8)
-rw-r--r--source3/include/passdb.h8
-rw-r--r--source3/passdb/pdb_interface.c14
-rw-r--r--source3/passdb/pdb_ldap.c2
3 files changed, 12 insertions, 12 deletions
diff --git a/source3/include/passdb.h b/source3/include/passdb.h
index 432976412d..74063d0fff 100644
--- a/source3/include/passdb.h
+++ b/source3/include/passdb.h
@@ -240,9 +240,11 @@ struct pdb_search {
* There's no point in allocating arrays in
* samr_lookup_rids twice. It was done in the srv_samr_nt.c code as well as in
* the pdb module. Remove the latter, this might happen more often. VL.
+ * changed to version 14 to move lookup_rids and lookup_names to return
+ * enum SID_NAME_USE rather than uint32.
*/
-#define PASSDB_INTERFACE_VERSION 13
+#define PASSDB_INTERFACE_VERSION 14
struct pdb_methods
{
@@ -363,14 +365,14 @@ struct pdb_methods
int num_rids,
uint32 *rids,
const char **pp_names,
- uint32 *attrs);
+ enum SID_NAME_USE *attrs);
NTSTATUS (*lookup_names)(struct pdb_methods *methods,
const DOM_SID *domain_sid,
int num_names,
const char **pp_names,
uint32 *rids,
- uint32 *attrs);
+ enum SID_NAME_USE *attrs);
NTSTATUS (*get_account_policy)(struct pdb_methods *methods,
int policy_index, uint32 *value);
diff --git a/source3/passdb/pdb_interface.c b/source3/passdb/pdb_interface.c
index 5d70c2c122..a0310d0c71 100644
--- a/source3/passdb/pdb_interface.c
+++ b/source3/passdb/pdb_interface.c
@@ -956,22 +956,20 @@ NTSTATUS pdb_lookup_rids(const DOM_SID *domain_sid,
int num_rids,
uint32 *rids,
const char **names,
- uint32 *attrs)
+ enum SID_NAME_USE *attrs)
{
struct pdb_methods *pdb = pdb_get_methods();
- return pdb->lookup_rids(pdb, domain_sid,
- num_rids, rids, names, attrs);
+ return pdb->lookup_rids(pdb, domain_sid, num_rids, rids, names, attrs);
}
NTSTATUS pdb_lookup_names(const DOM_SID *domain_sid,
int num_names,
const char **names,
uint32 *rids,
- uint32 *attrs)
+ enum SID_NAME_USE *attrs)
{
struct pdb_methods *pdb = pdb_get_methods();
- return pdb->lookup_names(pdb, domain_sid,
- num_names, names, rids, attrs);
+ return pdb->lookup_names(pdb, domain_sid, num_names, names, rids, attrs);
}
BOOL pdb_get_account_policy(int policy_index, uint32 *value)
@@ -1533,7 +1531,7 @@ NTSTATUS pdb_default_lookup_rids(struct pdb_methods *methods,
int num_rids,
uint32 *rids,
const char **names,
- uint32 *attrs)
+ enum SID_NAME_USE *attrs)
{
int i;
NTSTATUS result;
@@ -1596,7 +1594,7 @@ NTSTATUS pdb_default_lookup_names(struct pdb_methods *methods,
int num_names,
const char **names,
uint32 *rids,
- uint32 *attrs)
+ enum SID_NAME_USE *attrs)
{
int i;
NTSTATUS result;
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
index 4a9794e186..2b1893e4c0 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -3640,7 +3640,7 @@ static NTSTATUS ldapsam_lookup_rids(struct pdb_methods *methods,
int num_rids,
uint32 *rids,
const char **names,
- uint32 *attrs)
+ enum SID_NAME_USE *attrs)
{
struct ldapsam_privates *ldap_state =
(struct ldapsam_privates *)methods->private_data;