summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorSteven Danneman <steven.danneman@isilon.com>2008-11-15 13:07:15 -0800
committerSteven Danneman <steven.danneman@isilon.com>2008-11-18 13:02:21 -0800
commit6d59be1e6d83d4faf145c9b6d574bab9f2acb36a (patch)
treed438918428c3a54df81d9dffe930be4761797f8f /source3/include
parent9a7900fb38b9690bf51ab638c0f0629f2557b870 (diff)
downloadsamba-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.h8
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 );