ike: Allow creation of internally used payloads
authorTobias Brunner <tobias@strongswan.org>
Fri, 12 Dec 2014 11:39:44 +0000 (12:39 +0100)
committerTobias Brunner <tobias@strongswan.org>
Fri, 12 Dec 2014 12:10:26 +0000 (13:10 +0100)
Since 42e0a317c64b ("ike: Only parse payloads valid for the current IKE
version") payload types are checked before creating objects.  This check
failed for internally used payload types (e.g. proposal substructures),
which have a type >= 256, i.e. outside the IKE payload type range.

src/libcharon/encoding/payloads/payload.c

index cd014fd..a1cd2f9 100644 (file)
@@ -268,7 +268,7 @@ payload_t *payload_create(payload_type_t type)
  */
 bool payload_is_known(payload_type_t type, u_int8_t maj_ver)
 {
-       if (type == PL_HEADER)
+       if (type >= PL_HEADER)
        {
                return TRUE;
        }