s3-schannel: Fix Bug #6697. Interdomain trusts with Windows 2008 R2 DCs.
[ira/wip.git] / source3 / include / rpc_dce.h
index 3b315b7ef8bb2b33bcdc2d2d06834160934f4d6f..cd65ac86569789200f236d930f962bdee41770db 100644 (file)
@@ -56,9 +56,6 @@ enum RPC_PKT_TYPE {
 
 #define SMBD_NTLMSSP_NEG_FLAGS 0x000082b1 /* ALWAYS_SIGN|NEG_NTLM|NEG_LM|NEG_SEAL|NEG_SIGN|NEG_UNICODE */
 
-/* NTLMSSP signature version */
-#define NTLMSSP_SIGN_VERSION 0x01
-
 /* DCE RPC auth types - extended by Microsoft. */
 #define RPC_ANONYMOUS_AUTH_TYPE    0
 #define RPC_AUTH_TYPE_KRB5_1      1
@@ -81,16 +78,6 @@ enum RPC_PKT_TYPE {
 #define RPC_PIPE_AUTH_SEAL_LEVEL 0x6
 #endif
 
-#define DCERPC_FAULT_OP_RNG_ERROR      0x1c010002
-#define DCERPC_FAULT_UNK_IF            0x1c010003
-#define DCERPC_FAULT_INVALID_TAG       0x1c000006
-#define DCERPC_FAULT_CONTEXT_MISMATCH  0x1c00001a
-#define DCERPC_FAULT_OTHER             0x00000001
-#define DCERPC_FAULT_ACCESS_DENIED     0x00000005
-#define DCERPC_FAULT_CANT_PERFORM      0x000006d8
-#define DCERPC_FAULT_NDR               0x000006f7
-
-
 /* Netlogon schannel auth type and level */
 #define SCHANNEL_SIGN_SIGNATURE { 0x77, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 }
 #define SCHANNEL_SEAL_SIGNATURE { 0x77, 0x00, 0x7a, 0x00, 0xff, 0xff, 0x00, 0x00 }
@@ -99,50 +86,20 @@ enum RPC_PKT_TYPE {
 #define RPC_AUTH_SCHANNEL_SIGN_ONLY_CHK_LEN    0x18
 
 
-#define NETLOGON_NEG_ARCFOUR                   0x00000004
-#define NETLOGON_NEG_128BIT                    0x00004000
-#define NETLOGON_NEG_SCHANNEL                  0x40000000
-
-/* The 7 here seems to be required to get Win2k not to downgrade us
-   to NT4.  Actually, anything other than 1ff would seem to do... */
-#define NETLOGON_NEG_AUTH2_FLAGS 0x000701ff
-#define NETLOGON_NEG_DOMAIN_TRUST_ACCOUNT      0x2010b000
-/* these are the flags that ADS clients use */
-#define NETLOGON_NEG_AUTH2_ADS_FLAGS (0x200fbffb | NETLOGON_NEG_ARCFOUR | NETLOGON_NEG_128BIT | NETLOGON_NEG_SCHANNEL)
-
-#define NETLOGON_NEG_SELECT_AUTH2_FLAGS ((lp_security() == SEC_ADS) ? NETLOGON_NEG_AUTH2_ADS_FLAGS : NETLOGON_NEG_AUTH2_FLAGS)
-
 enum schannel_direction {
        SENDER_IS_INITIATOR,
        SENDER_IS_ACCEPTOR
 };
 
 /* Maximum size of the signing data in a fragment. */
-#define RPC_MAX_SIGN_SIZE 0x20 /* 32 */
+#define RPC_MAX_SIGN_SIZE 0x38 /* 56 */
 
 /* Maximum PDU fragment size. */
 /* #define MAX_PDU_FRAG_LEN 0x1630             this is what wnt sets */
 #define RPC_MAX_PDU_FRAG_LEN 0x10b8                    /* this is what w2k sets */
 
-/* RPC_IFACE */
-typedef struct rpc_iface_info {
-       struct GUID uuid;  /* 16 bytes of rpc interface identification */
-       uint32 version;    /* the interface version number */
-} RPC_IFACE;
-
 #define RPC_IFACE_LEN (UUID_SIZE + 4)
 
-struct pipe_id_info {
-       /* the names appear not to matter: the syntaxes _do_ matter */
-
-       const char *client_pipe;
-       RPC_IFACE abstr_syntax; /* this one is the abstract syntax id */
-
-       const char *server_pipe;  /* this one is the secondary syntax name */
-       RPC_IFACE trans_syntax; /* this one is the primary syntax id */
-};
-
 /* RPC_HDR - dce rpc header */
 typedef struct rpc_hdr_info {
        uint8  major; /* 5 - RPC major version */
@@ -239,8 +196,8 @@ typedef struct rpc_auth_schannel_chk_info {
 typedef struct rpc_context {
        uint16 context_id;              /* presentation context identifier. */
        uint8 num_transfer_syntaxes;    /* the number of syntaxes */
-       RPC_IFACE abstract;             /* num and vers. of interface client is using */
-       RPC_IFACE *transfer;            /* Array of transfer interfaces. */
+       struct ndr_syntax_id abstract;  /* num and vers. of interface client is using */
+       struct ndr_syntax_id *transfer; /* Array of transfer interfaces. */
 } RPC_CONTEXT;
 
 /* RPC_BIND_REQ - ms req bind */
@@ -278,7 +235,7 @@ typedef struct rpc_hdr_ba_info {
 
        RPC_ADDR_STR addr    ;  /* the secondary address string, as described earlier */
        RPC_RESULTS  res     ; /* results and reasons */
-       RPC_IFACE    transfer; /* the transfer syntax from the request */
+       struct ndr_syntax_id transfer; /* the transfer syntax from the request */
 } RPC_HDR_BA;
 
 /* RPC_AUTH_VERIFIER */