diff options
author | Tobias Brunner <tobias@strongswan.org> | 2011-11-21 11:53:23 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-03-20 17:30:46 +0100 |
commit | 6f5f8ee4b59484e15cc1cba356cfe37b6c4a9c23 (patch) | |
tree | 07edc7d81faa70708c850b312faf9d4e07834cbf /src/libcharon/encoding/parser.c | |
parent | 0463674971183a72dcc5923e26ff21c7a6a4efed (diff) | |
download | strongswan-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.c | 10 |
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)) |