aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/encoding/parser.h
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2014-10-21 14:03:25 +0200
committerTobias Brunner <tobias@strongswan.org>2014-12-05 15:41:47 +0100
commit42e0a317c64b1dfc2612f0891bef45f648079ba7 (patch)
tree9760002991bf6983078b49a63dff951e9560c4c6 /src/libcharon/encoding/parser.h
parentfac310a46718d72e4184217f3f40205599575cad (diff)
downloadstrongswan-42e0a317c64b1dfc2612f0891bef45f648079ba7.tar.bz2
strongswan-42e0a317c64b1dfc2612f0891bef45f648079ba7.tar.xz
ike: Only parse payloads valid for the current IKE version
Diffstat (limited to 'src/libcharon/encoding/parser.h')
-rw-r--r--src/libcharon/encoding/parser.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libcharon/encoding/parser.h b/src/libcharon/encoding/parser.h
index 27c5f03fe..5fd3e86ee 100644
--- a/src/libcharon/encoding/parser.h
+++ b/src/libcharon/encoding/parser.h
@@ -29,7 +29,7 @@ typedef struct parser_t parser_t;
#include <encoding/payloads/payload.h>
/**
- * A parser_t class to parse IKEv2 payloads.
+ * A parser_t class to parse IKE payloads.
*
* A parser is used for parsing one chunk of data. Multiple
* payloads can be parsed out of the chunk using parse_payload.
@@ -50,7 +50,8 @@ struct parser_t {
* - SUCCESSFUL if succeeded,
* - PARSE_ERROR if corrupted/invalid data found
*/
- status_t (*parse_payload) (parser_t *this, payload_type_t payload_type, payload_t **payload);
+ status_t (*parse_payload) (parser_t *this, payload_type_t payload_type,
+ payload_t **payload);
/**
* Gets the remaining byte count which is not currently parsed.
@@ -63,6 +64,13 @@ struct parser_t {
void (*reset_context) (parser_t *this);
/**
+ * Set the major IKE version.
+ *
+ * @param major_version the major IKE version
+ */
+ void (*set_major_version) (parser_t *this, u_int8_t major_version);
+
+ /**
* Destroys a parser_t object.
*/
void (*destroy) (parser_t *this);