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

Bugfix: Get SUPPORTED_ADDRESS_TYPES[types=...] working.

parent 8ccf33c1
No related branches found
No related tags found
No related merge requests found
......@@ -313,7 +313,7 @@ sctp_init_chunk_new(s64 flgs, s64 tag, s64 a_rwnd, s64 os, s64 is, s64 tsn,
item->length + parameter_padding_length);
free(item->parameter);
item->parameter = (struct sctp_parameter *)(chunk->parameter + offset);
if (item->flags == FLAG_PARAMETER_LENGTH_NOCHECK) {
if (item->flags & FLAG_PARAMETER_LENGTH_NOCHECK) {
flags |= FLAG_CHUNK_LENGTH_NOCHECK;
}
offset += item->length + parameter_padding_length;
......@@ -386,7 +386,7 @@ sctp_init_ack_chunk_new(s64 flgs, s64 tag, s64 a_rwnd, s64 os, s64 is, s64 tsn,
item->length + parameter_padding_length);
free(item->parameter);
item->parameter = (struct sctp_parameter *)(chunk->parameter + offset);
if (item->flags == FLAG_PARAMETER_LENGTH_NOCHECK) {
if (item->flags & FLAG_PARAMETER_LENGTH_NOCHECK) {
flags |= FLAG_CHUNK_LENGTH_NOCHECK;
}
offset += item->length + parameter_padding_length;
......@@ -1155,7 +1155,10 @@ sctp_supported_address_types_parameter_new(struct sctp_address_type_list *list)
flags = 0;
parameter_length = sizeof(struct sctp_supported_address_types_parameter);
if (list != NULL) {
if (list == NULL) {
flags |= FLAG_PARAMETER_LENGTH_NOCHECK;
flags |= FLAG_PARAMETER_VALUE_NOCHECK;
} else {
assert(list->nr_entries <=
(MAX_SCTP_PARAMETER_BYTES - sizeof(struct sctp_supported_address_types_parameter)) / sizeof(u16));
parameter_length += list->nr_entries * sizeof(u16);
......
......@@ -10,7 +10,7 @@
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
// Check the handshake with an empty(!) cookie
+0.1 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0.0 > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=0, ECN_CAPABLE[], SUPPORTED_ADDRESS_TYPES[types=[IPv4]]]
+0.0 > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=0, ECN_CAPABLE[], SUPPORTED_ADDRESS_TYPES[types=...]]
+0.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=1, is=1, tsn=3, STATE_COOKIE[len=4, val=...], SUPPORTED_ADDRESS_TYPES[types=[IPv4]]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
......
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