diff options
author | Jeremy Allison <jra@samba.org> | 2006-06-28 17:56:10 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:19:04 -0500 |
commit | 6c94466d7b0976925e031f815e72c59612ebab43 (patch) | |
tree | b00fe227912f8050c5b18d93f7e35c22cdce3ef6 /source3 | |
parent | 57ba729facf9fe83c15d4490ff62020f5c429c0f (diff) | |
download | samba-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)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/passdb.h | 8 | ||||
-rw-r--r-- | source3/passdb/pdb_interface.c | 14 | ||||
-rw-r--r-- | source3/passdb/pdb_ldap.c | 2 |
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; |