aboutsummaryrefslogtreecommitdiffstats
path: root/src/pluto/demux.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2007-01-29 07:43:34 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2007-01-29 07:43:34 +0000
commitef05d8465be970e30bc7e763e689ece52e4aad91 (patch)
tree6cabf5ead6dd58b190da4a190117b1fa4dea7f78 /src/pluto/demux.c
parentf527c5a2880ba107a8032277cdaca2295c2a9dd3 (diff)
downloadstrongswan-ef05d8465be970e30bc7e763e689ece52e4aad91.tar.bz2
strongswan-ef05d8465be970e30bc7e763e689ece52e4aad91.tar.xz
XAUTH interoperability with Cisco
Diffstat (limited to 'src/pluto/demux.c')
-rw-r--r--src/pluto/demux.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/pluto/demux.c b/src/pluto/demux.c
index 1f47daf8f..7e59b184d 100644
--- a/src/pluto/demux.c
+++ b/src/pluto/demux.c
@@ -443,7 +443,7 @@ static const struct state_microcode state_microcode_table[] = {
, EVENT_RETRANSMIT, xauth_inI0 },
{ STATE_XAUTH_R1, STATE_XAUTH_R2
- , SMF_ALL_AUTH | SMF_ENCRYPTED | SMF_REPLY
+ , SMF_ALL_AUTH | SMF_ENCRYPTED
, P(ATTR) | P(HASH), P(VID), PT(HASH)
, EVENT_RETRANSMIT, xauth_inR1 },
@@ -1552,6 +1552,15 @@ process_packet(struct msg_digest **mdp)
set_cur_state(st);
+ /* the XAUTH_STATUS message might have a new msgid */
+ if (st->st_state == STATE_XAUTH_I1)
+ {
+ init_phase2_iv(st, &md->hdr.isa_msgid);
+ new_iv_set = TRUE;
+ from_state = st->st_state;
+ break;
+ }
+
if (!IS_ISAKMP_SA_ESTABLISHED(st->st_state))
{
loglog(RC_LOG_SERIOUS, "ModeCfg message is unacceptable because"