diff options
author | Andrew Tridgell <tridge@samba.org> | 2003-11-26 03:36:17 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2003-11-26 03:36:17 +0000 |
commit | fffd741a7a00b07c85eec254b8cc7c2fe40cef18 (patch) | |
tree | 15653de92c489d6ae9ba5ce490965b7ea9a285b8 /source4/librpc/idl | |
parent | c123c8454142d17d2884ae9dd951b7f2a0b1a343 (diff) | |
download | samba-fffd741a7a00b07c85eec254b8cc7c2fe40cef18.tar.gz samba-fffd741a7a00b07c85eec254b8cc7c2fe40cef18.tar.bz2 samba-fffd741a7a00b07c85eec254b8cc7c2fe40cef18.zip |
added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
(This used to be commit 4abf5376b00f580eb69196e55a792cc7eb4c9880)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 9 | ||||
-rw-r--r-- | source4/librpc/idl/epmapper.idl | 10 |
2 files changed, 18 insertions, 1 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl index 978bc5640c..c23553c444 100644 --- a/source4/librpc/idl/dcerpc.idl +++ b/source4/librpc/idl/dcerpc.idl @@ -31,6 +31,9 @@ interface dcerpc [flag(NDR_REMAINING)] DATA_BLOB auth_info; } dcerpc_bind; + + const uint8 DCERPC_REQUEST_LENGTH = 24; + typedef struct { uint32 alloc_hint; uint16 context_id; @@ -62,6 +65,8 @@ interface dcerpc uint32 versions[num_versions]; } dcerpc_bind_nak; + const uint8 DCERPC_RESPONSE_LENGTH = 24; + typedef struct { uint32 alloc_hint; uint16 context_id; @@ -140,6 +145,10 @@ interface dcerpc const uint8 DCERPC_PFC_FLAG_LAST = 0x02; const uint8 DCERPC_PFC_FLAG_NOCALL = 0x20; + /* these offsets are needed by the signing code */ + const uint8 DCERPC_FRAG_LEN_OFFSET = 8; + const uint8 DCERPC_AUTH_LEN_OFFSET = 10; + typedef [public] struct { uint8 rpc_vers; /* RPC version */ uint8 rpc_vers_minor; /* Minor version */ diff --git a/source4/librpc/idl/epmapper.idl b/source4/librpc/idl/epmapper.idl index 172c83149b..6fa9a7bd60 100644 --- a/source4/librpc/idl/epmapper.idl +++ b/source4/librpc/idl/epmapper.idl @@ -22,12 +22,20 @@ interface epmapper /* this guid indicates NDR encoding in a protocol tower */ const string NDR_GUID = "8a885d04-1ceb-11c9-9fe8-08002b104860"; + const string NDR_GUID_VERSION = 1; typedef struct { GUID uuid; uint16 version; } epm_prot_uuid; + typedef enum { + EPM_PROTOCOL_TCP = 0x07, + EPM_PROTOCOL_IP = 0x09, + EPM_PROTOCOL_RPC_C = 0x0b, + EPM_PROTOCOL_UUID = 0x0d + } epm_protocols; + typedef [nodiscriminant] union { [case(13)] epm_prot_uuid uuid; [default] [flag(NDR_REMAINING)] DATA_BLOB lhs_data; @@ -58,7 +66,7 @@ interface epmapper } epm_towers; typedef struct { - uint32 tower_length; + [value(ndr_size_epm_towers(&r->towers))] uint32 tower_length; [subcontext(4)] epm_towers towers; } epm_twr_t; |