summaryrefslogtreecommitdiffstats
path: root/source/samrd/srv_samr_passdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/samrd/srv_samr_passdb.c')
-rw-r--r--source/samrd/srv_samr_passdb.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/samrd/srv_samr_passdb.c b/source/samrd/srv_samr_passdb.c
index 5748b66bc6a..d6abb6225fa 100644
--- a/source/samrd/srv_samr_passdb.c
+++ b/source/samrd/srv_samr_passdb.c
@@ -150,7 +150,7 @@ static BOOL get_sampwd_entries(SAM_USER_INFO_21 *pw_buf,
endsmbpwent(vp);
- return (*num_entries) > 0;
+ return (*total_entries) > 0;
}
/*******************************************************************
@@ -263,7 +263,7 @@ uint32 _samr_get_usrdom_pwinfo(const POLICY_HND *user_pol,
/*******************************************************************
samr_reply_query_sec_obj
********************************************************************/
-uint32 _samr_query_sec_obj(const POLICY_HND *user_pol, SAM_SID_STUFF *sid_stuff)
+uint32 _samr_query_sec_obj(const POLICY_HND *user_pol, SEC_DESC_BUF *buf)
{
DOM_SID usr_sid;
@@ -275,6 +275,7 @@ uint32 _samr_query_sec_obj(const POLICY_HND *user_pol, SAM_SID_STUFF *sid_stuff)
SMB_ASSERT_ARRAY(usr_sid.sub_auths, usr_sid.num_auths+1);
+#if 0
/* maybe need another 1 or 2 (S-1-5-0x20-0x220 and S-1-5-20-0x224) */
/* these two are DOMAIN_ADMIN and DOMAIN_ACCT_OP group RIDs */
make_dom_sid3(&sid_stuff->sid[0], 0x035b, 0x0002, &global_sid_S_1_1);
@@ -285,6 +286,7 @@ uint32 _samr_query_sec_obj(const POLICY_HND *user_pol, SAM_SID_STUFF *sid_stuff)
0x00000014, 0x0002, 0x0070,
2);
+#endif
DEBUG(5,("samr_query_sec_obj: %d\n", __LINE__));
return NT_STATUS_NOPROBLEMO;
@@ -793,7 +795,7 @@ uint32 _samr_query_dispinfo( const POLICY_HND *domain_pol, uint16 level,
DOMAIN_GRP *sam_grps = NULL;
uint16 acb_mask = ACB_NORMAL;
int num_sam_entries = 0;
- int total_entries;
+ int total_entries = 0;
DEBUG(5,("samr_reply_query_dispinfo: %d\n", __LINE__));
@@ -827,6 +829,7 @@ uint32 _samr_query_dispinfo( const POLICY_HND *domain_pol, uint16 level,
unbecome_root(True);
if (!ret)
{
+ DEBUG(5,("get_sampwd_entries: failed\n"));
return NT_STATUS_ACCESS_DENIED;
}
break;
@@ -918,7 +921,6 @@ uint32 _samr_query_dispinfo( const POLICY_HND *domain_pol, uint16 level,
{
ctr->sam.info = NULL;
safe_free(sam_grps);
- safe_free(grps);
return NT_STATUS_INVALID_INFO_CLASS;
}
}
@@ -926,7 +928,6 @@ uint32 _samr_query_dispinfo( const POLICY_HND *domain_pol, uint16 level,
DEBUG(5,("samr_reply_query_dispinfo: %d\n", __LINE__));
safe_free(sam_grps);
- safe_free(grps);
if ((*num_entries) < num_sam_entries)
{