From: Tobias Brunner Date: Wed, 16 Oct 2019 17:46:09 +0000 (+0200) Subject: kernel-pfkey: Add additional strings for extensions on different platforms X-Git-Tag: 5.8.2dr2~15^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3d8179b4baaaccfab622afe09f97c7cb9cb41f3;p=thirdparty%2Fstrongswan.git kernel-pfkey: Add additional strings for extensions on different platforms Don't define structs for macOS as we don't need them (that's true for most of the others too, though) and at least one is defined inside an extra ifdef. --- diff --git a/src/libcharon/plugins/kernel_pfkey/kernel_pfkey_ipsec.c b/src/libcharon/plugins/kernel_pfkey/kernel_pfkey_ipsec.c index 0ae3314248..a97daf4a99 100644 --- a/src/libcharon/plugins/kernel_pfkey/kernel_pfkey_ipsec.c +++ b/src/libcharon/plugins/kernel_pfkey/kernel_pfkey_ipsec.c @@ -692,12 +692,27 @@ struct pfkey_msg_t struct sadb_x_kmprivate *x_kmprivate; /* SADB_X_EXT_KMPRIVATE */ struct sadb_x_policy *x_policy; /* SADB_X_EXT_POLICY */ struct sadb_x_sa2 *x_sa2; /* SADB_X_EXT_SA2 */ +#if defined(__linux__) || defined (__FreeBSD__) struct sadb_x_nat_t_type *x_natt_type; /* SADB_X_EXT_NAT_T_TYPE */ struct sadb_x_nat_t_port *x_natt_sport; /* SADB_X_EXT_NAT_T_SPORT */ struct sadb_x_nat_t_port *x_natt_dport; /* SADB_X_EXT_NAT_T_DPORT */ +#ifdef __linux__ struct sadb_address *x_natt_oa; /* SADB_X_EXT_NAT_T_OA */ struct sadb_x_sec_ctx *x_sec_ctx; /* SADB_X_EXT_SEC_CTX */ struct sadb_x_kmaddress *x_kmaddress; /* SADB_X_EXT_KMADDRESS */ +#else + struct sadb_address *x_natt_oai; /* SADB_X_EXT_NAT_T_OAI */ + struct sadb_address *x_natt_oar; /* SADB_X_EXT_NAT_T_OAR */ +#ifdef SADB_X_EXT_NAT_T_FRAG + struct sadb_x_nat_t_frag *x_natt_frag; /* SADB_X_EXT_NAT_T_FRAG */ +#ifdef SADB_X_EXT_SA_REPLAY + struct sadb_x_sa_replay *x_replay; /* SADB_X_EXT_SA_REPLAY */ + struct sadb_address *x_new_addr_src; /* SADB_X_EXT_NEW_ADDRESS_SRC */ + struct sadb_address *x_new_addr_dst; /* SADB_X_EXT_NEW_ADDRESS_DST */ +#endif +#endif +#endif /* __linux__ */ +#endif /* __linux__ || __FreeBSD__ */ } __attribute__((__packed__)); }; }; @@ -723,12 +738,34 @@ ENUM(sadb_ext_type_names, SADB_EXT_RESERVED, SADB_EXT_MAX, "SADB_X_EXT_KMPRIVATE", "SADB_X_EXT_POLICY", "SADB_X_EXT_SA2", +#ifdef __APPLE__ + "SADB_EXT_SESSION_ID", + "SADB_EXT_SASTAT", + "SADB_X_EXT_IPSECIF", + "SADB_X_EXT_ADDR_RANGE_SRC_START", + "SADB_X_EXT_ADDR_RANGE_SRC_END", + "SADB_X_EXT_ADDR_RANGE_DST_START", + "SADB_X_EXT_ADDR_RANGE_DST_END", + "SADB_EXT_MIGRATE_ADDRESS_SRC", + "SADB_EXT_MIGRATE_ADDRESS_DST", + "SADB_X_EXT_MIGRATE_IPSECIF", +#else "SADB_X_EXT_NAT_T_TYPE", "SADB_X_EXT_NAT_T_SPORT", "SADB_X_EXT_NAT_T_DPORT", +#ifdef __linux__ "SADB_X_EXT_NAT_T_OA", "SADB_X_EXT_SEC_CTX", - "SADB_X_EXT_KMADDRESS" + "SADB_X_EXT_KMADDRESS", +#else + "SADB_X_EXT_NAT_T_OAI", + "SADB_X_EXT_NAT_T_OAR", + "SADB_X_EXT_NAT_T_FRAG", + "SADB_X_EXT_SA_REPLAY", + "SADB_X_EXT_NEW_ADDRESS_SRC", + "SADB_X_EXT_NEW_ADDRESS_DST", +#endif /* __linux__ */ +#endif /* __APPLE__ */ ); /**