diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-10-16 13:41:02 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-10-18 12:25:59 +0200 |
commit | 2b6088c7187f30479ef20d305e1972abe3d5a40a (patch) | |
tree | 8be1a785ec2b7e8a57f82d87626e25c25d634255 | |
parent | 901f6ac403b5b3a7b5a25ae745c1f5cf06f95a23 (diff) | |
download | strongswan-2b6088c7187f30479ef20d305e1972abe3d5a40a.tar.bz2 strongswan-2b6088c7187f30479ef20d305e1972abe3d5a40a.tar.xz |
android: Ignore if peer is unreachable when reestablishing an SA
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/backend/android_service.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/frontends/android/jni/libandroidbridge/backend/android_service.c b/src/frontends/android/jni/libandroidbridge/backend/android_service.c index d451a3d94..b00567f60 100644 --- a/src/frontends/android/jni/libandroidbridge/backend/android_service.c +++ b/src/frontends/android/jni/libandroidbridge/backend/android_service.c @@ -414,8 +414,13 @@ METHOD(listener_t, alert, bool, CHARONSERVICE_PEER_AUTH_ERROR); break; case ALERT_PEER_INIT_UNREACHABLE: - charonservice->update_status(charonservice, - CHARONSERVICE_UNREACHABLE_ERROR); + this->lock->read_lock(this->lock); + if (this->tunfd < 0) + { /* only handle this if we are not reestablishing the SA */ + charonservice->update_status(charonservice, + CHARONSERVICE_UNREACHABLE_ERROR); + } + this->lock->unlock(this->lock); break; default: break; |