diff options
author | Martin Willi <martin@revosec.ch> | 2010-11-10 14:17:03 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-01-05 16:45:43 +0100 |
commit | b6c796464d625b192fcdafe19e13f115cfb95c46 (patch) | |
tree | b851497df7497043880f4da92339d13559c07d6a /src/libcharon/encoding/payloads/unknown_payload.c | |
parent | 9431023ce61868338d1072cce5e0410b3a700703 (diff) | |
download | strongswan-b6c796464d625b192fcdafe19e13f115cfb95c46.tar.bz2 strongswan-b6c796464d625b192fcdafe19e13f115cfb95c46.tar.xz |
Use the payloads actual type in unknown_payload_t
Diffstat (limited to 'src/libcharon/encoding/payloads/unknown_payload.c')
-rw-r--r-- | src/libcharon/encoding/payloads/unknown_payload.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libcharon/encoding/payloads/unknown_payload.c b/src/libcharon/encoding/payloads/unknown_payload.c index 06e5754af..defc5d361 100644 --- a/src/libcharon/encoding/payloads/unknown_payload.c +++ b/src/libcharon/encoding/payloads/unknown_payload.c @@ -31,6 +31,11 @@ struct private_unknown_payload_t { unknown_payload_t public; /** + * Type of this payload + */ + payload_type_t type; + + /** * Next payload type. */ u_int8_t next_payload; @@ -105,7 +110,7 @@ METHOD(payload_t, get_encoding_rules, void, METHOD(payload_t, get_payload_type, payload_type_t, private_unknown_payload_t *this) { - return UNKNOWN_PAYLOAD; + return this->type; } METHOD(payload_t, get_next_type, payload_type_t, @@ -148,7 +153,7 @@ METHOD2(payload_t, unknown_payload_t, destroy, void, /* * Described in header */ -unknown_payload_t *unknown_payload_create() +unknown_payload_t *unknown_payload_create(payload_type_t type) { private_unknown_payload_t *this; @@ -169,6 +174,7 @@ unknown_payload_t *unknown_payload_create() }, .next_payload = NO_PAYLOAD, .payload_length = UNKNOWN_PAYLOAD_HEADER_LENGTH, + .type = type, ); return &this->public; |