From 08c0d340b8f0c05c4ee6ba9336cd56a432f84b7d Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 12 Jul 2010 17:40:37 +0200 Subject: [PATCH] Moved ipsec_transform_t to kernel_ipsec.h in libhydra. Because of this libfreeswan, pluto, starter etc. now depend on that file (and libhydra). This resolved some duplicate declarations. --- src/libcharon/config/child_cfg.c | 9 --------- src/libcharon/config/child_cfg.h | 17 ----------------- src/libfreeswan/Makefile.am | 1 + src/libhydra/kernel/kernel_ipsec.c | 8 ++++++++ src/libhydra/kernel/kernel_ipsec.h | 19 ++++++++++++++++++- src/pluto/constants.c | 2 +- src/pluto/constants.h | 11 +++-------- src/starter/Makefile.am | 1 + src/starter/confread.h | 7 ------- src/starter/starterstroke.c | 9 --------- src/whack/Makefile.am | 1 + 11 files changed, 33 insertions(+), 52 deletions(-) diff --git a/src/libcharon/config/child_cfg.c b/src/libcharon/config/child_cfg.c index 70f38b2858..1cdfd59499 100644 --- a/src/libcharon/config/child_cfg.c +++ b/src/libcharon/config/child_cfg.c @@ -27,15 +27,6 @@ ENUM(action_names, ACTION_NONE, ACTION_RESTART, "restart", ); -ENUM_BEGIN(ipcomp_transform_names, IPCOMP_NONE, IPCOMP_NONE, - "IPCOMP_NONE"); -ENUM_NEXT(ipcomp_transform_names, IPCOMP_OUI, IPCOMP_LZJH, IPCOMP_NONE, - "IPCOMP_OUI", - "IPCOMP_DEFLATE", - "IPCOMP_LZS", - "IPCOMP_LZJH"); -ENUM_END(ipcomp_transform_names, IPCOMP_LZJH); - typedef struct private_child_cfg_t private_child_cfg_t; /** diff --git a/src/libcharon/config/child_cfg.h b/src/libcharon/config/child_cfg.h index a14d96c927..1e6fe3fe91 100644 --- a/src/libcharon/config/child_cfg.h +++ b/src/libcharon/config/child_cfg.h @@ -24,7 +24,6 @@ #define CHILD_CFG_H_ typedef enum action_t action_t; -typedef enum ipcomp_transform_t ipcomp_transform_t; typedef struct child_cfg_t child_cfg_t; #include @@ -49,22 +48,6 @@ enum action_t { */ extern enum_name_t *action_names; -/** - * IPComp transform IDs, as in RFC 4306 - */ -enum ipcomp_transform_t { - IPCOMP_NONE = 241, - IPCOMP_OUI = 1, - IPCOMP_DEFLATE = 2, - IPCOMP_LZS = 3, - IPCOMP_LZJH = 4, -}; - -/** - * enum strings for ipcomp_transform_t. - */ -extern enum_name_t *ipcomp_transform_names; - /** * A child_cfg_t defines the config template for a CHILD_SA. * diff --git a/src/libfreeswan/Makefile.am b/src/libfreeswan/Makefile.am index 44dd31577d..5fee39da9d 100644 --- a/src/libfreeswan/Makefile.am +++ b/src/libfreeswan/Makefile.am @@ -11,6 +11,7 @@ libfreeswan_a_SOURCES = addrtoa.c addrtot.c addrtypeof.c anyaddr.c atoaddr.c ato INCLUDES = \ -I$(top_srcdir)/src/libstrongswan \ +-I$(top_srcdir)/src/libhydra \ -I$(top_srcdir)/src/pluto dist_man3_MANS = anyaddr.3 atoaddr.3 atoasr.3 atosa.3 atoul.3 goodmask.3 initaddr.3 initsubnet.3 \ diff --git a/src/libhydra/kernel/kernel_ipsec.c b/src/libhydra/kernel/kernel_ipsec.c index 5b0335b168..383685426d 100644 --- a/src/libhydra/kernel/kernel_ipsec.c +++ b/src/libhydra/kernel/kernel_ipsec.c @@ -27,3 +27,11 @@ ENUM(policy_dir_names, POLICY_IN, POLICY_FWD, "fwd" ); +ENUM(ipcomp_transform_names, IPCOMP_NONE, IPCOMP_LZJH, + "IPCOMP_NONE", + "IPCOMP_OUI", + "IPCOMP_DEFLATE", + "IPCOMP_LZS", + "IPCOMP_LZJH" +); + diff --git a/src/libhydra/kernel/kernel_ipsec.h b/src/libhydra/kernel/kernel_ipsec.h index 233dca305b..ad3f64c5d5 100644 --- a/src/libhydra/kernel/kernel_ipsec.h +++ b/src/libhydra/kernel/kernel_ipsec.h @@ -26,6 +26,7 @@ typedef enum ipsec_mode_t ipsec_mode_t; typedef enum policy_dir_t policy_dir_t; +typedef enum ipcomp_transform_t ipcomp_transform_t; typedef struct kernel_ipsec_t kernel_ipsec_t; typedef struct lifetime_cfg_t lifetime_cfg_t; typedef struct mark_t mark_t; @@ -35,7 +36,7 @@ typedef struct mark_t mark_t; #include /** - * Mode of a CHILD_SA. + * Mode of an IPsec SA. */ enum ipsec_mode_t { /** transport mode, no inner address */ @@ -70,6 +71,22 @@ enum policy_dir_t { */ extern enum_name_t *policy_dir_names; +/** + * IPComp transform IDs, as in RFC 4306 + */ +enum ipcomp_transform_t { + IPCOMP_NONE = 0, + IPCOMP_OUI = 1, + IPCOMP_DEFLATE = 2, + IPCOMP_LZS = 3, + IPCOMP_LZJH = 4, +}; + +/** + * enum strings for ipcomp_transform_t. + */ +extern enum_name_t *ipcomp_transform_names; + /** * A lifetime_cfg_t defines the lifetime limits of an SA. * diff --git a/src/pluto/constants.c b/src/pluto/constants.c index 63a37009b6..aaaa1d2af2 100644 --- a/src/pluto/constants.c +++ b/src/pluto/constants.c @@ -411,7 +411,7 @@ enum_names esp_transform_names = static const char *const ipcomp_transform_name[] = { "IPCOMP_OUI", - "IPCOMP_DEFLAT", + "IPCOMP_DEFLATE", "IPCOMP_LZS", "IPCOMP_LZJH", }; diff --git a/src/pluto/constants.h b/src/pluto/constants.h index 790bbefa67..7e8d22b27c 100644 --- a/src/pluto/constants.h +++ b/src/pluto/constants.h @@ -18,6 +18,8 @@ #include +#include + #include #include #include @@ -193,16 +195,9 @@ extern enum_names esp_transform_names; /* IPCOMP transform values * RFC2407 The Internet IP security Domain of Interpretation for ISAKMP 4.4.5 + * now defined in kernel/kernel_ipsec.h */ -enum ipsec_comp_algo { - IPSCOMP_NONE = 0, - IPCOMP_OUI = 1, - IPCOMP_DEFLATE = 2, - IPCOMP_LZS = 3, - IPCOMP_LZJH = 4 -}; - extern enum_names ipcomp_transformid_names; /* Certificate type values diff --git a/src/starter/Makefile.am b/src/starter/Makefile.am index 9813a0c06f..0bc7fb468b 100644 --- a/src/starter/Makefile.am +++ b/src/starter/Makefile.am @@ -9,6 +9,7 @@ INCLUDES = \ -I${linux_headers} \ -I$(top_srcdir)/src/libstrongswan \ -I$(top_srcdir)/src/libfreeswan \ +-I$(top_srcdir)/src/libhydra \ -I$(top_srcdir)/src/pluto \ -I$(top_srcdir)/src/whack \ -I$(top_srcdir)/src/stroke diff --git a/src/starter/confread.h b/src/starter/confread.h index 3bbff64664..4d3f7f3103 100644 --- a/src/starter/confread.h +++ b/src/starter/confread.h @@ -95,13 +95,6 @@ struct also { also_t *next; }; -typedef struct mark_t mark_t; - -struct mark_t{ - u_int32_t value; - u_int32_t mask; -}; - typedef struct starter_conn starter_conn_t; struct starter_conn { diff --git a/src/starter/starterstroke.c b/src/starter/starterstroke.c index 32b373b2d2..8089518d0e 100644 --- a/src/starter/starterstroke.c +++ b/src/starter/starterstroke.c @@ -39,15 +39,6 @@ #define IPV4_LEN 4 #define IPV6_LEN 16 -/** - * Mode of an IPsec SA, must be the same as in charons kernel_ipsec.h - */ -enum ipsec_mode_t { - MODE_TRANSPORT = 1, - MODE_TUNNEL, - MODE_BEET -}; - /** * Authentication methods, must be the same as in charons authenticator.h */ diff --git a/src/whack/Makefile.am b/src/whack/Makefile.am index 27f8562319..316a833124 100644 --- a/src/whack/Makefile.am +++ b/src/whack/Makefile.am @@ -5,6 +5,7 @@ whack_SOURCES = whack.c whack.h INCLUDES = \ -I$(top_srcdir)/src/libstrongswan \ -I$(top_srcdir)/src/libfreeswan \ +-I$(top_srcdir)/src/libhydra \ -I$(top_srcdir)/src/pluto whack_LDADD = \