Skip to content
Snippets Groups Projects
Commit a856bc0b authored by Michael Tüxen's avatar Michael Tüxen
Browse files

Get SCTP/IPv6 working on Linux.

This disables the IPv6 payload length check for now, similar to the
hack for IPv4. Will add a fix later.
parent 986043b6
No related branches found
No related tags found
No related merge requests found
...@@ -980,8 +980,8 @@ static int verify_ipv4( ...@@ -980,8 +980,8 @@ static int verify_ipv4(
case IPPROTO_TCP: case IPPROTO_TCP:
if (check_field("ipv4_total_length", if (check_field("ipv4_total_length",
(ntohs(script_ipv4->tot_len) + (ntohs(script_ipv4->tot_len) +
tcp_options_allowance(actual_packet, tcp_options_allowance(actual_packet,
script_packet)), script_packet)),
ntohs(actual_ipv4->tot_len), error)) ntohs(actual_ipv4->tot_len), error))
return STATUS_ERR; return STATUS_ERR;
break; break;
...@@ -1014,15 +1014,29 @@ static int verify_ipv6( ...@@ -1014,15 +1014,29 @@ static int verify_ipv6(
if (check_field("ipv6_version", if (check_field("ipv6_version",
script_ipv6->version, script_ipv6->version,
actual_ipv6->version, error) || actual_ipv6->version, error) ||
check_field("ipv6_payload_len",
(ntohs(script_ipv6->payload_len) +
tcp_options_allowance(actual_packet,
script_packet)),
ntohs(actual_ipv6->payload_len), error) ||
check_field("ipv6_next_header", check_field("ipv6_next_header",
script_ipv6->next_header, script_ipv6->next_header,
actual_ipv6->next_header, error)) actual_ipv6->next_header, error))
return STATUS_ERR; return STATUS_ERR;
switch (script_ipv6->next_header) {
case IPPROTO_SCTP:
/* FIXME */
break;
case IPPROTO_TCP:
if (check_field("ipv6_payload_len",
(ntohs(script_ipv6->payload_len) +
tcp_options_allowance(actual_packet,
script_packet)),
ntohs(actual_ipv6->payload_len), error))
return STATUS_ERR;
break;
default:
if (check_field("ipv6_payload_len",
ntohs(script_ipv6->payload_len),
ntohs(actual_ipv6->payload_len), error))
return STATUS_ERR;
break;
}
if (verify_outbound_live_ecn(script_packet->ecn, if (verify_outbound_live_ecn(script_packet->ecn,
ipv6_ecn_bits(actual_ipv6), ipv6_ecn_bits(actual_ipv6),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment