summaryrefslogtreecommitdiffstats
path: root/source3/passdb/pdb_ads.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2011-02-19 17:52:50 +0100
committerVolker Lendecke <vl@samba.org>2011-02-20 10:23:29 +0100
commit5f953b1ef82ee280d58bc41a125d3e51cc26f38c (patch)
tree9d70cab7e3947c651fa1a6ab9a01a890e8a04cf0 /source3/passdb/pdb_ads.c
parent351b672426dfba61b7994e59350f4ee3c6d49bc0 (diff)
downloadsamba-5f953b1ef82ee280d58bc41a125d3e51cc26f38c.tar.gz
samba-5f953b1ef82ee280d58bc41a125d3e51cc26f38c.tar.xz
samba-5f953b1ef82ee280d58bc41a125d3e51cc26f38c.zip
s3: Add ACB_NORMAL to workstations, match RPC-SAMR
Diffstat (limited to 'source3/passdb/pdb_ads.c')
-rw-r--r--source3/passdb/pdb_ads.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/passdb/pdb_ads.c b/source3/passdb/pdb_ads.c
index 0dc39fd308..51aac2cd7a 100644
--- a/source3/passdb/pdb_ads.c
+++ b/source3/passdb/pdb_ads.c
@@ -1966,7 +1966,15 @@ static bool pdb_ads_search_filter(struct pdb_methods *m,
continue;
}
sid_peek_rid(&sid, &e->rid);
- e->acct_flags = ACB_NORMAL;
+
+ if (tldap_pull_uint32(users[i], "userAccountControl", &ctrl)) {
+ e->acct_flags = ds_uf2acb(ctrl);
+ if (e->acct_flags & (ACB_WSTRUST|ACB_SVRTRUST)) {
+ e->acct_flags |= ACB_NORMAL;
+ }
+ } else {
+ e->acct_flags = ACB_NORMAL;
+ }
if (e->rid == DOMAIN_RID_GUEST) {
/*