Rework SAMR code, and remove rpc_parse dependency on passdb
Kai Krueger
kai at kruegernetz.de
Wed Jun 26 17:04:01 GMT 2002
----- Original Message -----
From: "Andrew Bartlett" <abartlet at samba.org> Sent: Wednesday, June 26,
2002 5:49 AM
> > It would be good, if all those q_u->pol could be renamed to
identify on what
> > type of sam-object each of the policies where opened. i.e.
q_u->domain_pol,
> > q_u->user_pol, q_u->group_pol and so on. I think that would clarify
some of
> > the policy stuff.
>
> Yes, I would support that. Patches welcome ;-)
Here comes a renameing patch then :) All of the q_u->pol and r_u->pol
have been renamed,
except for the r_u->pol in the delete functions. I don't know what typ
of policyhandle they
return, as their q_u->pol has been released.
> Andrew Bartlett
Kai
-------------- next part --------------
--- ./samba32606-orig/source/libsmb/cli_samr.c Sat Jun 22 11:31:23 2002
+++ ./samba32606/source/libsmb/cli_samr.c Thu Jun 27 00:50:17 2002
@@ -249,7 +249,7 @@
/* Return output parameters */
if (NT_STATUS_IS_OK(result = r.status)) {
- *group_pol = r.pol;
+ *group_pol = r.group_pol;
#ifdef __INSURE__
group_pol->marker = malloc(1);
#endif
@@ -742,7 +742,7 @@
/* Return output parameters */
if (NT_STATUS_IS_OK(result = r.status)) {
- *alias_pol = r.pol;
+ *alias_pol = r.alias_pol;
#ifdef __INSURE__
alias_pol->marker = malloc(1);
#endif
-------------- next part --------------
--- ./samba32606-orig/source/include/rpc_samr.h Fri Jun 14 16:12:32 2002
+++ ./samba32606/source/include/rpc_samr.h Thu Jun 27 01:12:44 2002
@@ -459,7 +459,7 @@
/* SAMR_Q_QUERY_SEC_OBJ - probably get domain info... */
typedef struct q_samr_query_sec_obj_info
{
- POLICY_HND user_pol; /* policy handle */
+ POLICY_HND pol; /* policy handle */
uint32 sec_info; /* xxxx_SECURITY_INFORMATION 0x0000 0004 */
} SAMR_Q_QUERY_SEC_OBJ;
@@ -630,9 +630,9 @@
/* SAMR_Q_OPEN_DOMAIN */
typedef struct q_samr_open_domain_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND connect_pol; /* policy handle */
uint32 flags; /* 0x2000 0000; 0x0000 0211; 0x0000 0280; 0x0000 0200 - flags? */
- DOM_SID2 dom_sid; /* domain SID */
+ DOM_SID2 dom_sid; /* domain SID */
} SAMR_Q_OPEN_DOMAIN;
@@ -640,7 +640,7 @@
/* SAMR_R_OPEN_DOMAIN - probably an open */
typedef struct r_samr_open_domain_info
{
- POLICY_HND domain_pol; /* policy handle associated with the SID */
+ POLICY_HND domain_pol; /* policy handle associated with the SID */
NTSTATUS status; /* return status */
} SAMR_R_OPEN_DOMAIN;
@@ -661,7 +661,7 @@
/* SAMR_Q_ENUM_DOMAINS - SAM rids and names */
typedef struct q_samr_enum_domains_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND connect_pol; /* policy handle */
uint32 start_idx; /* enumeration handle */
uint32 max_size; /* 0x0000 ffff */
@@ -691,13 +691,13 @@
/* SAMR_Q_ENUM_DOM_USERS - SAM rids and names */
typedef struct q_samr_enum_dom_users_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
- uint32 start_idx; /* number of values (0 indicates unlimited?) */
+ uint32 start_idx; /* number of values (0 indicates unlimited?) */
uint16 acb_mask; /* 0x0000 indicates all */
uint16 unknown_1; /* 0x0000 */
- uint32 max_size; /* 0x0000 ffff */
+ uint32 max_size; /* 0x0000 ffff */
} SAMR_Q_ENUM_DOM_USERS;
@@ -726,7 +726,7 @@
/* SAMR_Q_ENUM_DOM_GROUPS - SAM rids and names */
typedef struct q_samr_enum_dom_groups_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
/* this is possibly an enumeration context handle... */
uint32 start_idx; /* 0x0000 0000 */
@@ -760,7 +760,7 @@
/* SAMR_Q_ENUM_DOM_ALIASES - SAM rids and names */
typedef struct q_samr_enum_dom_aliases_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
/* this is possibly an enumeration context handle... */
uint32 start_idx; /* 0x0000 0000 */
@@ -1000,7 +1000,7 @@
/* SAMR_Q_CREATE_DOM_GROUP - SAM create group */
typedef struct q_samr_create_dom_group_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
UNIHDR hdr_acct_desc;
UNISTR2 uni_acct_desc;
@@ -1012,7 +1012,7 @@
/* SAMR_R_CREATE_DOM_GROUP - SAM create group */
typedef struct r_samr_create_dom_group_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND group_pol; /* policy handle */
uint32 rid;
NTSTATUS status;
@@ -1022,7 +1022,7 @@
/* SAMR_Q_QUERY_GROUPINFO - SAM Group Info */
typedef struct q_samr_query_group_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND group_pol; /* policy handle */
uint16 switch_level; /* 0x0001 seen */
@@ -1084,7 +1084,7 @@
/* SAMR_Q_SET_GROUPINFO - SAM Group Info */
typedef struct q_samr_set_group_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND group_pol; /* policy handle */
GROUP_INFO_CTR *ctr;
} SAMR_Q_SET_GROUPINFO;
@@ -1117,7 +1117,7 @@
/* SAMR_Q_CREATE_DOM_ALIAS - SAM create alias */
typedef struct q_samr_create_dom_alias_info
{
- POLICY_HND dom_pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
UNIHDR hdr_acct_desc;
UNISTR2 uni_acct_desc;
@@ -1139,7 +1139,7 @@
/* SAMR_Q_QUERY_ALIASINFO - SAM Alias Info */
typedef struct q_samr_query_alias_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND alias_pol; /* policy handle */
uint16 switch_level; /* 0x0003 seen */
@@ -1207,7 +1207,7 @@
/* SAMR_Q_QUERY_USERGROUPS - */
typedef struct q_samr_query_usergroup_info
{
- POLICY_HND pol; /* policy handle associated with unknown id */
+ POLICY_HND user_pol; /* policy handle associated with unknown id */
} SAMR_Q_QUERY_USERGROUPS;
@@ -1250,7 +1250,7 @@
/* SAMR_Q_SET_USERINFO2 - set sam info */
typedef struct q_samr_set_user_info2
{
- POLICY_HND pol; /* policy handle associated with user */
+ POLICY_HND user_pol; /* policy handle associated with user */
uint16 switch_value; /* 0x0010 */
SAM_USERINFO_CTR *ctr;
@@ -1267,7 +1267,7 @@
/* SAMR_Q_SET_USERINFO - set sam info */
typedef struct q_samr_set_user_info
{
- POLICY_HND pol; /* policy handle associated with user */
+ POLICY_HND user_pol; /* policy handle associated with user */
uint16 switch_value;
SAM_USERINFO_CTR *ctr;
@@ -1284,7 +1284,7 @@
/* SAMR_Q_QUERY_USERINFO - probably a get sam info */
typedef struct q_samr_query_user_info
{
- POLICY_HND pol; /* policy handle associated with unknown id */
+ POLICY_HND user_pol; /* policy handle associated with unknown id */
uint16 switch_value; /* 0x0015, 0x0011 or 0x0010 - 16 bit unknown */
} SAMR_Q_QUERY_USERINFO;
@@ -1310,7 +1310,7 @@
/* SAMR_Q_QUERY_USERALIASES */
typedef struct q_samr_query_useraliases_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND user_pol; /* policy handle */
uint32 num_sids1; /* number of rids being looked up */
uint32 ptr; /* buffer pointer */
@@ -1342,11 +1342,11 @@
/* SAMR_Q_LOOKUP_NAMES */
typedef struct q_samr_lookup_names_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
uint32 num_names1; /* number of names being looked up */
uint32 flags; /* 0x0000 03e8 - unknown */
- uint32 ptr; /* 0x0000 0000 - 32 bit unknown */
+ uint32 ptr; /* 0x0000 0000 - 32 bit unknown */
uint32 num_names2; /* number of names being looked up */
UNIHDR *hdr_name; /* unicode account name header */
@@ -1383,7 +1383,7 @@
/* SAMR_Q_LOOKUP_RIDS */
typedef struct q_samr_lookup_rids_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
uint32 num_rids1; /* number of rids being looked up */
uint32 flags; /* 0x0000 03e8 - unknown */
@@ -1423,9 +1423,9 @@
/* SAMR_Q_OPEN_USER - probably an open */
typedef struct q_samr_open_user_info
{
- POLICY_HND domain_pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
uint32 access_mask; /* 32 bit unknown - 0x02011b */
- uint32 user_rid; /* user RID */
+ uint32 user_rid; /* user RID */
} SAMR_Q_OPEN_USER;
@@ -1433,7 +1433,7 @@
/* SAMR_R_OPEN_USER - probably an open */
typedef struct r_samr_open_user_info
{
- POLICY_HND user_pol; /* policy handle associated with unknown id */
+ POLICY_HND user_pol; /* policy handle associated with unknown id */
NTSTATUS status; /* return status */
} SAMR_R_OPEN_USER;
@@ -1442,12 +1442,12 @@
/* SAMR_Q_CREATE_USER - probably a create */
typedef struct q_samr_create_user_info
{
- POLICY_HND domain_pol; /* policy handle */
+ POLICY_HND domain_pol; /* policy handle */
UNIHDR hdr_name; /* unicode account name header */
UNISTR2 uni_name; /* unicode account name */
- uint32 acb_info; /* account control info */
+ uint32 acb_info; /* account control info */
uint32 access_mask; /* 0xe005 00b0 */
} SAMR_Q_CREATE_USER;
@@ -1456,7 +1456,7 @@
/* SAMR_R_CREATE_USER - probably a create */
typedef struct r_samr_create_user_info
{
- POLICY_HND user_pol; /* policy handle associated with user */
+ POLICY_HND user_pol; /* policy handle associated with user */
uint32 unknown_0; /* 0x0007 03ff */
uint32 user_rid; /* user RID */
@@ -1513,8 +1513,8 @@
/* SAMR_Q_DEL_GROUPMEM - probably an del group member */
typedef struct q_samr_del_group_mem_info
{
- POLICY_HND pol; /* policy handle */
- uint32 rid; /* rid */
+ POLICY_HND group_pol; /* policy handle */
+ uint32 rid; /* rid */
} SAMR_Q_DEL_GROUPMEM;
@@ -1530,7 +1530,7 @@
/* SAMR_Q_ADD_GROUPMEM - probably an add group member */
typedef struct q_samr_add_group_mem_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND group_pol; /* policy handle */
uint32 rid; /* rid */
uint32 unknown; /* 0x0000 0005 */
@@ -1549,8 +1549,8 @@
/* SAMR_Q_OPEN_GROUP - probably an open */
typedef struct q_samr_open_group_info
{
- POLICY_HND domain_pol; /* policy handle */
- uint32 access_mask; /* 0x0000 0001, 0x0000 0003, 0x0000 001f */
+ POLICY_HND domain_pol; /* policy handle */
+ uint32 access_mask; /* 0x0000 0001, 0x0000 0003, 0x0000 001f */
uint32 rid_group; /* rid */
} SAMR_Q_OPEN_GROUP;
@@ -1559,7 +1559,7 @@
/* SAMR_R_OPEN_GROUP - probably an open */
typedef struct r_samr_open_group_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND group_pol; /* policy handle */
NTSTATUS status; /* return status */
} SAMR_R_OPEN_GROUP;
@@ -1627,7 +1627,7 @@
/* SAMR_Q_OPEN_ALIAS - probably an open */
typedef struct q_samr_open_alias_info
{
- POLICY_HND dom_pol;
+ POLICY_HND domain_pol;
uint32 access_mask;
uint32 rid_alias;
@@ -1638,7 +1638,7 @@
/* SAMR_R_OPEN_ALIAS - probably an open */
typedef struct r_samr_open_alias_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND alias_pol; /* policy handle */
NTSTATUS status; /* return status */
} SAMR_R_OPEN_ALIAS;
@@ -1657,7 +1657,7 @@
/* SAMR_R_CONNECT_ANON - probably an open */
typedef struct r_samr_connect_anon_info
{
- POLICY_HND connect_pol; /* policy handle */
+ POLICY_HND connect_pol; /* policy handle */
NTSTATUS status; /* return status */
} SAMR_R_CONNECT_ANON;
@@ -1676,7 +1676,7 @@
/* SAMR_R_CONNECT - probably an open */
typedef struct r_samr_connect_info
{
- POLICY_HND connect_pol; /* policy handle */
+ POLICY_HND connect_pol; /* policy handle */
NTSTATUS status; /* return status */
} SAMR_R_CONNECT;
@@ -1755,8 +1755,8 @@
/* SAMR_Q_UNKNOWN_2D */
typedef struct q_samr_unknown_2d_info
{
- POLICY_HND dom_pol; /* policy handle */
- DOM_SID2 sid; /* SID */
+ POLICY_HND domain_pol; /* policy handle */
+ DOM_SID2 sid; /* SID */
} SAMR_Q_UNKNOWN_2D;
-------------- next part --------------
--- ./samba32606-orig/source/rpc_parse/parse_samr.c Sat Jun 22 11:31:25 2002
+++ ./samba32606/source/rpc_parse/parse_samr.c Thu Jun 27 00:05:12 2002
@@ -90,13 +90,13 @@
********************************************************************/
void init_samr_q_lookup_domain(SAMR_Q_LOOKUP_DOMAIN * q_u,
- POLICY_HND *pol, char *dom_name)
+ POLICY_HND *connect_pol, char *dom_name)
{
int len_name = strlen(dom_name);
DEBUG(5, ("init_samr_q_lookup_domain\n"));
- q_u->connect_pol = *pol;
+ q_u->connect_pol = *connect_pol;
init_uni_hdr(&q_u->hdr_domain, len_name);
init_unistr2(&q_u->uni_domain, dom_name, len_name);
@@ -182,11 +182,11 @@
reads or writes a structure.
********************************************************************/
-void init_samr_q_unknown_2d(SAMR_Q_UNKNOWN_2D * q_u, POLICY_HND *dom_pol, DOM_SID *sid)
+void init_samr_q_unknown_2d(SAMR_Q_UNKNOWN_2D * q_u, POLICY_HND *domain_pol, DOM_SID *sid)
{
DEBUG(5, ("samr_init_samr_q_unknown_2d\n"));
- q_u->dom_pol = *dom_pol;
+ q_u->domain_pol = *domain_pol;
init_dom_sid2(&q_u->sid, sid);
}
@@ -206,7 +206,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("domain_pol", &q_u->dom_pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_u->domain_pol, ps, depth))
return False;
if(!smb_io_dom_sid2("sid", &q_u->sid, ps, depth))
@@ -245,12 +245,12 @@
********************************************************************/
void init_samr_q_open_domain(SAMR_Q_OPEN_DOMAIN * q_u,
- POLICY_HND *pol, uint32 flags,
+ POLICY_HND *connect_pol, uint32 flags,
const DOM_SID *sid)
{
DEBUG(5, ("samr_init_samr_q_open_domain\n"));
- q_u->pol = *pol;
+ q_u->connect_pol = *connect_pol;
q_u->flags = flags;
init_dom_sid2(&q_u->dom_sid, sid);
}
@@ -271,7 +271,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("connect_pol", &q_u->connect_pol, ps, depth))
return False;
if(!prs_uint32("flags", ps, depth, &q_u->flags))
@@ -395,11 +395,11 @@
********************************************************************/
void init_samr_q_query_sec_obj(SAMR_Q_QUERY_SEC_OBJ * q_u,
- POLICY_HND *user_pol, uint32 sec_info)
+ POLICY_HND *pol, uint32 sec_info)
{
DEBUG(5, ("samr_init_samr_q_query_sec_obj\n"));
- q_u->user_pol = *user_pol;
+ q_u->pol = *pol;
q_u->sec_info = sec_info;
}
@@ -420,7 +420,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("user_pol", &q_u->user_pol, ps, depth))
+ if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
return False;
if(!prs_uint32("sec_info", ps, depth, &q_u->sec_info))
@@ -1244,13 +1244,13 @@
inits a SAMR_Q_ENUM_DOM_USERS structure.
********************************************************************/
-void init_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS * q_e, POLICY_HND *pol,
+void init_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS * q_e, POLICY_HND *domain_pol,
uint32 start_idx,
uint16 acb_mask, uint16 unk_1, uint32 size)
{
DEBUG(5, ("init_samr_q_enum_dom_users\n"));
- q_e->pol = *pol;
+ q_e->domain_pol = *domain_pol;
q_e->start_idx = start_idx; /* zero indicates lots */
q_e->acb_mask = acb_mask;
@@ -1274,7 +1274,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("domain_pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_e->domain_pol, ps, depth))
return False;
if(!prs_uint32("start_idx", ps, depth, &q_e->start_idx))
@@ -1386,13 +1386,13 @@
inits a SAMR_Q_QUERY_DISPINFO structure.
********************************************************************/
-void init_samr_q_query_dispinfo(SAMR_Q_QUERY_DISPINFO * q_e, POLICY_HND *pol,
+void init_samr_q_query_dispinfo(SAMR_Q_QUERY_DISPINFO * q_e, POLICY_HND *domain_pol,
uint16 switch_level, uint32 start_idx,
uint32 max_entries)
{
DEBUG(5, ("init_samr_q_query_dispinfo\n"));
- q_e->domain_pol = *pol;
+ q_e->domain_pol = *domain_pol;
q_e->switch_level = switch_level;
@@ -2099,7 +2099,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("group_pol", &r_u->group_pol, ps, depth))
return False;
if(!prs_ntstatus("status", ps, depth, &r_u->status))
@@ -2286,14 +2286,14 @@
********************************************************************/
void init_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP * q_e,
- POLICY_HND *pol, char *acct_desc,
+ POLICY_HND *domain_pol, char *acct_desc,
uint32 access_mask)
{
int acct_len = acct_desc != NULL ? strlen(acct_desc) : 0;
DEBUG(5, ("init_samr_q_create_dom_group\n"));
- q_e->pol = *pol;
+ q_e->domain_pol = *domain_pol;
init_uni_hdr(&q_e->hdr_acct_desc, acct_len);
init_unistr2(&q_e->uni_acct_desc, acct_desc, acct_len);
@@ -2317,7 +2317,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_e->domain_pol, ps, depth))
return False;
if(!smb_io_unihdr("hdr_acct_desc", &q_e->hdr_acct_desc, ps, depth))
@@ -2350,7 +2350,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("group_pol", &r_u->group_pol, ps, depth))
return False;
if(!prs_uint32("rid ", ps, depth, &r_u->rid))
@@ -2425,11 +2425,11 @@
********************************************************************/
void init_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM * q_e,
- POLICY_HND *pol, uint32 rid)
+ POLICY_HND *group_pol, uint32 rid)
{
DEBUG(5, ("init_samr_q_del_groupmem\n"));
- q_e->pol = *pol;
+ q_e->group_pol = *group_pol;
q_e->rid = rid;
}
@@ -2449,7 +2449,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("group_pol", &q_e->group_pol, ps, depth))
return False;
if(!prs_uint32("rid", ps, depth, &q_e->rid))
@@ -2497,11 +2497,11 @@
********************************************************************/
void init_samr_q_add_groupmem(SAMR_Q_ADD_GROUPMEM * q_e,
- POLICY_HND *pol, uint32 rid)
+ POLICY_HND *group_pol, uint32 rid)
{
DEBUG(5, ("init_samr_q_add_groupmem\n"));
- q_e->pol = *pol;
+ q_e->group_pol = *group_pol;
q_e->rid = rid;
q_e->unknown = 0x0005;
}
@@ -2522,7 +2522,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("group_pol", &q_e->group_pol, ps, depth))
return False;
if(!prs_uint32("rid ", ps, depth, &q_e->rid))
@@ -2572,11 +2572,11 @@
********************************************************************/
void init_samr_q_set_groupinfo(SAMR_Q_SET_GROUPINFO * q_e,
- POLICY_HND *pol, GROUP_INFO_CTR * ctr)
+ POLICY_HND *group_pol, GROUP_INFO_CTR * ctr)
{
DEBUG(5, ("init_samr_q_set_groupinfo\n"));
- q_e->pol = *pol;
+ q_e->group_pol = *group_pol;
q_e->ctr = ctr;
}
@@ -2596,7 +2596,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("group_pol", &q_e->group_pol, ps, depth))
return False;
if(!samr_group_info_ctr("ctr", &q_e->ctr, ps, depth))
@@ -2643,11 +2643,11 @@
********************************************************************/
void init_samr_q_query_groupinfo(SAMR_Q_QUERY_GROUPINFO * q_e,
- POLICY_HND *pol, uint16 switch_level)
+ POLICY_HND *group_pol, uint16 switch_level)
{
DEBUG(5, ("init_samr_q_query_groupinfo\n"));
- q_e->pol = *pol;
+ q_e->group_pol = *group_pol;
q_e->switch_level = switch_level;
}
@@ -2668,7 +2668,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("group_pol", &q_e->group_pol, ps, depth))
return False;
if(!prs_uint16("switch_level", ps, depth, &q_e->switch_level))
@@ -2861,11 +2861,11 @@
********************************************************************/
void init_samr_q_query_usergroups(SAMR_Q_QUERY_USERGROUPS * q_u,
- POLICY_HND *hnd)
+ POLICY_HND *user_pol)
{
DEBUG(5, ("init_samr_q_query_usergroups\n"));
- q_u->pol = *hnd;
+ q_u->user_pol = *user_pol;
}
/*******************************************************************
@@ -2884,7 +2884,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("user_pol", &q_u->user_pol, ps, depth))
return False;
return True;
@@ -2999,12 +2999,12 @@
********************************************************************/
void init_samr_q_enum_domains(SAMR_Q_ENUM_DOMAINS * q_e,
- POLICY_HND *pol,
+ POLICY_HND *connect_pol,
uint32 start_idx, uint32 size)
{
DEBUG(5, ("init_samr_q_enum_domains\n"));
- q_e->pol = *pol;
+ q_e->connect_pol = *connect_pol;
q_e->start_idx = start_idx;
q_e->max_size = size;
@@ -3026,7 +3026,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("connect_pol", &q_e->connect_pol, ps, depth))
return False;
if(!prs_uint32("start_idx", ps, depth, &q_e->start_idx))
@@ -3138,12 +3138,12 @@
********************************************************************/
void init_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS * q_e,
- POLICY_HND *pol,
+ POLICY_HND *domain_pol,
uint32 start_idx, uint32 size)
{
DEBUG(5, ("init_samr_q_enum_dom_groups\n"));
- q_e->pol = *pol;
+ q_e->domain_pol = *domain_pol;
q_e->start_idx = start_idx;
q_e->max_size = size;
@@ -3165,7 +3165,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &(q_e->pol), ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &(q_e->domain_pol), ps, depth))
return False;
if(!prs_uint32("start_idx", ps, depth, &q_e->start_idx))
@@ -3272,12 +3272,12 @@
********************************************************************/
void init_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES * q_e,
- POLICY_HND *pol, uint32 start_idx,
+ POLICY_HND *domain_pol, uint32 start_idx,
uint32 size)
{
DEBUG(5, ("init_samr_q_enum_dom_aliases\n"));
- q_e->pol = *pol;
+ q_e->domain_pol = *domain_pol;
q_e->start_idx = start_idx;
q_e->max_size = size;
@@ -3300,7 +3300,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_e->pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_e->domain_pol, ps, depth))
return False;
if(!prs_uint32("start_idx", ps, depth, &q_e->start_idx))
@@ -3538,11 +3538,11 @@
********************************************************************/
void init_samr_q_query_aliasinfo(SAMR_Q_QUERY_ALIASINFO * q_e,
- POLICY_HND *pol, uint16 switch_level)
+ POLICY_HND *alias_pol, uint16 switch_level)
{
DEBUG(5, ("init_samr_q_query_aliasinfo\n"));
- q_e->pol = *pol;
+ q_e->alias_pol = *alias_pol;
q_e->switch_level = switch_level;
}
@@ -3562,7 +3562,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &(q_e->pol), ps, depth))
+ if(!smb_io_pol_hnd("alias_pol", &(q_e->alias_pol), ps, depth))
return False;
if(!prs_uint16("switch_level", ps, depth, &q_e->switch_level))
@@ -3680,13 +3680,13 @@
********************************************************************/
void init_samr_q_query_useraliases(SAMR_Q_QUERY_USERALIASES * q_u,
- POLICY_HND *hnd,
+ POLICY_HND *user_pol,
uint32 num_sids,
uint32 *ptr_sid, DOM_SID2 * sid)
{
DEBUG(5, ("init_samr_q_query_useraliases\n"));
- q_u->pol = *hnd;
+ q_u->user_pol = *user_pol;
q_u->num_sids1 = num_sids;
q_u->ptr = 1;
@@ -3715,7 +3715,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("user_pol", &q_u->user_pol, ps, depth))
return False;
if(!prs_uint32("num_sids1", ps, depth, &q_u->num_sids1))
@@ -3858,12 +3858,12 @@
inits a SAMR_Q_OPEN_ALIAS structure.
********************************************************************/
-void init_samr_q_open_alias(SAMR_Q_OPEN_ALIAS * q_u, POLICY_HND *pol,
+void init_samr_q_open_alias(SAMR_Q_OPEN_ALIAS * q_u, POLICY_HND *domain_pol,
uint32 access_mask, uint32 rid)
{
DEBUG(5, ("init_samr_q_open_alias\n"));
- q_u->dom_pol = *pol;
+ q_u->domain_pol = *domain_pol;
q_u->access_mask = access_mask;
q_u->rid_alias = rid;
}
@@ -3884,7 +3884,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("domain_pol", &q_u->dom_pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_u->domain_pol, ps, depth))
return False;
if(!prs_uint32("access_mask", ps, depth, &q_u->access_mask))
@@ -3911,7 +3911,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &r_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("alias_pol", &r_u->alias_pol, ps, depth))
return False;
if(!prs_ntstatus("status", ps, depth, &r_u->status))
@@ -3925,12 +3925,12 @@
********************************************************************/
void init_samr_q_lookup_rids(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_RIDS * q_u,
- POLICY_HND *pol, uint32 flags,
+ POLICY_HND *domain_pol, uint32 flags,
uint32 num_rids, uint32 *rid)
{
DEBUG(5, ("init_samr_q_lookup_rids\n"));
- q_u->pol = *pol;
+ q_u->domain_pol = *domain_pol;
q_u->num_rids1 = num_rids;
q_u->flags = flags;
@@ -3967,7 +3967,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_u->domain_pol, ps, depth))
return False;
if(!prs_uint32("num_rids1", ps, depth, &q_u->num_rids1))
@@ -4176,13 +4176,13 @@
********************************************************************/
void init_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS * q_u,
- POLICY_HND *hnd, char *acct_desc)
+ POLICY_HND *domain_pol, char *acct_desc)
{
int acct_len = acct_desc != NULL ? strlen(acct_desc) : 0;
DEBUG(5, ("init_samr_q_create_dom_alias\n"));
- q_u->dom_pol = *hnd;
+ q_u->domain_pol = *domain_pol;
init_uni_hdr(&q_u->hdr_acct_desc, acct_len);
init_unistr2(&q_u->uni_acct_desc, acct_desc, acct_len);
@@ -4206,7 +4206,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("dom_pol", &q_u->dom_pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_u->domain_pol, ps, depth))
return False;
if(!smb_io_unihdr("hdr_acct_desc", &q_u->hdr_acct_desc, ps, depth))
@@ -4554,14 +4554,14 @@
********************************************************************/
NTSTATUS init_samr_q_lookup_names(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_NAMES * q_u,
- POLICY_HND *pol, uint32 flags,
+ POLICY_HND *domain_pol, uint32 flags,
uint32 num_names, const char **name)
{
uint32 i;
DEBUG(5, ("init_samr_q_lookup_names\n"));
- q_u->pol = *pol;
+ q_u->domain_pol = *domain_pol;
q_u->num_names1 = num_names;
q_u->flags = flags;
@@ -4604,7 +4604,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("domain_pol", &q_u->domain_pol, ps, depth))
return False;
if(!prs_uint32("num_names1", ps, depth, &q_u->num_names1))
@@ -4841,12 +4841,12 @@
********************************************************************/
void init_samr_q_open_user(SAMR_Q_OPEN_USER * q_u,
- POLICY_HND *pol,
+ POLICY_HND *domain_pol,
uint32 access_mask, uint32 rid)
{
DEBUG(5, ("samr_init_samr_q_open_user\n"));
- q_u->domain_pol = *pol;
+ q_u->domain_pol = *domain_pol;
q_u->access_mask = access_mask;
q_u->user_rid = rid;
}
@@ -4909,7 +4909,7 @@
********************************************************************/
void init_samr_q_create_user(SAMR_Q_CREATE_USER * q_u,
- POLICY_HND *pol,
+ POLICY_HND *domain_pol,
const char *name,
uint32 acb_info, uint32 access_mask)
{
@@ -4918,7 +4918,7 @@
DEBUG(5, ("samr_init_samr_q_create_user\n"));
- q_u->domain_pol = *pol;
+ q_u->domain_pol = *domain_pol;
init_uni_hdr(&q_u->hdr_name, len_name);
init_unistr2(&q_u->uni_name, name, len_name);
@@ -4995,11 +4995,11 @@
********************************************************************/
void init_samr_q_query_userinfo(SAMR_Q_QUERY_USERINFO * q_u,
- POLICY_HND *hnd, uint16 switch_value)
+ POLICY_HND *user_pol, uint16 switch_value)
{
DEBUG(5, ("init_samr_q_query_userinfo\n"));
- q_u->pol = *hnd;
+ q_u->user_pol = *user_pol;
q_u->switch_value = switch_value;
}
@@ -5019,7 +5019,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("user_pol", &q_u->user_pol, ps, depth))
return False;
if(!prs_uint16("switch_value", ps, depth, &q_u->switch_value)) /* 0x0015 or 0x0011 */
@@ -6365,12 +6365,12 @@
********************************************************************/
void init_samr_q_set_userinfo(SAMR_Q_SET_USERINFO * q_u,
- POLICY_HND *hnd, unsigned char sess_key[16],
+ POLICY_HND *user_pol, unsigned char sess_key[16],
uint16 switch_value, void *info)
{
DEBUG(5, ("init_samr_q_set_userinfo\n"));
- q_u->pol = *hnd;
+ q_u->user_pol = *user_pol;
q_u->switch_value = switch_value;
init_samr_userinfo_ctr(q_u->ctr, sess_key, switch_value, info);
}
@@ -6391,7 +6391,7 @@
if(!prs_align(ps))
return False;
- smb_io_pol_hnd("pol", &(q_u->pol), ps, depth);
+ smb_io_pol_hnd("user_pol", &(q_u->user_pol), ps, depth);
if(!prs_uint16("switch_value", ps, depth, &q_u->switch_value))
return False;
@@ -6439,12 +6439,12 @@
********************************************************************/
void init_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2 * q_u,
- POLICY_HND *hnd, unsigned char sess_key[16],
+ POLICY_HND *user_pol, unsigned char sess_key[16],
uint16 switch_value, SAM_USERINFO_CTR * ctr)
{
DEBUG(5, ("init_samr_q_set_userinfo2\n"));
- q_u->pol = *hnd;
+ q_u->user_pol = *user_pol;
q_u->switch_value = switch_value;
q_u->ctr = ctr;
@@ -6478,7 +6478,7 @@
if(!prs_align(ps))
return False;
- if(!smb_io_pol_hnd("pol", &q_u->pol, ps, depth))
+ if(!smb_io_pol_hnd("user_pol", &q_u->user_pol, ps, depth))
return False;
if(!prs_uint16("switch_value", ps, depth, &q_u->switch_value))
-------------- next part --------------
--- ./samba32606-orig/source/rpc_server/srv_samr_nt.c Wed Jun 26 17:21:45 2002
+++ ./samba32606/source/rpc_server/srv_samr_nt.c Wed Jun 26 23:33:27 2002
@@ -391,7 +391,7 @@
r_u->status = NT_STATUS_OK;
/* find the connection policy handle. */
- if (!find_policy_by_hnd(p, &q_u->pol, NULL))
+ if (!find_policy_by_hnd(p, &q_u->connect_pol, NULL))
return NT_STATUS_INVALID_HANDLE;
/* associate the domain SID with the (unique) handle. */
@@ -509,7 +509,7 @@
/* Get the SID. */
- if (!get_lsa_policy_samr_sid(p, &q_u->user_pol, &pol_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->pol, &pol_sid))
return NT_STATUS_INVALID_HANDLE;
DEBUG(10,("_samr_query_sec_obj: querying security on SID: %s\n", sid_to_string(str_sid, &pol_sid)));
@@ -575,7 +575,7 @@
r_u->status = NT_STATUS_OK;
/* find the policy handle. open a policy on it. */
- if (!find_policy_by_hnd(p, &q_u->pol, NULL))
+ if (!find_policy_by_hnd(p, &q_u->domain_pol, NULL))
return NT_STATUS_INVALID_HANDLE;
DEBUG(5,("_samr_enum_dom_users: %d\n", __LINE__));
@@ -835,7 +835,7 @@
r_u->status = NT_STATUS_OK;
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->domain_pol, &sid))
return NT_STATUS_INVALID_HANDLE;
DEBUG(5,("samr_reply_enum_dom_groups: %d\n", __LINE__));
@@ -867,7 +867,7 @@
r_u->status = NT_STATUS_OK;
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->domain_pol, &sid))
return NT_STATUS_INVALID_HANDLE;
sid_to_string(sid_str, &sid);
@@ -1089,7 +1089,7 @@
DEBUG(5,("_samr_query_aliasinfo: %d\n", __LINE__));
/* find the policy handle. open a policy on it. */
- if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
+ if (!find_policy_by_hnd(p, &q_u->alias_pol, (void **)&info))
return NT_STATUS_INVALID_HANDLE;
if (!sid_check_is_in_our_domain(&info->sid) &&
@@ -1201,7 +1201,7 @@
ZERO_ARRAY(rid);
ZERO_ARRAY(type);
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &pol_sid)) {
+ if (!get_lsa_policy_samr_sid(p, &q_u->domain_pol, &pol_sid)) {
init_samr_r_lookup_names(p->mem_ctx, r_u, 0, NULL, NULL, NT_STATUS_OBJECT_TYPE_MISMATCH);
return r_u->status;
}
@@ -1354,7 +1354,7 @@
DEBUG(5,("_samr_lookup_rids: %d\n", __LINE__));
/* find the policy handle. open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &pol_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->domain_pol, &pol_sid))
return NT_STATUS_INVALID_HANDLE;
if (num_rids > MAX_SAM_ENTRIES) {
@@ -1626,7 +1626,7 @@
r_u->status=NT_STATUS_OK;
/* search for the handle */
- if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
+ if (!find_policy_by_hnd(p, &q_u->user_pol, (void **)&info))
return NT_STATUS_INVALID_HANDLE;
if (!sid_check_is_in_our_domain(&info->sid))
@@ -1744,7 +1744,7 @@
DEBUG(5,("_samr_query_usergroups: %d\n", __LINE__));
/* find the policy handle. open a policy on it. */
- if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
+ if (!find_policy_by_hnd(p, &q_u->user_pol, (void **)&info))
return NT_STATUS_INVALID_HANDLE;
if (!sid_check_is_in_our_domain(&info->sid))
@@ -2223,9 +2223,9 @@
NTSTATUS _api_samr_open_alias(pipes_struct *p, SAMR_Q_OPEN_ALIAS *q_u, SAMR_R_OPEN_ALIAS *r_u)
{
DOM_SID sid;
- POLICY_HND domain_pol = q_u->dom_pol;
+ POLICY_HND domain_pol = q_u->domain_pol;
uint32 alias_rid = q_u->rid_alias;
- POLICY_HND *alias_pol = &r_u->pol;
+ POLICY_HND *alias_pol = &r_u->alias_pol;
struct samr_info *info = NULL;
r_u->status = NT_STATUS_OK;
@@ -2520,7 +2520,7 @@
NTSTATUS _samr_set_userinfo(pipes_struct *p, SAMR_Q_SET_USERINFO *q_u, SAMR_R_SET_USERINFO *r_u)
{
DOM_SID sid;
- POLICY_HND *pol = &q_u->pol;
+ POLICY_HND *user_pol = &q_u->user_pol;
uint16 switch_value = q_u->switch_value;
SAM_USERINFO_CTR *ctr = q_u->ctr;
@@ -2529,7 +2529,7 @@
r_u->status = NT_STATUS_OK;
/* find the policy handle. open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, pol, &sid))
+ if (!get_lsa_policy_samr_sid(p, user_pol, &sid))
return NT_STATUS_INVALID_HANDLE;
DEBUG(5, ("_samr_set_userinfo: sid:%s, level:%d\n", sid_string_static(&sid), switch_value));
@@ -2599,7 +2599,7 @@
{
DOM_SID sid;
SAM_USERINFO_CTR *ctr = q_u->ctr;
- POLICY_HND *pol = &q_u->pol;
+ POLICY_HND *user_pol = &q_u->user_pol;
uint16 switch_value = q_u->switch_value;
DEBUG(5, ("samr_reply_set_userinfo2: %d\n", __LINE__));
@@ -2607,7 +2607,7 @@
r_u->status = NT_STATUS_OK;
/* find the policy handle. open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, pol, &sid))
+ if (!get_lsa_policy_samr_sid(p, user_pol, &sid))
return NT_STATUS_INVALID_HANDLE;
DEBUG(5, ("samr_reply_set_userinfo2: sid:%s\n", sid_string_static(&sid)));
@@ -2673,7 +2673,7 @@
DEBUG(5,("_samr_query_useraliases: %d\n", __LINE__));
/* find the policy handle. open a policy on it. */
- if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
+ if (!find_policy_by_hnd(p, &q_u->user_pol, (void **)&info))
return NT_STATUS_INVALID_HANDLE;
if (!sid_check_is_domain(&info->sid) &&
@@ -3074,7 +3074,7 @@
BOOL check;
/* Find the policy handle. Open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &group_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->group_pol, &group_sid))
return NT_STATUS_INVALID_HANDLE;
sid_to_string(group_sid_str, &group_sid);
@@ -3161,7 +3161,7 @@
*/
/* Find the policy handle. Open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &group_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->group_pol, &group_sid))
return NT_STATUS_INVALID_HANDLE;
if(!sid_check_is_in_our_domain(&group_sid))
@@ -3404,7 +3404,7 @@
init_privilege(&priv_set);
/* Find the policy handle. Open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &dom_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->domain_pol, &dom_sid))
return NT_STATUS_INVALID_HANDLE;
if (!sid_equal(&dom_sid, get_global_sam_sid()))
@@ -3439,7 +3439,7 @@
return NT_STATUS_NO_MEMORY;
/* get a (unique) handle. open a policy on it. */
- if (!create_policy_hnd(p, &r_u->pol, free_samr_info, (void *)info))
+ if (!create_policy_hnd(p, &r_u->group_pol, free_samr_info, (void *)info))
return NT_STATUS_OBJECT_NAME_NOT_FOUND;
return NT_STATUS_OK;
@@ -3462,7 +3462,7 @@
init_privilege(&priv_set);
/* Find the policy handle. Open a policy on it. */
- if (!get_lsa_policy_samr_sid(p, &q_u->dom_pol, &dom_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->domain_pol, &dom_sid))
return NT_STATUS_INVALID_HANDLE;
if (!sid_equal(&dom_sid, get_global_sam_sid()))
@@ -3518,7 +3518,7 @@
int num_uids=0;
GROUP_INFO_CTR *ctr;
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &group_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->group_pol, &group_sid))
return NT_STATUS_INVALID_HANDLE;
if (!get_domain_group_from_sid(group_sid, &map, MAPPING_WITHOUT_PRIV))
@@ -3565,7 +3565,7 @@
GROUP_MAP map;
GROUP_INFO_CTR *ctr;
- if (!get_lsa_policy_samr_sid(p, &q_u->pol, &group_sid))
+ if (!get_lsa_policy_samr_sid(p, &q_u->group_pol, &group_sid))
return NT_STATUS_INVALID_HANDLE;
if (!get_domain_group_from_sid(group_sid, &map, MAPPING_WITH_PRIV))
@@ -3688,7 +3688,7 @@
return NT_STATUS_NO_SUCH_GROUP;
/* get a (unique) handle. open a policy on it. */
- if (!create_policy_hnd(p, &r_u->pol, free_samr_info, (void *)info))
+ if (!create_policy_hnd(p, &r_u->group_pol, free_samr_info, (void *)info))
return NT_STATUS_OBJECT_NAME_NOT_FOUND;
return NT_STATUS_OK;
More information about the samba-technical
mailing list