diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-06-06 12:59:14 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:56:34 -0500 |
commit | 42eadaf3d94afc7abf8ba2f1a67c55f317215483 (patch) | |
tree | 17aba1b55e533eece7b1b6a529ac309000549a3f /source4/librpc/idl | |
parent | 7b1e0454ef1a6af65c9e9305b7502ca5294a1793 (diff) | |
download | samba-42eadaf3d94afc7abf8ba2f1a67c55f317215483.tar.gz samba-42eadaf3d94afc7abf8ba2f1a67c55f317215483.tar.bz2 samba-42eadaf3d94afc7abf8ba2f1a67c55f317215483.zip |
r1048: - moved the schannel definitions into a separate schannel.idl
- added server side support for schannel type 23. This allows WinXP to establish a schannel connection
to Samba4 as an ADS DC
- added client side support for schannel type 23, but disabled it as currently the client
code has now way of getting the fully qualified domain name (which is needed)
- report dcerpc faults in the server code in the log
(This used to be commit 55e0b014fe14ca8811b55887208a1c3147ddb0d2)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 11 | ||||
-rw-r--r-- | source4/librpc/idl/schannel.idl | 43 |
2 files changed, 43 insertions, 11 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl index 8805b61da6..0ee3d7b69b 100644 --- a/source4/librpc/idl/dcerpc.idl +++ b/source4/librpc/idl/dcerpc.idl @@ -23,17 +23,6 @@ interface dcerpc dcerpc_syntax_id transfer_syntaxes[num_transfer_syntaxes]; } dcerpc_ctx_list; - /* - a schannel bind blob - used in auth_info - on a schannel bind - */ - typedef [public] struct { - uint32 unknown1; - uint32 unknown2; - astring domain; - astring hostname; - } dcerpc_bind_schannel; - typedef struct { uint16 max_xmit_frag; uint16 max_recv_frag; diff --git a/source4/librpc/idl/schannel.idl b/source4/librpc/idl/schannel.idl new file mode 100644 index 0000000000..a208ee89a3 --- /dev/null +++ b/source4/librpc/idl/schannel.idl @@ -0,0 +1,43 @@ +#include "idl_types.h" + +/* + schannel structures +*/ + +[] +interface schannel +{ + /* + a schannel bind blob - used in dcerpc auth_info + on a schannel + */ + typedef struct { + astring domain; + astring account_name; + } schannel_bind_3; + + typedef struct { + astring domain; + astring account_name; + astring dnsdomain; /* in NBT dotted format */ + astring workstation; + } schannel_bind_23; + + typedef [nodiscriminant] union { + [case (3)] schannel_bind_3 info3; + [case (23)] schannel_bind_23 info23; + } schannel_bind_info; + + typedef [public] struct { + uint32 unknown1; /* seems to need to be 0 */ + uint32 bind_type; + [switch_is(bind_type)] schannel_bind_info u; + } schannel_bind; + + /* a bind_ack blob */ + typedef [public] struct { + uint32 unknown1; /* 1 */ + uint32 unknown2; /* 0 */ + uint32 unknown3; /* 0x006c0000 */ + } schannel_bind_ack; +} |