ID_IPV4_ADDR and ID_IPV6_ADDR cases added to get_ts

This commit is contained in:
Clavister OpenSource 2011-12-05 12:48:14 +01:00
parent 8c583c110e
commit 8a9ab2035f
1 changed files with 18 additions and 0 deletions

18
src/libcharon/encoding/payloads/id_payload.c Normal file → Executable file
View File

@ -299,6 +299,24 @@ METHOD(id_payload_t, get_ts, traffic_selector_t*,
return get_ts_from_range(this, TS_IPV6_ADDR_RANGE);
}
break;
case ID_IPV4_ADDR:
{
if (this->id_data.len == 4)
{
return traffic_selector_create_from_bytes(this->protocol_id,
TS_IPV4_ADDR_RANGE, this->id_data, this->port,
this->id_data, this->port ?: 65535);
}
}
case ID_IPV6_ADDR:
{
if (this->id_data.len == 16)
{
return traffic_selector_create_from_bytes(this->protocol_id,
TS_IPV4_ADDR_RANGE, this->id_data, this->port,
this->id_data, this->port ?: 65535);
}
}
default:
break;
}