From 6c94466d7b0976925e031f815e72c59612ebab43 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 28 Jun 2006 17:56:10 +0000 Subject: 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) --- source3/include/passdb.h | 8 +++++--- source3/passdb/pdb_interface.c | 14 ++++++-------- source3/passdb/pdb_ldap.c | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'source3') 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; -- cgit