aboutsummaryrefslogtreecommitdiffstats
path: root/src/frontends/android/jni/libandroidbridge/backend/android_service.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2015-02-19 18:18:51 +0100
committerMartin Willi <martin@revosec.ch>2015-02-20 13:34:52 +0100
commit94eb09ac354c5dfee033a62c93dabf011e9c9747 (patch)
treea8505a4fb50285b2cbcf13ad1de2dd54f8e4cb21 /src/frontends/android/jni/libandroidbridge/backend/android_service.c
parent970378c557412710c01f3100d6f8ffb380e853a3 (diff)
parent246c969d8bc98194c300989d545d8fa40e246399 (diff)
downloadstrongswan-94eb09ac354c5dfee033a62c93dabf011e9c9747.tar.bz2
strongswan-94eb09ac354c5dfee033a62c93dabf011e9c9747.tar.xz
Merge branch 'reqid-alloc'
With these changes, charon dynamically allocates reqids for CHILD_SAs. This allows the reuse of reqids for identical policies, and basically allows multiple CHILD_SAs with the same selectors. As reqids do not uniquely define a CHILD_SA, a new unique identifier for CHILD_SAs is introduced, and the kernel backends use a proto/dst/SPI tuple to identify CHILD_SAs. charon-tkm is not yet updated and expires are actually broken with this merge. As some significant refactorings are required, this is fixed using a separate merge. References #422, #431, #463.
Diffstat (limited to 'src/frontends/android/jni/libandroidbridge/backend/android_service.c')
-rw-r--r--src/frontends/android/jni/libandroidbridge/backend/android_service.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/frontends/android/jni/libandroidbridge/backend/android_service.c b/src/frontends/android/jni/libandroidbridge/backend/android_service.c
index fad070d95..896bb0940 100644
--- a/src/frontends/android/jni/libandroidbridge/backend/android_service.c
+++ b/src/frontends/android/jni/libandroidbridge/backend/android_service.c
@@ -285,7 +285,7 @@ static bool setup_tun_device(private_android_service_t *this,
int tunfd;
DBG1(DBG_DMN, "setting up TUN device for CHILD_SA %s{%u}",
- child_sa->get_name(child_sa), child_sa->get_reqid(child_sa));
+ child_sa->get_name(child_sa), child_sa->get_unique_id(child_sa));
builder = charonservice->get_vpnservice_builder(charonservice);
@@ -426,8 +426,7 @@ CALLBACK(reestablish, job_requeue_t,
{
ike_sa_t *ike_sa;
- ike_sa = charon->ike_sa_manager->checkout_by_id(charon->ike_sa_manager,
- *id, FALSE);
+ ike_sa = charon->ike_sa_manager->checkout_by_id(charon->ike_sa_manager, *id);
if (ike_sa)
{
if (ike_sa->reauth(ike_sa) == DESTROY_ME)