aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2007-02-08 13:53:41 +0000
committerMartin Willi <martin@strongswan.org>2007-02-08 13:53:41 +0000
commiteb9a3fd6f08f8160e96ebc9ec5c7c07b93aa6565 (patch)
treecd65e164e512af9adb5901e14e6480649cb2373c /src/charon
parent9425da18160f7fef40fa8b483fcbd71a27c199b1 (diff)
downloadstrongswan-eb9a3fd6f08f8160e96ebc9ec5c7c07b93aa6565.tar.bz2
strongswan-eb9a3fd6f08f8160e96ebc9ec5c7c07b93aa6565.tar.xz
be more liberal in accepting notifies with a protocol id
Diffstat (limited to 'src/charon')
-rw-r--r--src/charon/encoding/payloads/notify_payload.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/charon/encoding/payloads/notify_payload.c b/src/charon/encoding/payloads/notify_payload.c
index d943b215c..b11d8f206 100644
--- a/src/charon/encoding/payloads/notify_payload.c
+++ b/src/charon/encoding/payloads/notify_payload.c
@@ -191,15 +191,8 @@ static status_t verify(private_notify_payload_t *this)
{
case PROTO_NONE:
case PROTO_IKE:
- break;
case PROTO_AH:
case PROTO_ESP:
- if (this->spi.len != 4)
- {
- DBG1(DBG_ENC, "Invalid SPI size for %N",
- protocol_id_names, this->protocol_id);
- return FAILED;
- }
break;
default:
DBG1(DBG_ENC, "Unknown protocol (%d)", this->protocol_id);
@@ -364,10 +357,14 @@ static u_int32_t get_spi(private_notify_payload_t *this)
{
case PROTO_AH:
case PROTO_ESP:
- return *((u_int32_t*)this->spi.ptr);
+ if (this->spi.len == 4)
+ {
+ return *((u_int32_t*)this->spi.ptr);
+ }
default:
- return 0;
+ break;
}
+ return 0;
}
/**