summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/dcerpc.idl
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2006-03-25 11:40:16 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:59:12 -0500
commitff573597613e8253ff1b9d6c6a69cd127a9e4fb5 (patch)
treedcc6900f34122082b0e99565d6da9ddc1694dca7 /source4/librpc/idl/dcerpc.idl
parent57589e3b67c4fbe6412478bef9a46cdf5b1df795 (diff)
downloadsamba-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/dcerpc.idl')
-rw-r--r--source4/librpc/idl/dcerpc.idl13
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;