aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/encoding/parser.c
diff options
context:
space:
mode:
authorJan Hutter <jhutter@hsr.ch>2005-12-05 18:56:22 +0000
committerJan Hutter <jhutter@hsr.ch>2005-12-05 18:56:22 +0000
commitc81eb6e77ca17136ddff82fe93433007f9b93681 (patch)
treed299af38a1439fe661c43ef4bce5a1dd2cced262 /Source/charon/encoding/parser.c
parent7ba3f707df54449e3119fb50e684862898aa998c (diff)
downloadstrongswan-c81eb6e77ca17136ddff82fe93433007f9b93681.tar.bz2
strongswan-c81eb6e77ca17136ddff82fe93433007f9b93681.tar.xz
- Implemented and tested eap_payload_t
Diffstat (limited to 'Source/charon/encoding/parser.c')
-rw-r--r--Source/charon/encoding/parser.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/charon/encoding/parser.c b/Source/charon/encoding/parser.c
index b1308cf87..e3d7fa8c5 100644
--- a/Source/charon/encoding/parser.c
+++ b/Source/charon/encoding/parser.c
@@ -50,6 +50,7 @@
#include <encoding/payloads/vendor_id_payload.h>
#include <encoding/payloads/cp_payload.h>
#include <encoding/payloads/configuration_attribute.h>
+#include <encoding/payloads/eap_payload.h>
typedef struct private_parser_t private_parser_t;
@@ -873,6 +874,16 @@ static status_t parse_payload(private_parser_t *this, payload_type_t payload_typ
}
break;
}
+ case EAP_MESSAGE:
+ {
+ size_t data_length = payload_length - EAP_PAYLOAD_HEADER_LENGTH;
+ if (this->parse_chunk(this, rule_number, output + rule->offset, data_length) != SUCCESS)
+ {
+ pld->destroy(pld);
+ return PARSE_ERROR;
+ }
+ break;
+ }
case SPIS:
{
size_t data_length = payload_length - DELETE_PAYLOAD_HEADER_LENGTH;