s3-schannel: Fix Bug #6697. Interdomain trusts with Windows 2008 R2 DCs.
[ira/wip.git] / source3 / include / rpc_dce.h
index 9b2044fa20289a5b7cf1a2cfce0190964cc8fca8..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 }
@@ -98,51 +85,6 @@ enum RPC_PKT_TYPE {
 #define RPC_AUTH_SCHANNEL_SIGN_OR_SEAL_CHK_LEN         0x20
 #define RPC_AUTH_SCHANNEL_SIGN_ONLY_CHK_LEN    0x18
 
-/* 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
-/*
-       (NETLOGON_NEG_ACCOUNT_LOCKOUT |
-        NETLOGON_NEG_PERSISTENT_SAMREPL |
-        NETLOGON_NEG_ARCFOUR |
-        NETLOGON_NEG_PROMOTION_COUNT |
-        NETLOGON_NEG_CHANGELOG_BDC |
-        NETLOGON_NEG_FULL_SYNC_REPL |
-        NETLOGON_NEG_MULTIPLE_SIDS |
-        NETLOGON_NEG_REDO |
-        NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL |
-        NETLOGON_NEG_DNS_DOMAIN_TRUSTS |
-        NETLOGON_NEG_PASSWORD_SET2 |
-        NETLOGON_NEG_GETDOMAININFO)
-*/
-#define NETLOGON_NEG_DOMAIN_TRUST_ACCOUNT      0x2010b000
-
-/* these are the flags that ADS clients use */
-#define NETLOGON_NEG_AUTH2_ADS_FLAGS 0x600fffff
-/*
-       (NETLOGON_NEG_ACCOUNT_LOCKOUT |
-        NETLOGON_NEG_PERSISTENT_SAMREPL |
-        NETLOGON_NEG_ARCFOUR |
-        NETLOGON_NEG_PROMOTION_COUNT |
-        NETLOGON_NEG_CHANGELOG_BDC |
-        NETLOGON_NEG_FULL_SYNC_REPL |
-        NETLOGON_NEG_MULTIPLE_SIDS |
-        NETLOGON_NEG_REDO |
-        NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL |
-        NETLOGON_NEG_SEND_PASSWORD_INFO_PDC |
-        NETLOGON_NEG_GENERIC_PASSTHROUGH |
-        NETLOGON_NEG_CONCURRENT_RPC |
-        NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL |
-        NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL |
-        NETLOGON_NEG_128BIT |
-        NETLOGON_NEG_TRANSITIVE_TRUSTS |
-        NETLOGON_NEG_DNS_DOMAIN_TRUSTS |
-        NETLOGON_NEG_PASSWORD_SET2 |
-        NETLOGON_NEG_GETDOMAININFO |
-        NETLOGON_NEG_CROSS_FOREST_TRUSTS |
-        NETLOGON_NEG_AUTHENTICATED_RPC_LSASS |
-        NETLOGON_NEG_SCHANNEL)
-*/
 
 enum schannel_direction {
        SENDER_IS_INITIATOR,
@@ -150,27 +92,14 @@ enum schannel_direction {
 };
 
 /* 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 ndr_syntax_id 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;
-       const RPC_IFACE *abstr_syntax; /* this one is the abstract syntax id */
-
-       const char *server_pipe;  /* this one is the secondary syntax name */
-       const 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 */
@@ -267,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 */
@@ -306,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 */