diff options
Diffstat (limited to 'main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch')
-rw-r--r-- | main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch b/main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch index b722ad65c6..6d5fa223bf 100644 --- a/main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch +++ b/main/strongswan/1001-charon-add-optional-source-and-remote-overrides-for-.patch @@ -1,7 +1,8 @@ -From 8cea97341b063bde31cbc4cdf6834fd2a57f609c Mon Sep 17 00:00:00 2001 +From a3e5318ef98f47761ec2c2fc6d106ec9f5dc294b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Mon, 21 Sep 2015 13:41:58 +0300 -Subject: [PATCH] charon: add optional source and remote overrides for initiate +Subject: [PATCH 2/5] charon: add optional source and remote overrides for + initiate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -26,15 +27,15 @@ Signed-off-by: Timo Teräs <timo.teras@iki.fi> src/libcharon/processing/jobs/start_action_job.c | 2 +- src/libcharon/sa/ike_sa_manager.c | 51 ++++++++++++++++++- src/libcharon/sa/ike_sa_manager.h | 8 ++- - src/libcharon/sa/trap_manager.c | 46 +++++++---------- + src/libcharon/sa/trap_manager.c | 45 +++++++---------- src/swanctl/commands/initiate.c | 40 ++++++++++++++- - 13 files changed, 220 insertions(+), 49 deletions(-) + 13 files changed, 219 insertions(+), 49 deletions(-) diff --git a/src/charon-cmd/cmd/cmd_connection.c b/src/charon-cmd/cmd/cmd_connection.c -index 0c6a504..dc4eca3 100644 +index 71df92f..13b31de 100644 --- a/src/charon-cmd/cmd/cmd_connection.c +++ b/src/charon-cmd/cmd/cmd_connection.c -@@ -434,7 +434,7 @@ static job_requeue_t initiate(private_cmd_connection_t *this) +@@ -436,7 +436,7 @@ static job_requeue_t initiate(private_cmd_connection_t *this) child_cfg = create_child_cfg(this, peer_cfg); if (charon->controller->initiate(charon->controller, peer_cfg, child_cfg, @@ -44,7 +45,7 @@ index 0c6a504..dc4eca3 100644 terminate(pid); } diff --git a/src/charon-nm/nm/nm_service.c b/src/charon-nm/nm/nm_service.c -index fc7e899..4f4461a 100644 +index 5991c24..2d37942 100644 --- a/src/charon-nm/nm/nm_service.c +++ b/src/charon-nm/nm/nm_service.c @@ -579,7 +579,7 @@ static gboolean connect_(NMVPNPlugin *plugin, NMConnection *connection, @@ -57,7 +58,7 @@ index fc7e899..4f4461a 100644 { peer_cfg->destroy(peer_cfg); diff --git a/src/libcharon/control/controller.c b/src/libcharon/control/controller.c -index 6dd54b4..d0524a5 100644 +index 93ff70b..49ef998 100644 --- a/src/libcharon/control/controller.c +++ b/src/libcharon/control/controller.c @@ -15,6 +15,28 @@ @@ -105,8 +106,8 @@ index 6dd54b4..d0524a5 100644 + /** * unique ID, used for various methods */ - u_int32_t id; -@@ -355,9 +387,14 @@ METHOD(job_t, initiate_execute, job_requeue_t, + uint32_t id; +@@ -405,9 +437,14 @@ METHOD(job_t, initiate_execute, job_requeue_t, ike_sa_t *ike_sa; interface_listener_t *listener = &job->listener; peer_cfg_t *peer_cfg = listener->peer_cfg; @@ -122,7 +123,7 @@ index 6dd54b4..d0524a5 100644 if (!ike_sa) { listener->child_cfg->destroy(listener->child_cfg); -@@ -366,6 +403,7 @@ METHOD(job_t, initiate_execute, job_requeue_t, +@@ -416,6 +453,7 @@ METHOD(job_t, initiate_execute, job_requeue_t, listener_done(listener); return JOB_REQUEUE_NONE; } @@ -130,7 +131,7 @@ index 6dd54b4..d0524a5 100644 listener->lock->lock(listener->lock); listener->ike_sa = ike_sa; listener->lock->unlock(listener->lock); -@@ -438,6 +476,7 @@ METHOD(job_t, initiate_execute, job_requeue_t, +@@ -488,6 +526,7 @@ METHOD(job_t, initiate_execute, job_requeue_t, METHOD(controller_t, initiate, status_t, private_controller_t *this, peer_cfg_t *peer_cfg, child_cfg_t *child_cfg, @@ -138,7 +139,7 @@ index 6dd54b4..d0524a5 100644 controller_cb_t callback, void *param, u_int timeout, bool limits) { interface_job_t *job; -@@ -460,6 +499,8 @@ METHOD(controller_t, initiate, status_t, +@@ -510,6 +549,8 @@ METHOD(controller_t, initiate, status_t, .status = FAILED, .child_cfg = child_cfg, .peer_cfg = peer_cfg, @@ -148,7 +149,7 @@ index 6dd54b4..d0524a5 100644 .limits = limits, }, diff --git a/src/libcharon/control/controller.h b/src/libcharon/control/controller.h -index 5ffeac5..fb2e787 100644 +index 9524f53..7c51ba4 100644 --- a/src/libcharon/control/controller.h +++ b/src/libcharon/control/controller.h @@ -79,6 +79,8 @@ struct controller_t { @@ -169,10 +170,10 @@ index 5ffeac5..fb2e787 100644 bool limits); diff --git a/src/libcharon/plugins/maemo/maemo_service.c b/src/libcharon/plugins/maemo/maemo_service.c -index 2e96f8f..e594a71 100644 +index 3e5861b..5a6e03d 100644 --- a/src/libcharon/plugins/maemo/maemo_service.c +++ b/src/libcharon/plugins/maemo/maemo_service.c -@@ -362,7 +362,7 @@ static gboolean initiate_connection(private_maemo_service_t *this, +@@ -364,7 +364,7 @@ static gboolean initiate_connection(private_maemo_service_t *this, /* get us an IKE_SA */ ike_sa = charon->ike_sa_manager->checkout_by_config(charon->ike_sa_manager, @@ -182,7 +183,7 @@ index 2e96f8f..e594a71 100644 { peer_cfg->destroy(peer_cfg); diff --git a/src/libcharon/plugins/stroke/stroke_control.c b/src/libcharon/plugins/stroke/stroke_control.c -index 36da5ff..f2910ab 100644 +index fb60d39..83f8ae5 100644 --- a/src/libcharon/plugins/stroke/stroke_control.c +++ b/src/libcharon/plugins/stroke/stroke_control.c @@ -108,7 +108,7 @@ static void charon_initiate(private_stroke_control_t *this, peer_cfg_t *peer_cfg @@ -205,10 +206,10 @@ index 36da5ff..f2910ab 100644 switch (status) { diff --git a/src/libcharon/plugins/vici/vici_config.c b/src/libcharon/plugins/vici/vici_config.c -index 6ebbedc..94222cc 100644 +index d919e1d..2cac93f 100644 --- a/src/libcharon/plugins/vici/vici_config.c +++ b/src/libcharon/plugins/vici/vici_config.c -@@ -1693,7 +1693,7 @@ static void run_start_action(private_vici_config_t *this, peer_cfg_t *peer_cfg, +@@ -1691,7 +1691,7 @@ static void run_start_action(private_vici_config_t *this, peer_cfg_t *peer_cfg, DBG1(DBG_CFG, "initiating '%s'", child_cfg->get_name(child_cfg)); charon->controller->initiate(charon->controller, peer_cfg->get_ref(peer_cfg), child_cfg->get_ref(child_cfg), @@ -218,7 +219,7 @@ index 6ebbedc..94222cc 100644 case ACTION_ROUTE: DBG1(DBG_CFG, "installing '%s'", child_cfg->get_name(child_cfg)); diff --git a/src/libcharon/plugins/vici/vici_control.c b/src/libcharon/plugins/vici/vici_control.c -index c526d2f..593d3c7 100644 +index 4400381..55b8c99 100644 --- a/src/libcharon/plugins/vici/vici_control.c +++ b/src/libcharon/plugins/vici/vici_control.c @@ -16,6 +16,28 @@ @@ -342,7 +343,7 @@ index 5e88ac2..7043332 100644 case ACTION_ROUTE: DBG1(DBG_JOB, "start action: route '%s'", name); diff --git a/src/libcharon/sa/ike_sa_manager.c b/src/libcharon/sa/ike_sa_manager.c -index e8190a9..38a6b9d 100644 +index 37d49da..9593356 100644 --- a/src/libcharon/sa/ike_sa_manager.c +++ b/src/libcharon/sa/ike_sa_manager.c @@ -16,6 +16,28 @@ @@ -403,7 +404,7 @@ index e8190a9..38a6b9d 100644 if (this->reuse_ikesa || peer_cfg->get_ike_version(peer_cfg) == IKEV1) { -@@ -1415,6 +1448,16 @@ METHOD(ike_sa_manager_t, checkout_by_config, ike_sa_t*, +@@ -1416,6 +1449,16 @@ METHOD(ike_sa_manager_t, checkout_by_config, ike_sa_t*, entry->condvar->signal(entry->condvar); continue; } @@ -420,7 +421,7 @@ index e8190a9..38a6b9d 100644 current_peer = entry->ike_sa->get_peer_cfg(entry->ike_sa); if (current_peer && current_peer->equals(current_peer, peer_cfg)) { -@@ -1446,6 +1489,10 @@ METHOD(ike_sa_manager_t, checkout_by_config, ike_sa_t*, +@@ -1447,6 +1490,10 @@ METHOD(ike_sa_manager_t, checkout_by_config, ike_sa_t*, return NULL; } ike_sa = checkout_new(this, peer_cfg->get_ike_version(peer_cfg), TRUE); @@ -432,7 +433,7 @@ index e8190a9..38a6b9d 100644 charon->bus->set_sa(charon->bus, ike_sa); diff --git a/src/libcharon/sa/ike_sa_manager.h b/src/libcharon/sa/ike_sa_manager.h -index f1b7c25..dbe1e7d 100644 +index 4298c54..47d6e6a 100644 --- a/src/libcharon/sa/ike_sa_manager.h +++ b/src/libcharon/sa/ike_sa_manager.h @@ -93,7 +93,8 @@ struct ike_sa_manager_t { @@ -461,10 +462,10 @@ index f1b7c25..dbe1e7d 100644 /** * Check for duplicates of the given IKE_SA. diff --git a/src/libcharon/sa/trap_manager.c b/src/libcharon/sa/trap_manager.c -index 85e2207..2760f0b 100644 +index 40a0682..ea79d95 100644 --- a/src/libcharon/sa/trap_manager.c +++ b/src/libcharon/sa/trap_manager.c -@@ -401,7 +401,7 @@ METHOD(trap_manager_t, acquire, void, +@@ -399,7 +399,7 @@ METHOD(trap_manager_t, acquire, void, peer_cfg_t *peer; child_cfg_t *child; ike_sa_t *ike_sa; @@ -473,7 +474,7 @@ index 85e2207..2760f0b 100644 bool wildcard, ignore = FALSE; this->lock->read_lock(this->lock); -@@ -477,36 +477,28 @@ METHOD(trap_manager_t, acquire, void, +@@ -475,36 +475,27 @@ METHOD(trap_manager_t, acquire, void, this->lock->unlock(this->lock); if (wildcard) @@ -483,22 +484,21 @@ index 85e2207..2760f0b 100644 - if (ike_sa) - { - ike_cfg_t *ike_cfg; -- u_int16_t port; -- u_int8_t mask; +- uint16_t port; +- uint8_t mask; - - ike_sa->set_peer_cfg(ike_sa, peer); - ike_cfg = ike_sa->get_ike_cfg(ike_sa); + { + ike_cfg_t *ike_cfg; -+ u_int16_t port; -+ u_int8_t mask; ++ uint16_t port; ++ uint8_t mask; - port = ike_cfg->get_other_port(ike_cfg); - dst->to_subnet(dst, &host, &mask); - host->set_port(host, port); - ike_sa->set_other_host(ike_sa, host); -+ ike_sa->set_peer_cfg(ike_sa, peer); -+ ike_cfg = ike_sa->get_ike_cfg(ike_sa); ++ ike_cfg = peer->get_ike_cfg(peer); - port = ike_cfg->get_my_port(ike_cfg); - src->to_subnet(src, &host, &mask); @@ -608,5 +608,5 @@ index eb7b6ad..706fa57 100644 {"raw", 'r', 0, "dump raw response message"}, {"pretty", 'P', 0, "dump raw response message in pretty print"}, -- -2.7.4 +2.5.0 |