summaryrefslogtreecommitdiff
path: root/source/rpc_parse/parse_rpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/rpc_parse/parse_rpc.c')
-rw-r--r--source/rpc_parse/parse_rpc.c59
1 files changed, 29 insertions, 30 deletions
diff --git a/source/rpc_parse/parse_rpc.c b/source/rpc_parse/parse_rpc.c
index 34ba62caa92..1ea59feaedb 100644
--- a/source/rpc_parse/parse_rpc.c
+++ b/source/rpc_parse/parse_rpc.c
@@ -243,30 +243,49 @@ BOOL smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth)
}
/*******************************************************************
- Reads or writes an RPC_IFACE structure.
+ Reads or writes an RPC_UUID structure.
********************************************************************/
-static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth)
+static BOOL smb_io_rpc_uuid(const char *desc, RPC_UUID *uuid, prs_struct *ps, int depth)
{
- if (ifc == NULL)
+ if (uuid == NULL)
return False;
- prs_debug(ps, depth, desc, "smb_io_rpc_iface");
+ prs_debug(ps, depth, desc, "smb_io_rpc_uuid");
depth++;
if(!prs_align(ps))
return False;
- if(!prs_uint32 ("data ", ps, depth, &ifc->uuid.time_low))
+ if(!prs_uint32 ("data ", ps, depth, &uuid->time_low))
return False;
- if(!prs_uint16 ("data ", ps, depth, &ifc->uuid.time_mid))
+ if(!prs_uint16 ("data ", ps, depth, &uuid->time_mid))
return False;
- if(!prs_uint16 ("data ", ps, depth, &ifc->uuid.time_hi_and_version))
+ if(!prs_uint16 ("data ", ps, depth, &uuid->time_hi_and_version))
return False;
- if(!prs_uint8s (False, "data ", ps, depth, ifc->uuid.remaining, sizeof(ifc->uuid.remaining)))
+ if(!prs_uint8s (False, "data ", ps, depth, uuid->remaining, sizeof(uuid->remaining)))
return False;
- if(!prs_uint32 ( "version", ps, depth, &ifc->version))
+
+ return True;
+}
+
+/*******************************************************************
+ Reads or writes an RPC_IFACE structure.
+********************************************************************/
+
+static BOOL smb_io_rpc_iface(const char *desc, RPC_IFACE *ifc, prs_struct *ps, int depth)
+{
+ if (ifc == NULL)
+ return False;
+
+ prs_debug(ps, depth, desc, "smb_io_rpc_iface");
+ depth++;
+
+ if (!smb_io_rpc_uuid( "uuid", &ifc->uuid, ps, depth))
+ return False;
+
+ if(!prs_uint32 ("version", ps, depth, &ifc->version))
return False;
return True;
@@ -1168,26 +1187,6 @@ BOOL smb_io_rpc_auth_netsec_neg(const char *desc, RPC_AUTH_NETSEC_NEG *neg,
return True;
}
-
-/*******************************************************************
-creates an RPC_AUTH_NETSEC_CHK structure.
-********************************************************************/
-BOOL init_rpc_auth_netsec_chk(RPC_AUTH_NETSEC_CHK * chk,
- const uchar sig[8],
- const uchar packet_digest[8],
- const uchar seq_num[8], const uchar data8[8])
-{
- if (chk == NULL)
- return False;
-
- memcpy(chk->sig, sig, sizeof(chk->sig));
- memcpy(chk->packet_digest, packet_digest, sizeof(chk->packet_digest));
- memcpy(chk->seq_num, seq_num, sizeof(chk->seq_num));
- memcpy(chk->data8, data8, sizeof(chk->data8));
-
- return True;
-}
-
/*******************************************************************
reads or writes an RPC_AUTH_NETSEC_CHK structure.
********************************************************************/
@@ -1203,7 +1202,7 @@ BOOL smb_io_rpc_auth_netsec_chk(const char *desc, RPC_AUTH_NETSEC_CHK * chk,
prs_uint8s(False, "sig ", ps, depth, chk->sig, sizeof(chk->sig));
prs_uint8s(False, "seq_num", ps, depth, chk->seq_num, sizeof(chk->seq_num));
prs_uint8s(False, "packet_digest", ps, depth, chk->packet_digest, sizeof(chk->packet_digest));
- prs_uint8s(False, "data8", ps, depth, chk->data8, sizeof(chk->data8));
+ prs_uint8s(False, "confounder", ps, depth, chk->confounder, sizeof(chk->confounder));
return True;
}