From d71d181d28218299c51486906beecf87ec44e88a Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 10 Jan 2022 16:35:38 +0100 Subject: [PATCH] traffic-selector: Add TS_SECLABEL type --- src/charon-cmd/cmd/cmd_connection.c | 2 ++ src/libcharon/plugins/kernel_wfp/kernel_wfp_ipsec.c | 2 ++ src/libstrongswan/selectors/traffic_selector.c | 8 +++++--- src/libstrongswan/selectors/traffic_selector.h | 7 ++++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/charon-cmd/cmd/cmd_connection.c b/src/charon-cmd/cmd/cmd_connection.c index 0481d78d4..37d951951 100644 --- a/src/charon-cmd/cmd/cmd_connection.c +++ b/src/charon-cmd/cmd/cmd_connection.c @@ -388,6 +388,8 @@ static child_cfg_t* create_child_cfg(private_cmd_connection_t *this, case TS_IPV6_ADDR_RANGE: has_v6 = TRUE; break; + default: + continue; } child_cfg->add_traffic_selector(child_cfg, FALSE, ts); } diff --git a/src/libcharon/plugins/kernel_wfp/kernel_wfp_ipsec.c b/src/libcharon/plugins/kernel_wfp/kernel_wfp_ipsec.c index 36f5a97fc..650e04620 100644 --- a/src/libcharon/plugins/kernel_wfp/kernel_wfp_ipsec.c +++ b/src/libcharon/plugins/kernel_wfp/kernel_wfp_ipsec.c @@ -820,6 +820,8 @@ static bool install_sps(private_kernel_wfp_ipsec_t *this, case TS_IPV6_ADDR_RANGE: has_v6 = TRUE; break; + default: + continue; } /* inbound policy */ diff --git a/src/libstrongswan/selectors/traffic_selector.c b/src/libstrongswan/selectors/traffic_selector.c index 2735a5cc1..2e69e5ad8 100644 --- a/src/libstrongswan/selectors/traffic_selector.c +++ b/src/libstrongswan/selectors/traffic_selector.c @@ -31,10 +31,12 @@ #define NON_SUBNET_ADDRESS_RANGE 255 -ENUM(ts_type_name, TS_IPV4_ADDR_RANGE, TS_IPV6_ADDR_RANGE, +ENUM_BEGIN(ts_type_name, TS_IPV4_ADDR_RANGE, TS_IPV6_ADDR_RANGE, "TS_IPV4_ADDR_RANGE", - "TS_IPV6_ADDR_RANGE", -); + "TS_IPV6_ADDR_RANGE"); +ENUM_NEXT(ts_type_name, TS_SECLABEL, TS_SECLABEL, TS_IPV6_ADDR_RANGE, + "TS_SECLABEL"); +ENUM_END(ts_type_name, TS_SECLABEL); typedef struct private_traffic_selector_t private_traffic_selector_t; diff --git a/src/libstrongswan/selectors/traffic_selector.h b/src/libstrongswan/selectors/traffic_selector.h index 03f7a6d8c..a13aca106 100644 --- a/src/libstrongswan/selectors/traffic_selector.h +++ b/src/libstrongswan/selectors/traffic_selector.h @@ -50,7 +50,12 @@ enum ts_type_t { * (inclusive). All addresses falling between the two specified * addresses are considered to be within the list. */ - TS_IPV6_ADDR_RANGE = 8 + TS_IPV6_ADDR_RANGE = 8, + + /** + * A security label. + */ + TS_SECLABEL = 10, }; /**