aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/encoding/parser.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2011-11-21 11:53:23 +0100
committerTobias Brunner <tobias@strongswan.org>2012-03-20 17:30:46 +0100
commit6f5f8ee4b59484e15cc1cba356cfe37b6c4a9c23 (patch)
tree07edc7d81faa70708c850b312faf9d4e07834cbf /src/libcharon/encoding/parser.c
parent0463674971183a72dcc5923e26ff21c7a6a4efed (diff)
downloadstrongswan-6f5f8ee4b59484e15cc1cba356cfe37b6c4a9c23.tar.bz2
strongswan-6f5f8ee4b59484e15cc1cba356cfe37b6c4a9c23.tar.xz
Use modified encryption payload to encrypt/decrypt complete IKEv1 messages.
Diffstat (limited to 'src/libcharon/encoding/parser.c')
-rw-r--r--src/libcharon/encoding/parser.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libcharon/encoding/parser.c b/src/libcharon/encoding/parser.c
index 1a7f297da..b93651bbe 100644
--- a/src/libcharon/encoding/parser.c
+++ b/src/libcharon/encoding/parser.c
@@ -516,6 +516,16 @@ METHOD(parser_t, parse_payload, status_t,
}
break;
}
+ case ENCRYPTED_DATA:
+ {
+ if (!parse_chunk(this, rule_number, output + rule->offset,
+ this->input_roof - this->byte_pos))
+ {
+ pld->destroy(pld);
+ return PARSE_ERROR;
+ }
+ break;
+ }
case ATTRIBUTE_FORMAT:
{
if (!parse_bit(this, rule_number, output + rule->offset))