msrpc daemon / pid.vuid

Luke Kenneth Casson Leighton lkcl at samba.org
Fri Feb 4 19:18:35 GMT 2000


> No. I mean encapsulate *every* DCE/RPC packet forwarded to an MSRPC
> daemon by smbd with PID/VUID information. I.e., send the PID, send the
> VUID, send the DCE/RPC packet.

i went to a lot of trouble to remove the dependence between dce/rpc and
smbd.

i used to have a "NetBIOS-like" interface which encapsulated a DCE/RPC
packet in a NetBIOS length+char* format (i used send_smb() basically!)

that original implementation is starting to have merits.  it allows the
simulation of "threads".

HEY!  *bing* OF COURSE!  dammit, dce/rpc already _is_ sutable to threaded
environments!

YESS, nico, you're a genius.  COOL, it's even 16 bit!  see context_id,
below:

/* RPC_HDR_REQ - ms request rpc header */
typedef struct rpc_hdr_req_info
{
  uint32 alloc_hint;   /* allocation hint - data size (bytes) minus header and tail. */
  uint16 context_id;   /* 0 - presentation context identifier */
  uint16  opnum;        /* opnum */

} RPC_HDR_REQ;

/* RPC_HDR_RESP - ms response rpc header */
typedef struct rpc_hdr_resp_info
{
  uint32 alloc_hint;   /* allocation hint - data size (bytes) minus header and tail. */
  uint16 context_id;   /* 0 - presentation context identifier */
  uint8  cancel_count; /* 0 - cancel count */
  uint8  reserved;     /* 0 - reserved. */

} RPC_HDR_RESP;



More information about the samba-technical mailing list