From 597c5a6caa871b724ee1337f14467950b0707b34 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Thu, 12 Nov 1998 19:21:20 +0000 Subject: jean-f. sent me some S-1-3-0,1,2,3 SIDs and names. S-1-3 doesn't exist. security descriptor testing. hey wow, you can get a SD then send it back! (This used to be commit 7466c3113ef8f8a89b8496efadfeb611c9f3e069) --- source3/rpc_parse/parse_reg.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'source3/rpc_parse/parse_reg.c') diff --git a/source3/rpc_parse/parse_reg.c b/source3/rpc_parse/parse_reg.c index 7e9b12b4ec..f22bf10ff8 100644 --- a/source3/rpc_parse/parse_reg.c +++ b/source3/rpc_parse/parse_reg.c @@ -551,7 +551,7 @@ void make_reg_q_set_key_sec(REG_Q_SET_KEY_SEC *q_i, POLICY_HND *pol, memcpy(&(q_i->pol), pol, sizeof(q_i->pol)); - q_i->unknown = 0x7; + q_i->unknown = 0x4; q_i->ptr = 1; make_buf_hdr(&(q_i->hdr_sec), buf_len, buf_len); @@ -582,8 +582,10 @@ void reg_io_q_set_key_sec(char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, i smb_io_hdrbuf_pre("hdr_sec", &(r_q->hdr_sec), ps, depth, &hdr_offset); old_offset = ps->offset; sec_io_desc_buf("data ", &(r_q->data ), ps, depth); + smb_io_hdrbuf_post("hdr_sec", &(r_q->hdr_sec), ps, depth, hdr_offset, + r_q->data.max_len, r_q->data.len); + ps->offset = old_offset + r_q->data.len + sizeof(uint32) * 3; prs_align(ps); - smb_io_hdrbuf_post("hdr_sec", &(r_q->hdr_sec), ps, depth, hdr_offset, old_offset); } } @@ -594,7 +596,7 @@ void reg_io_r_set_key_sec(char *desc, REG_R_SET_KEY_SEC *r_q, prs_struct *ps, in { if (r_q == NULL) return; - prs_debug(ps, depth, desc, "reg_io_r_get_key_sec"); + prs_debug(ps, depth, desc, "reg_io_r_set_key_sec"); depth++; prs_align(ps); @@ -644,9 +646,14 @@ void reg_io_q_get_key_sec(char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, i if (r_q->ptr != 0) { - smb_io_hdrbuf ("hdr_sec", &(r_q->hdr_sec), ps, depth); - sec_io_desc_buf("data ", r_q->data , ps, depth); - + uint32 hdr_offset; + uint32 old_offset; + smb_io_hdrbuf_pre("hdr_sec", &(r_q->hdr_sec), ps, depth, &hdr_offset); + old_offset = ps->offset; + sec_io_desc_buf("data ", r_q->data , ps, depth); + smb_io_hdrbuf_post("hdr_sec", &(r_q->hdr_sec), ps, depth, hdr_offset, + r_q->data->max_len, r_q->data->len); + ps->offset = old_offset + r_q->data->len + sizeof(uint32) * 3; prs_align(ps); } } -- cgit