summaryrefslogtreecommitdiff
path: root/source3/rpc_parse
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-10-21 22:36:26 +0000
committerLuke Leighton <lkcl@samba.org>1998-10-21 22:36:26 +0000
commiteadc5b8c6ecdd6892647d391e1976b2c708d1ea0 (patch)
tree8aa495516461fd94ddbafcb6a52e0a4825de1ae6 /source3/rpc_parse
parent21e107fd42eb953affac28239588458c6c0ee323 (diff)
downloadsamba-eadc5b8c6ecdd6892647d391e1976b2c708d1ea0.tar.gz
samba-eadc5b8c6ecdd6892647d391e1976b2c708d1ea0.tar.bz2
samba-eadc5b8c6ecdd6892647d391e1976b2c708d1ea0.zip
domain aliases added a bit better: does local aliases if you query
for sid S-1-5-20 and does (nothing at the moment) if you query for your own sid. (This used to be commit da40f26f4b2f7ce286076b4e39dffd76aa2ef8e6)
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r--source3/rpc_parse/parse_samr.c50
1 files changed, 26 insertions, 24 deletions
diff --git a/source3/rpc_parse/parse_samr.c b/source3/rpc_parse/parse_samr.c
index 416498a186..f09af387e4 100644
--- a/source3/rpc_parse/parse_samr.c
+++ b/source3/rpc_parse/parse_samr.c
@@ -228,12 +228,12 @@ void samr_io_q_unknown_3(char *desc, SAMR_Q_UNKNOWN_3 *q_u, prs_struct *ps, int
/*******************************************************************
reads or writes a structure.
********************************************************************/
-void make_samr_q_unknown_8(SAMR_Q_UNKNOWN_8 *q_u,
+void make_samr_q_query_dom_info(SAMR_Q_QUERY_DOMAIN_INFO *q_u,
POLICY_HND *domain_pol, uint16 switch_value)
{
if (q_u == NULL) return;
- DEBUG(5,("samr_make_q_unknown_8\n"));
+ DEBUG(5,("samr_make_q_query_dom_info\n"));
memcpy(&q_u->domain_pol, domain_pol, sizeof(q_u->domain_pol));
q_u->switch_value = switch_value;
@@ -242,11 +242,11 @@ void make_samr_q_unknown_8(SAMR_Q_UNKNOWN_8 *q_u,
/*******************************************************************
reads or writes a structure.
********************************************************************/
-void samr_io_q_unknown_8(char *desc, SAMR_Q_UNKNOWN_8 *q_u, prs_struct *ps, int depth)
+void samr_io_q_query_dom_info(char *desc, SAMR_Q_QUERY_DOMAIN_INFO *q_u, prs_struct *ps, int depth)
{
if (q_u == NULL) return;
- prs_debug(ps, depth, desc, "samr_io_q_unknown_8");
+ prs_debug(ps, depth, desc, "samr_io_q_query_dom_info");
depth++;
prs_align(ps);
@@ -276,16 +276,17 @@ void make_unk_info2(SAM_UNK_INFO_2 *u_2, char *domain, char *server)
make_uni_hdr(&(u_2->hdr_domain), len_domain, len_domain, 1);
make_uni_hdr(&(u_2->hdr_server), len_server, len_server, 1);
- u_2->unknown_4 = 0x10000000;
- u_2->unknown_5 = 0x00000000;
+ u_2->seq_num = 0x10000000;
+ u_2->unknown_3 = 0x00000000;
+ u_2->unknown_4 = 0x00000001;
+ u_2->unknown_5 = 0x00000003;
u_2->unknown_6 = 0x00000001;
- u_2->unknown_7 = 0x00000003;
- u_2->unknown_8 = 0x00000001;
- u_2->unknown_9 = 0x00000008;
- u_2->unknown_10 = 0x00000003;
+ u_2->num_domain_usrs = 0x00000008;
+ u_2->num_domain_grps = 0x00000003;
+ u_2->num_local_grps = 0x00000003;
- memset(u_2->padding, 0, sizeof(u_2->padding)); /* 16 bytes zeros */
+ memset(u_2->padding, 0, sizeof(u_2->padding)); /* 12 bytes zeros */
make_unistr2(&u_2->uni_domain, domain, len_domain);
make_unistr2(&u_2->uni_server, server, len_server);
@@ -313,16 +314,17 @@ void sam_io_unk_info2(char *desc, SAM_UNK_INFO_2 *u_2, prs_struct *ps, int depth
pointer is referring to
*/
- prs_uint32("unknown_4 ", ps, depth, &u_2->unknown_4 ); /* 0x0000 0099 or 0x1000 0000 */
- prs_uint32("unknown_5 ", ps, depth, &u_2->unknown_5 ); /* 0x0000 0000 */
+ prs_uint32("seq_num ", ps, depth, &u_2->seq_num ); /* 0x0000 0099 or 0x1000 0000 */
+ prs_uint32("unknown_3 ", ps, depth, &u_2->unknown_3 ); /* 0x0000 0000 */
+ prs_uint32("unknown_4 ", ps, depth, &u_2->unknown_4 ); /* 0x0000 0001 */
+ prs_uint32("unknown_5 ", ps, depth, &u_2->unknown_5 ); /* 0x0000 0003 */
prs_uint32("unknown_6 ", ps, depth, &u_2->unknown_6 ); /* 0x0000 0001 */
- prs_uint32("unknown_7 ", ps, depth, &u_2->unknown_7 ); /* 0x0000 0003 */
- prs_uint32("unknown_8 ", ps, depth, &u_2->unknown_8 ); /* 0x0000 0001 */
- prs_uint32("unknown_9 ", ps, depth, &u_2->unknown_9 ); /* 0x0000 0008 */
- prs_uint32("unknown_10", ps, depth, &u_2->unknown_10); /* 0x0000 0003 */
+ prs_uint32("num_domain_usrs ", ps, depth, &u_2->num_domain_usrs ); /* 0x0000 0008 */
+ prs_uint32("num_domain_grps", ps, depth, &u_2->num_domain_grps); /* 0x0000 0003 */
+ prs_uint32("num_local_grps", ps, depth, &u_2->num_local_grps); /* 0x0000 0003 */
- prs_uint8s(False, "padding", ps, depth, u_2->padding, sizeof(u_2->padding)); /* 16 bytes zeros */
+ prs_uint8s(False, "padding", ps, depth, u_2->padding, sizeof(u_2->padding)); /* 12 bytes zeros */
smb_io_unistr2( "uni_domain", &u_2->uni_domain, u_2->hdr_domain.buffer, ps, depth); /* domain name unicode string */
smb_io_unistr2( "uni_server", &u_2->uni_server, u_2->hdr_server.buffer, ps, depth); /* server name unicode string */
@@ -332,15 +334,15 @@ void sam_io_unk_info2(char *desc, SAM_UNK_INFO_2 *u_2, prs_struct *ps, int depth
}
/*******************************************************************
-makes a SAMR_R_UNKNOWN_8 structure.
+makes a SAMR_R_QUERY_DOMAIN_INFO structure.
********************************************************************/
-void make_samr_r_unknown_8(SAMR_R_UNKNOWN_8 *r_u,
+void make_samr_r_query_dom_info(SAMR_R_QUERY_DOMAIN_INFO *r_u,
uint16 switch_value, SAM_UNK_CTR *ctr,
uint32 status)
{
if (r_u == NULL || ctr == NULL) return;
- DEBUG(5,("make_samr_r_unknown_8\n"));
+ DEBUG(5,("make_samr_r_query_dom_info\n"));
r_u->ptr_0 = 0;
r_u->switch_value = 0;
@@ -357,11 +359,11 @@ void make_samr_r_unknown_8(SAMR_R_UNKNOWN_8 *r_u,
/*******************************************************************
reads or writes a structure.
********************************************************************/
-void samr_io_r_unknown_8(char *desc, SAMR_R_UNKNOWN_8 *r_u, prs_struct *ps, int depth)
+void samr_io_r_query_dom_info(char *desc, SAMR_R_QUERY_DOMAIN_INFO *r_u, prs_struct *ps, int depth)
{
if (r_u == NULL) return;
- prs_debug(ps, depth, desc, "samr_io_r_unknown_8");
+ prs_debug(ps, depth, desc, "samr_io_r_query_dom_info");
depth++;
prs_align(ps);
@@ -381,7 +383,7 @@ void samr_io_r_unknown_8(char *desc, SAMR_R_UNKNOWN_8 *r_u, prs_struct *ps, int
}
default:
{
- DEBUG(3,("samr_io_r_unknown_8: unknown switch level 0x%x\n",
+ DEBUG(3,("samr_io_r_query_dom_info: unknown switch level 0x%x\n",
r_u->switch_value));
return;
}