aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/sa
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-11-10 16:30:25 +0100
committerMartin Willi <martin@revosec.ch>2011-01-05 16:45:44 +0100
commite7099aa24effb0b88f1667953daba7f917655afe (patch)
tree4553101efa770f260718b87109690df4d625b076 /src/libcharon/sa
parent24384f352fd42802c8277ec4ea9f159f43176fcc (diff)
downloadstrongswan-e7099aa24effb0b88f1667953daba7f917655afe.tar.bz2
strongswan-e7099aa24effb0b88f1667953daba7f917655afe.tar.xz
Handle all error notifies in CREATE_CHILD_SA exchanges
Diffstat (limited to 'src/libcharon/sa')
-rw-r--r--src/libcharon/sa/tasks/child_create.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libcharon/sa/tasks/child_create.c b/src/libcharon/sa/tasks/child_create.c
index f971f8859..02831b004 100644
--- a/src/libcharon/sa/tasks/child_create.c
+++ b/src/libcharon/sa/tasks/child_create.c
@@ -1110,7 +1110,21 @@ METHOD(task_t, process_i, status_t,
return NEED_MORE;
}
default:
+ {
+ if (message->get_exchange_type(message) == CREATE_CHILD_SA)
+ { /* handle notifies if not handled in IKE_AUTH */
+ if (type <= 16383)
+ {
+ DBG1(DBG_IKE, "received %N notify error",
+ notify_type_names, type);
+ enumerator->destroy(enumerator);
+ return SUCCESS;
+ }
+ DBG2(DBG_IKE, "received %N notify",
+ notify_type_names, type);
+ }
break;
+ }
}
}
}