Fixed SPI size calculation in DELETE payload

This commit is contained in:
Martin Willi
2012-03-20 17:31:19 +01:00
parent 41fbde4544
commit 226b0f36c7
@@ -264,7 +264,6 @@ METHOD(delete_payload_t, add_spi, void,
case PROTO_ESP: case PROTO_ESP:
this->spi_count++; this->spi_count++;
this->payload_length += sizeof(spi); this->payload_length += sizeof(spi);
this->spi_size += sizeof(spi);
this->spis = chunk_cat("mc", this->spis, chunk_from_thing(spi)); this->spis = chunk_cat("mc", this->spis, chunk_from_thing(spi));
break; break;
default: default:
@@ -362,17 +361,17 @@ delete_payload_t *delete_payload_create(payload_type_t type,
); );
this->payload_length = get_header_length(this); this->payload_length = get_header_length(this);
if (type == DELETE_V1) if (protocol_id == PROTO_IKE)
{ {
if (protocol_id == PROTO_IKE) if (type == DELETE_V1)
{ {
this->spi_size = 16; this->spi_size = 16;
} }
else }
{ else
this->doi = IKEV1_DOI_IPSEC, {
this->spi_size = 4; this->doi = IKEV1_DOI_IPSEC,
} this->spi_size = 4;
} }
return &this->public; return &this->public;
} }