summaryrefslogtreecommitdiff
path: root/source3/rpc_parse/parse_rpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_parse/parse_rpc.c')
-rw-r--r--source3/rpc_parse/parse_rpc.c282
1 files changed, 0 insertions, 282 deletions
diff --git a/source3/rpc_parse/parse_rpc.c b/source3/rpc_parse/parse_rpc.c
index 623e867801..8ece183251 100644
--- a/source3/rpc_parse/parse_rpc.c
+++ b/source3/rpc_parse/parse_rpc.c
@@ -27,168 +27,6 @@
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_PARSE
-/*******************************************************************
- Inits an RPC_HDR structure.
-********************************************************************/
-
-void init_rpc_hdr(RPC_HDR *hdr, enum dcerpc_pkt_type pkt_type, uint8 flags,
- uint32 call_id, int data_len, int auth_len)
-{
- hdr->major = 5; /* RPC version 5 */
- hdr->minor = 0; /* minor version 0 */
- hdr->pkt_type = pkt_type; /* RPC packet type */
- hdr->flags = flags; /* dce/rpc flags */
- hdr->pack_type[0] = 0x10; /* little-endian data representation */
- hdr->pack_type[1] = 0; /* packed data representation */
- hdr->pack_type[2] = 0; /* packed data representation */
- hdr->pack_type[3] = 0; /* packed data representation */
- hdr->frag_len = data_len; /* fragment length, fill in later */
- hdr->auth_len = auth_len; /* authentication length */
- hdr->call_id = call_id; /* call identifier - match incoming RPC */
-}
-
-/*******************************************************************
- Reads or writes an RPC_HDR structure.
-********************************************************************/
-
-bool smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth)
-{
- if (rpc == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_hdr");
- depth++;
-
- if(!prs_uint8 ("major ", ps, depth, &rpc->major))
- return False;
-
- if(!prs_uint8 ("minor ", ps, depth, &rpc->minor))
- return False;
- if(!prs_uint8 ("pkt_type ", ps, depth, &rpc->pkt_type))
- return False;
- if(!prs_uint8 ("flags ", ps, depth, &rpc->flags))
- return False;
-
- /* We always marshall in little endian format. */
- if (MARSHALLING(ps))
- rpc->pack_type[0] = 0x10;
-
- if(!prs_uint8("pack_type0", ps, depth, &rpc->pack_type[0]))
- return False;
- if(!prs_uint8("pack_type1", ps, depth, &rpc->pack_type[1]))
- return False;
- if(!prs_uint8("pack_type2", ps, depth, &rpc->pack_type[2]))
- return False;
- if(!prs_uint8("pack_type3", ps, depth, &rpc->pack_type[3]))
- return False;
-
- /*
- * If reading and pack_type[0] == 0 then the data is in big-endian
- * format. Set the flag in the prs_struct to specify reverse-endainness.
- */
-
- if (UNMARSHALLING(ps) && rpc->pack_type[0] == 0) {
- DEBUG(10,("smb_io_rpc_hdr: PDU data format is big-endian. Setting flag.\n"));
- prs_set_endian_data(ps, RPC_BIG_ENDIAN);
- }
-
- if(!prs_uint16("frag_len ", ps, depth, &rpc->frag_len))
- return False;
- if(!prs_uint16("auth_len ", ps, depth, &rpc->auth_len))
- return False;
- if(!prs_uint32("call_id ", ps, depth, &rpc->call_id))
- return False;
- return True;
-}
-
-/*******************************************************************
- Reads or writes an struct ndr_syntax_id structure.
-********************************************************************/
-
-static bool smb_io_rpc_iface(const char *desc, struct ndr_syntax_id *ifc,
- prs_struct *ps, int depth)
-{
- if (ifc == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_iface");
- depth++;
-
- if (!prs_align(ps))
- return False;
-
- if (!smb_io_uuid( "uuid", &ifc->uuid, ps, depth))
- return False;
-
- if(!prs_uint32 ("version", ps, depth, &ifc->if_version))
- return False;
-
- return True;
-}
-
-/*******************************************************************
- Inits an RPC_ADDR_STR structure.
-********************************************************************/
-
-static void init_rpc_addr_str(RPC_ADDR_STR *str, const char *name)
-{
- str->len = strlen(name) + 1;
- fstrcpy(str->str, name);
-}
-
-/*******************************************************************
- Reads or writes an RPC_ADDR_STR structure.
-********************************************************************/
-
-static bool smb_io_rpc_addr_str(const char *desc, RPC_ADDR_STR *str, prs_struct *ps, int depth)
-{
- if (str == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_addr_str");
- depth++;
- if(!prs_align(ps))
- return False;
-
- if(!prs_uint16 ( "len", ps, depth, &str->len))
- return False;
- if(!prs_uint8s (True, "str", ps, depth, (uchar*)str->str, MIN(str->len, sizeof(str->str)) ))
- return False;
- return True;
-}
-
-/*******************************************************************
- Inits an RPC_HDR_BBA structure.
-********************************************************************/
-
-static void init_rpc_hdr_bba(RPC_HDR_BBA *bba, uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid)
-{
- bba->max_tsize = max_tsize; /* maximum transmission fragment size (0x1630) */
- bba->max_rsize = max_rsize; /* max receive fragment size (0x1630) */
- bba->assoc_gid = assoc_gid; /* associated group id (0x0) */
-}
-
-/*******************************************************************
- Reads or writes an RPC_HDR_BBA structure.
-********************************************************************/
-
-static bool smb_io_rpc_hdr_bba(const char *desc, RPC_HDR_BBA *rpc, prs_struct *ps, int depth)
-{
- if (rpc == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_hdr_bba");
- depth++;
-
- if(!prs_uint16("max_tsize", ps, depth, &rpc->max_tsize))
- return False;
- if(!prs_uint16("max_rsize", ps, depth, &rpc->max_rsize))
- return False;
- if(!prs_uint32("assoc_gid", ps, depth, &rpc->assoc_gid))
- return False;
- return True;
-}
-
NTSTATUS dcerpc_pull_dcerpc_bind(TALLOC_CTX *mem_ctx,
const DATA_BLOB *blob,
struct dcerpc_bind *r)
@@ -205,126 +43,6 @@ NTSTATUS dcerpc_pull_dcerpc_bind(TALLOC_CTX *mem_ctx,
}
/*******************************************************************
- Inits an RPC_RESULTS structure.
-
- lkclXXXX only one reason at the moment!
-********************************************************************/
-
-static void init_rpc_results(RPC_RESULTS *res,
- uint8 num_results, uint16 result, uint16 reason)
-{
- res->num_results = num_results; /* the number of results (0x01) */
- res->result = result ; /* result (0x00 = accept) */
- res->reason = reason ; /* reason (0x00 = no reason specified) */
-}
-
-/*******************************************************************
- Reads or writes an RPC_RESULTS structure.
-
- lkclXXXX only one reason at the moment!
-********************************************************************/
-
-static bool smb_io_rpc_results(const char *desc, RPC_RESULTS *res, prs_struct *ps, int depth)
-{
- if (res == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_results");
- depth++;
-
- if(!prs_align(ps))
- return False;
-
- if(!prs_uint8 ("num_results", ps, depth, &res->num_results))
- return False;
-
- if(!prs_align(ps))
- return False;
-
- if(!prs_uint16("result ", ps, depth, &res->result))
- return False;
- if(!prs_uint16("reason ", ps, depth, &res->reason))
- return False;
- return True;
-}
-
-/*******************************************************************
- Init an RPC_HDR_BA structure.
-
- lkclXXXX only one reason at the moment!
-
-********************************************************************/
-
-void init_rpc_hdr_ba(RPC_HDR_BA *rpc,
- uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid,
- const char *pipe_addr,
- uint8 num_results, uint16 result, uint16 reason,
- const struct ndr_syntax_id *transfer)
-{
- init_rpc_hdr_bba (&rpc->bba, max_tsize, max_rsize, assoc_gid);
- init_rpc_addr_str(&rpc->addr, pipe_addr);
- init_rpc_results (&rpc->res, num_results, result, reason);
-
- /* the transfer syntax from the request */
- memcpy(&rpc->transfer, transfer, sizeof(rpc->transfer));
-}
-
-/*******************************************************************
- Reads or writes an RPC_HDR_BA structure.
-********************************************************************/
-
-bool smb_io_rpc_hdr_ba(const char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth)
-{
- if (rpc == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_hdr_ba");
- depth++;
-
- if(!smb_io_rpc_hdr_bba("", &rpc->bba, ps, depth))
- return False;
- if(!smb_io_rpc_addr_str("", &rpc->addr, ps, depth))
- return False;
- if(!smb_io_rpc_results("", &rpc->res, ps, depth))
- return False;
- if(!smb_io_rpc_iface("", &rpc->transfer, ps, depth))
- return False;
- return True;
-}
-
-/*******************************************************************
- Init an RPC_HDR_REQ structure.
-********************************************************************/
-
-void init_rpc_hdr_req(RPC_HDR_REQ *hdr, uint32 alloc_hint, uint16 opnum)
-{
- hdr->alloc_hint = alloc_hint; /* allocation hint */
- hdr->context_id = 0; /* presentation context identifier */
- hdr->opnum = opnum; /* opnum */
-}
-
-/*******************************************************************
- Reads or writes an RPC_HDR_REQ structure.
-********************************************************************/
-
-bool smb_io_rpc_hdr_req(const char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth)
-{
- if (rpc == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "smb_io_rpc_hdr_req");
- depth++;
-
- if(!prs_uint32("alloc_hint", ps, depth, &rpc->alloc_hint))
- return False;
- if(!prs_uint16("context_id", ps, depth, &rpc->context_id))
- return False;
- if(!prs_uint16("opnum ", ps, depth, &rpc->opnum))
- return False;
- return True;
-}
-
-/*******************************************************************
Reads or writes an RPC_HDR_RESP structure.
********************************************************************/