diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-02-04 01:32:19 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:09:31 -0500 |
commit | 60d9b40ba4fec876b7288bd51340d6b302af00e3 (patch) | |
tree | 71a0369df1326cb34fd2b55040e45742113f8704 /source4/librpc/idl | |
parent | 10c211f2afc45e7a75f024c946a5c8232d7efd6b (diff) | |
download | samba-60d9b40ba4fec876b7288bd51340d6b302af00e3.tar.gz samba-60d9b40ba4fec876b7288bd51340d6b302af00e3.tar.bz2 samba-60d9b40ba4fec876b7288bd51340d6b302af00e3.zip |
r5209: Fix the endpoint mapper to work with IPX endpoints (which
accidently have the same protocol id as UUID's)
Before this, Samba would give NDR errors when contacting
a remote server that has IPX support enabled.
This one was on my long due bugs list.
(This used to be commit 7b847de64f35b8e897b64ad047d8aea3813214f8)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/epmapper.idl | 16 | ||||
-rw-r--r-- | source4/librpc/idl/mgmt.idl | 2 |
2 files changed, 4 insertions, 14 deletions
diff --git a/source4/librpc/idl/epmapper.idl b/source4/librpc/idl/epmapper.idl index 89c4e246f9..a35b9c47a3 100644 --- a/source4/librpc/idl/epmapper.idl +++ b/source4/librpc/idl/epmapper.idl @@ -36,11 +36,6 @@ interface epmapper const string NDR_GUID = "8a885d04-1ceb-11c9-9fe8-08002b104860"; const string NDR_GUID_VERSION = 2; - typedef struct { - GUID uuid; - uint16 version; - } epm_prot_uuid; - typedef [enum8bit] enum { /* Level 4 and higher */ @@ -73,11 +68,6 @@ interface epmapper EPM_PROTOCOL_NULL = 0x21 } epm_protocol; - typedef [nodiscriminant] union { - [case(EPM_PROTOCOL_UUID)] epm_prot_uuid uuid; - [default] [flag(NDR_REMAINING)] DATA_BLOB lhs_data; - } epm_protocol_info; - typedef struct { /*FIXME */ } epm_rhs_dnet_nsp; @@ -111,7 +101,7 @@ interface epmapper } epm_rhs_ncacn; typedef struct { - uint16 unknown; + [flag(NDR_REMAINING)] DATA_BLOB unknown; } epm_rhs_uuid; typedef struct { @@ -206,8 +196,8 @@ interface epmapper } epm_rhs; typedef struct { - epm_protocol protocol; - [switch_is(protocol)] epm_protocol_info info; + epm_protocol protocol; + [flag(NDR_REMAINING)] DATA_BLOB lhs_data; } epm_lhs; typedef struct { diff --git a/source4/librpc/idl/mgmt.idl b/source4/librpc/idl/mgmt.idl index ac41ff1864..95d39a05a8 100644 --- a/source4/librpc/idl/mgmt.idl +++ b/source4/librpc/idl/mgmt.idl @@ -7,7 +7,7 @@ [ uuid("afa8bd80-7d8a-11c9-bef4-08002b102989"), version(1.0), - endpoint("ncalrpc:", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]"), + endpoint("ncalrpc:[EPMAPPER]", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]"), helpstring("DCE/RPC Remote Management") ] interface mgmt |