diff options
author | Martin Willi <martin@revosec.ch> | 2012-01-09 13:41:35 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-03-20 17:31:33 +0100 |
commit | 44dcd5944ab878cb5bbbec6aa79d5d99b109d33f (patch) | |
tree | 1b272962f555857022db8c512fc0214815dbaf6e /src | |
parent | 90731f38c9fdb0af1d726d0ec3aa6550a018420c (diff) | |
download | strongswan-44dcd5944ab878cb5bbbec6aa79d5d99b109d33f.tar.bz2 strongswan-44dcd5944ab878cb5bbbec6aa79d5d99b109d33f.tar.xz |
Fix error handling if no PSK found for main mode
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/sa/ikev1/tasks/main_mode.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libcharon/sa/ikev1/tasks/main_mode.c b/src/libcharon/sa/ikev1/tasks/main_mode.c index 3c0a2520e..2fc06ca1a 100644 --- a/src/libcharon/sa/ikev1/tasks/main_mode.c +++ b/src/libcharon/sa/ikev1/tasks/main_mode.c @@ -799,11 +799,11 @@ static shared_key_t *lookup_shared_key(private_main_mode_t *this) { shared_key = lib->credmgr->get_shared(lib->credmgr, SHARED_IKE, my_id, other_id); - } - else - { - DBG1(DBG_IKE, "no shared key found for '%Y'[%H] - '%Y'[%H]", - my_id, me, other_id, other); + if (!shared_key) + { + DBG1(DBG_IKE, "no shared key found for '%Y'[%H] - '%Y'[%H]", + my_id, me, other_id, other); + } } } else @@ -862,6 +862,10 @@ static bool derive_keys(private_main_mode_t *this, chunk_t nonce_i, case AUTH_XAUTH_INIT_PSK: case AUTH_XAUTH_RESP_PSK: shared_key = lookup_shared_key(this); + if (!shared_key) + { + return FALSE; + } break; default: break; |