diff options
author | Steven Danneman <steven.danneman@isilon.com> | 2008-11-15 13:07:15 -0800 |
---|---|---|
committer | Steven Danneman <steven.danneman@isilon.com> | 2008-11-18 13:02:21 -0800 |
commit | 6d59be1e6d83d4faf145c9b6d574bab9f2acb36a (patch) | |
tree | d438918428c3a54df81d9dffe930be4761797f8f /source3/include | |
parent | 9a7900fb38b9690bf51ab638c0f0629f2557b870 (diff) | |
download | samba-6d59be1e6d83d4faf145c9b6d574bab9f2acb36a.tar.gz samba-6d59be1e6d83d4faf145c9b6d574bab9f2acb36a.tar.bz2 samba-6d59be1e6d83d4faf145c9b6d574bab9f2acb36a.zip |
Fix extended DN parse error when AD object does not have a SID.
Some AD objects, like Exchange Public Folders, can be members of Security
Groups but do not have a SID attribute. This patch adds more granular return
errors to ads_get_sid_from_extended_dn(). Callers can now determine if a parse
error occured because of bad input, or the DN was valid but contained no SID.
I updated all callers to ignore SIDless objects when appropriate.
Also did some cleanup to the out paths of lookup_usergroups_memberof()
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 33425849d1..1cdf6c9cbc 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1920,10 +1920,10 @@ ADS_STATUS ads_get_joinable_ous(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char ***ous, size_t *num_ous); -bool ads_get_sid_from_extended_dn(TALLOC_CTX *mem_ctx, - const char *extended_dn, - enum ads_extended_dn_flags flags, - DOM_SID *sid); +ADS_STATUS ads_get_sid_from_extended_dn(TALLOC_CTX *mem_ctx, + const char *extended_dn, + enum ads_extended_dn_flags flags, + DOM_SID *sid); char* ads_get_dnshostname( ADS_STRUCT *ads, TALLOC_CTX *ctx, const char *machine_name ); char* ads_get_upn( ADS_STRUCT *ads, TALLOC_CTX *ctx, const char *machine_name ); char* ads_get_samaccountname( ADS_STRUCT *ads, TALLOC_CTX *ctx, const char *machine_name ); |