diff options
author | Andrew Bartlett <abartlet@samba.org> | 2006-03-25 11:40:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:59:12 -0500 |
commit | ff573597613e8253ff1b9d6c6a69cd127a9e4fb5 (patch) | |
tree | dcc6900f34122082b0e99565d6da9ddc1694dca7 /source4/librpc/idl | |
parent | 57589e3b67c4fbe6412478bef9a46cdf5b1df795 (diff) | |
download | samba-ff573597613e8253ff1b9d6c6a69cd127a9e4fb5.tar.gz samba-ff573597613e8253ff1b9d6c6a69cd127a9e4fb5.tar.bz2 samba-ff573597613e8253ff1b9d6c6a69cd127a9e4fb5.zip |
r14715: Correct the definition of the DCE/RPC bind_nak, per the OpenGroup spec.
This allows us to correctly parse the bind_nak from NT4, when we use
an invalid auth type (the unsupported SPNEGO)..
Andrew Bartlett
(This used to be commit ce0c7f86fd5eeeacad885d732b66c65ac9103ace)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl index e0366adf07..5a91f66987 100644 --- a/source4/librpc/idl/dcerpc.idl +++ b/source4/librpc/idl/dcerpc.idl @@ -59,6 +59,8 @@ interface dcerpc const int DCERPC_BIND_PROVIDER_REJECT = 2; const int DCERPC_BIND_REASON_ASYNTAX = 1; + const int DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED = 4; + const int DCERPC_BIND_REASON_INVALID_AUTH_TYPE = 8; typedef struct { uint16 result; @@ -78,9 +80,18 @@ interface dcerpc } dcerpc_bind_ack; typedef struct { - uint16 reject_reason; uint32 num_versions; uint32 versions[num_versions]; + } dcerpc_bind_nak_versions; + + typedef [nodiscriminant] union { + [case(DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED)] dcerpc_bind_nak_versions v; + [default] ; + } dcerpc_bind_nak_versions_ctr; + + typedef struct { + uint16 reject_reason; + [switch_is(reject_reason)] dcerpc_bind_nak_versions_ctr versions; } dcerpc_bind_nak; const uint8 DCERPC_RESPONSE_LENGTH = 24; |