kernel-wfp: Declare GUIDs and auth/cipher configs missing in some MinGW builds
This commit is contained in:
@@ -107,6 +107,95 @@ enum {
|
||||
IPSEC_SA_BUNDLE_FLAG_FORWARD_PATH_INITIATOR = (1<<17),
|
||||
};
|
||||
|
||||
/* missing in some MinGW versions */
|
||||
const GUID FWPM_CONDITION_IP_REMOTE_ADDRESS;
|
||||
const GUID FWPM_CONDITION_IP_LOCAL_ADDRESS;
|
||||
const GUID FWPM_CONDITION_IP_SOURCE_ADDRESS;
|
||||
const GUID FWPM_CONDITION_IP_DESTINATION_ADDRESS;
|
||||
const GUID FWPM_CONDITION_IP_LOCAL_PORT;
|
||||
const GUID FWPM_CONDITION_IP_REMOTE_PORT;
|
||||
const GUID FWPM_CONDITION_IP_PROTOCOL;
|
||||
#ifndef FWPM_CONDITION_ICMP_TYPE
|
||||
# define FWPM_CONDITION_ICMP_TYPE FWPM_CONDITION_IP_LOCAL_PORT
|
||||
#endif
|
||||
#ifndef FWPM_CONDITION_ICMP_CODE
|
||||
# define FWPM_CONDITION_ICMP_CODE FWPM_CONDITION_IP_REMOTE_PORT
|
||||
#endif
|
||||
const GUID FWPM_LAYER_INBOUND_TRANSPORT_V4;
|
||||
const GUID FWPM_LAYER_INBOUND_TRANSPORT_V6;
|
||||
const GUID FWPM_LAYER_OUTBOUND_TRANSPORT_V4;
|
||||
const GUID FWPM_LAYER_OUTBOUND_TRANSPORT_V6;
|
||||
const GUID FWPM_LAYER_IPFORWARD_V4;
|
||||
const GUID FWPM_LAYER_IPFORWARD_V6;
|
||||
const GUID FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V4;
|
||||
const GUID FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V6;
|
||||
const GUID FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V4;
|
||||
const GUID FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V6;
|
||||
const GUID FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_V4;
|
||||
const GUID FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_V6;
|
||||
const GUID FWPM_CALLOUT_IPSEC_OUTBOUND_TUNNEL_V4;
|
||||
const GUID FWPM_CALLOUT_IPSEC_OUTBOUND_TUNNEL_V6;
|
||||
const GUID FWPM_CALLOUT_IPSEC_FORWARD_INBOUND_TUNNEL_V4;
|
||||
const GUID FWPM_CALLOUT_IPSEC_FORWARD_INBOUND_TUNNEL_V6;
|
||||
const GUID FWPM_CALLOUT_IPSEC_FORWARD_OUTBOUND_TUNNEL_V4;
|
||||
const GUID FWPM_CALLOUT_IPSEC_FORWARD_OUTBOUND_TUNNEL_V6;
|
||||
|
||||
/* integrity config, missing in some MinGW versions */
|
||||
#ifndef IPSEC_AUTH_CONFIG_HMAC_MD5_96
|
||||
enum {
|
||||
IPSEC_AUTH_CONFIG_HMAC_MD5_96 = 0,
|
||||
IPSEC_AUTH_CONFIG_HMAC_SHA_1_96,
|
||||
IPSEC_AUTH_CONFIG_HMAC_SHA_256_128,
|
||||
IPSEC_AUTH_CONFIG_GCM_AES_128,
|
||||
IPSEC_AUTH_CONFIG_GCM_AES_192,
|
||||
IPSEC_AUTH_CONFIG_GCM_AES_256,
|
||||
IPSEC_AUTH_CONFIG_MAX
|
||||
};
|
||||
#define IPSEC_AUTH_TRANSFORM_ID_HMAC_MD5_96 { \
|
||||
IPSEC_AUTH_MD5, IPSEC_AUTH_CONFIG_HMAC_MD5_96 }
|
||||
#define IPSEC_AUTH_TRANSFORM_ID_HMAC_SHA_1_96 { \
|
||||
IPSEC_AUTH_SHA_1, IPSEC_AUTH_CONFIG_HMAC_SHA_1_96 }
|
||||
#define IPSEC_AUTH_TRANSFORM_ID_HMAC_SHA_256_128 { \
|
||||
IPSEC_AUTH_SHA_256, IPSEC_AUTH_CONFIG_HMAC_SHA_256_128 }
|
||||
#define IPSEC_AUTH_TRANSFORM_ID_GCM_AES_128 { \
|
||||
IPSEC_AUTH_AES_128, IPSEC_AUTH_CONFIG_GCM_AES_128 }
|
||||
#define IPSEC_AUTH_TRANSFORM_ID_GCM_AES_192 { \
|
||||
IPSEC_AUTH_AES_192, IPSEC_AUTH_CONFIG_GCM_AES_192 }
|
||||
#define IPSEC_AUTH_TRANSFORM_ID_GCM_AES_256 { \
|
||||
IPSEC_AUTH_AES_256, IPSEC_AUTH_CONFIG_GCM_AES_256 }
|
||||
#endif
|
||||
|
||||
/* encryption config, missing in some MinGW versions */
|
||||
#ifndef IPSEC_CIPHER_CONFIG_CBC_DES
|
||||
enum {
|
||||
IPSEC_CIPHER_CONFIG_CBC_DES = 1,
|
||||
IPSEC_CIPHER_CONFIG_CBC_3DES,
|
||||
IPSEC_CIPHER_CONFIG_CBC_AES_128,
|
||||
IPSEC_CIPHER_CONFIG_CBC_AES_192,
|
||||
IPSEC_CIPHER_CONFIG_CBC_AES_256,
|
||||
IPSEC_CIPHER_CONFIG_GCM_AES_128,
|
||||
IPSEC_CIPHER_CONFIG_GCM_AES_192,
|
||||
IPSEC_CIPHER_CONFIG_GCM_AES_256,
|
||||
IPSEC_CIPHER_CONFIG_MAX
|
||||
};
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_GCM_AES_128 { \
|
||||
IPSEC_CIPHER_TYPE_AES_128, IPSEC_CIPHER_CONFIG_GCM_AES_128 }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_GCM_AES_192 { \
|
||||
IPSEC_CIPHER_TYPE_AES_192, IPSEC_CIPHER_CONFIG_GCM_AES_192 }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_GCM_AES_256 { \
|
||||
IPSEC_CIPHER_TYPE_AES_256, IPSEC_CIPHER_CONFIG_GCM_AES_256 }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_CBC_DES { \
|
||||
IPSEC_CIPHER_TYPE_DES, IPSEC_CIPHER_CONFIG_CBC_DES }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_CBC_3DES { \
|
||||
IPSEC_CIPHER_TYPE_3DES, IPSEC_CIPHER_CONFIG_CBC_3DES }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_AES_128 { \
|
||||
IPSEC_CIPHER_TYPE_AES_128, IPSEC_CIPHER_CONFIG_CBC_AES_128 }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_AES_192 { \
|
||||
IPSEC_CIPHER_TYPE_AES_192, IPSEC_CIPHER_CONFIG_CBC_AES_192 }
|
||||
#define IPSEC_CIPHER_TRANSFORM_ID_AES_256 { \
|
||||
IPSEC_CIPHER_TYPE_AES_256, IPSEC_CIPHER_CONFIG_CBC_AES_256 }
|
||||
#endif
|
||||
|
||||
DWORD WINAPI FwpmIPsecTunnelAdd0(HANDLE, UINT32,
|
||||
const FWPM_PROVIDER_CONTEXT0*, const FWPM_PROVIDER_CONTEXT0*, UINT32,
|
||||
const FWPM_FILTER_CONDITION0*, PSECURITY_DESCRIPTOR);
|
||||
|
||||
Reference in New Issue
Block a user