mirror of
https://github.com/samba-team/samba.git
synced 2025-08-05 12:22:11 +03:00
added info level 3 to samrgetgroupinfo. I don't know what the value is.
It's just to keep usermanager happy ;-)
clean up a bit samr_query_aliasinfo to return the group description
added: samr_del_aliasmem, samr_del_groupmem and samr_del_domuser
with the correct scripts, you can now entirely manage the users from
usermanager ! Closer to full PDC every day ;-)
J.F.
(This used to be commit 0a727afc66
)
This commit is contained in:
@ -352,6 +352,7 @@ void init_samr_r_get_usrdom_pwinfo(SAMR_R_GET_USRDOM_PWINFO *r_u, NTSTATUS statu
|
||||
* but for trusts.
|
||||
*/
|
||||
r_u->unknown_1 = 0x01D1;
|
||||
r_u->unknown_1 = 0x0015;
|
||||
|
||||
r_u->unknown_2 = 0x00000000;
|
||||
|
||||
@ -2198,6 +2199,38 @@ BOOL samr_io_group_info1(char *desc, GROUP_INFO1 * gr1,
|
||||
return True;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
inits a GROUP_INFO3 structure.
|
||||
********************************************************************/
|
||||
|
||||
void init_samr_group_info3(GROUP_INFO3 *gr3)
|
||||
{
|
||||
DEBUG(5, ("init_samr_group_info3\n"));
|
||||
|
||||
gr3->unknown_1 = 0x3;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
reads or writes a structure.
|
||||
********************************************************************/
|
||||
|
||||
BOOL samr_io_group_info3(char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth)
|
||||
{
|
||||
if (gr3 == NULL)
|
||||
return False;
|
||||
|
||||
prs_debug(ps, depth, desc, "samr_io_group_info3");
|
||||
depth++;
|
||||
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
if(!prs_uint32("unknown_1", ps, depth, &gr3->unknown_1))
|
||||
return False;
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
inits a GROUP_INFO4 structure.
|
||||
********************************************************************/
|
||||
@ -2255,18 +2288,18 @@ static BOOL samr_group_info_ctr(char *desc, GROUP_INFO_CTR **ctr,
|
||||
|
||||
if(!prs_uint16("switch_value1", ps, depth, &(*ctr)->switch_value1))
|
||||
return False;
|
||||
if(!prs_uint16("switch_value2", ps, depth, &(*ctr)->switch_value2))
|
||||
return False;
|
||||
|
||||
switch ((*ctr)->switch_value1) {
|
||||
case 1:
|
||||
if(!samr_io_group_info1("group_info1",
|
||||
&(*ctr)->group.info1, ps, depth))
|
||||
if(!samr_io_group_info1("group_info1", &(*ctr)->group.info1, ps, depth))
|
||||
return False;
|
||||
break;
|
||||
case 3:
|
||||
if(!samr_io_group_info3("group_info3", &(*ctr)->group.info3, ps, depth))
|
||||
return False;
|
||||
break;
|
||||
case 4:
|
||||
if(!samr_io_group_info4("group_info4",
|
||||
&(*ctr)->group.info4, ps, depth))
|
||||
if(!samr_io_group_info4("group_info4", &(*ctr)->group.info4, ps, depth))
|
||||
return False;
|
||||
break;
|
||||
default:
|
||||
@ -2407,6 +2440,9 @@ BOOL samr_io_r_delete_dom_group(char *desc, SAMR_R_DELETE_DOM_GROUP * r_u,
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
|
||||
return False;
|
||||
|
||||
if(!prs_ntstatus("status", ps, depth, &r_u->status))
|
||||
return False;
|
||||
|
||||
@ -4760,6 +4796,8 @@ BOOL samr_io_r_delete_dom_user(char *desc, SAMR_R_DELETE_DOM_USER * r_u,
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
|
||||
return False;
|
||||
if(!prs_ntstatus("status", ps, depth, &r_u->status))
|
||||
return False;
|
||||
|
||||
|
Reference in New Issue
Block a user