Michael Tuexen
53999485e0
Free the control structure after using is, not before.
...
Found by Coverity while scanning the usrsctp library.
MFC after: 1 week
2017-09-21 09:47:56 +00:00
Michael Tuexen
d0d8c7de19
No need to wakeup, since sctp_add_to_readq() does it.
...
MFC after: 1 week
2017-09-21 09:18:05 +00:00
Michael Tuexen
ad608f06ed
Remove a no longer used variable.
...
Reported by: Felix Weinrank
MFC after: 1 week
2017-09-19 15:00:19 +00:00
Michael Tuexen
72e23aba22
Fix an accounting bug and use sctp_timer_start to start a timer.
...
MFC after: 1 week
2017-09-17 09:27:27 +00:00
Michael Tuexen
e5a9c519bc
Remove duplicate statement.
2017-07-25 11:05:53 +00:00
Michael Tuexen
bbc9dfbc08
Fix the explicit EOR mode. If the final messages is not complete, send
...
an ABORT.
Joint work with rrs@
MFC after: 1 week
2017-07-20 11:09:33 +00:00
Michael Tuexen
1f76872c36
Avoid shadowed variables.
...
MFC after: 1 week
2017-07-19 15:12:23 +00:00
Michael Tuexen
28cd0699b6
Fix the accounting and add code to detect errors in accounting.
...
Joint work with rrs@
MFC after: 1 week
2017-07-19 12:27:40 +00:00
Michael Tuexen
b7b84c0e02
Whitespace changes.
...
The toolchain for processing the sources has been updated. No functional
change.
MFC after: 3 days
2016-12-26 11:06:41 +00:00
Michael Tuexen
3d6fe5d84c
Fix the handling of buffered messages in stream reset deferred handling.
...
Thanks to Eugen-Andrei Gavriloaie for reporting the issue and providing
substantial help in nailing down the issue.
MFC after: 1 week
2016-12-17 22:31:30 +00:00
Michael Tuexen
8b9c95f4a9
Ensure that the reported ppid and tsn are taken from the first fragment.
...
This fixes a bug where the wrong ppid was reported, if
* I-DATA was used on the first fragement was not received first
* DATA was used and different ppids where used.
Thanks to Julian Cordes for making me aware of the issue.
MFC after: 1 week
2016-12-11 13:26:35 +00:00
Michael Tuexen
ebecdad811
Don't bundle a SACK chunk with a SHUTDOWN chunk if it is not required.
...
MFC after: 1 week
2016-12-09 17:58:07 +00:00
Michael Tuexen
49656eefc8
Cleanup the names of SSN, SID, TSN, FSN, PPID and MID.
...
This made a couple of bugs visible in handling SSN wrap-arounds
when using DATA chunks. Now bulk transfer seems to work fine...
This fixes the issue reported in
https://github.com/sctplab/usrsctp/issues/111
MFC after: 1 week
2016-12-07 19:30:59 +00:00
Michael Tuexen
5b495f17a5
Whitespace changes.
...
The tools using to generate the sources has been updated and produces
different whitespaces. Commit this seperately to avoid intermixing
these with real code changes.
MFC after: 3 days
2016-12-06 10:21:25 +00:00
Michael Tuexen
5cb9165556
Fix the handling of unordered fragmented user messages using DATA chunks.
...
There were two bugs:
* There was an accounting bug resulting in reporting a too small a_rwnd.
* There are a bug when abandoning messages in the reassembly queue.
MFC after: 4 weeks
2016-09-21 08:28:18 +00:00
Michael Tuexen
be46a7c54d
Improve a consistency check to not detect valid cases for
...
unordered user messages using DATA chunks as invalid ones.
While there, ensure that error causes are provided when
sending ABORT chunks in case of reassembly problems detected.
Thanks to Taylor Brandstetter for making me aware of this problem.
MFC after: 3 days
2016-08-10 17:19:33 +00:00
Michael Tuexen
d1ea5fa9c2
Fix various bugs in relation to the I-DATA chunk support
...
This is joint work with rrs.
MFC after: 3 days
2016-08-06 12:33:15 +00:00
Michael Tuexen
0fa7377a03
Use correct order of conditions to avoid NULL deref.
...
MFC after: 3 days
X-MFC with: r302935
2016-07-19 11:16:44 +00:00
Michael Tuexen
8e1b295f09
Fix the PR-SCTP behaviour.
...
This is done by rrs@.
MFC after: 3 days
2016-07-17 13:14:51 +00:00
Michael Tuexen
26f0250adf
Add missing sctps_reasmusrmsgs counter.
...
Joint work with rrs@.
MFC after: 3 days
2016-07-17 08:31:21 +00:00
Michael Tuexen
643fd575da
Deal with a portential memory allocation failure, which was reported
...
by the clang static code analyzer.
Joint work with rrs@.
MFC after: 3 days
2016-07-16 12:25:37 +00:00
Michael Tuexen
b4bf72213a
Don't free a data chunk twice.
...
Found by the clang static code analyzer running for the userland stack.
MFC after: 3 days
2016-07-16 08:11:43 +00:00
Michael Tuexen
574679afe9
Fix a locking bug which only shows up on Mac OS X.
...
MFC after: 1 week
2016-05-14 13:44:49 +00:00
Michael Tuexen
fd60718d17
Retire net.inet.sctp.strict_sacks and net.inet.sctp.strict_data_order
...
sysctl's, since they where only there to interop with non-conformant
implementations. This should not be a problem anymore.
2016-05-12 16:34:59 +00:00
Michael Tuexen
e7f232a0db
Use a format string in snprintf() for consistency.
...
This was reported by Radek Malcic when using the userland stack in
combination with MinGW.
MFC after: 1 week
2016-05-12 14:41:53 +00:00
Michael Tuexen
afd6748258
Undo a spell fix introduced in r298942, which breaks compilation.
2016-05-02 21:23:05 +00:00
Pedro F. Giffuni
cd0a4ff6a5
netinet/sctp*: minor spelling fixes in comments.
...
No functional change.
Reviewed by: tuexen
2016-05-02 20:56:11 +00:00
Michael Tuexen
c09a15342a
Don't use the control argument after calling sctp_add_to_readq().
...
This breaks the userland stack. There should be no functional change
for the FreeBSD kernel stack.
While there, use consistent variable nameing.
2016-04-27 18:58:47 +00:00
Michael Tuexen
b1deed45e6
Address issues found by the XCode code analyzer.
2016-04-18 20:16:41 +00:00
Michael Tuexen
f8ee69bf81
Fix signed/unsigned warnings.
2016-04-18 11:39:41 +00:00
Michael Tuexen
a39ddef038
Fix a warning about an unused variable.
2016-04-18 09:39:46 +00:00
Michael Tuexen
98d5fd976b
Put panic() calls under INVARIANTS.
2016-04-18 09:29:14 +00:00
Michael Tuexen
f2ea2a2d5f
Cleanup debug output.
2016-04-18 06:58:07 +00:00
Michael Tuexen
e187bac213
Don't use anonymous unions.
2016-04-18 06:38:53 +00:00
Randall Stewart
44249214d3
This is work done by Michael Tuexen and myself at the IETF. This
...
adds the new I-Data (Interleaved Data) message. This allows a user
to be able to have complete freedom from Head Of Line blocking that
was previously there due to the in-ability to send multiple large
messages without the TSN's being in sequence. The code as been
tested with Michaels various packet drill scripts as well as
inter-networking between the IETF's location in Argentina and Germany.
2016-04-07 09:10:34 +00:00
Michael Tuexen
9a8e308861
Improve compilation on windows 64-bit (for the userland stack).
...
MFC after: 1 week
2016-03-27 10:04:25 +00:00
Michael Tuexen
ed65436366
Add const to several constants. Thanks to Nicholas Nethercote for
...
providing the patch via
https://bugzilla.mozilla.org/show_bug.cgi?id=1255655
MFC after: 1 week
2016-03-23 13:28:04 +00:00
Michael Tuexen
fe4a59b30a
Stop processing of a SACK when the association has been aborted.
...
MFC after: 3 days
2015-12-21 18:52:02 +00:00
Michael Tuexen
d96bef9c77
Ensure that outgoing streams get reset when they run dry.
...
MFC after: 1 week
2015-12-03 15:19:29 +00:00
Michael Tuexen
0bfc52bea5
Use the correct length. The wrong one was too large.
...
MFC after: 3 days
2015-11-06 22:08:05 +00:00
Michael Tuexen
b70b526d17
Fix typos in field names of struct sctp_extrcvinfo.
...
Provide defines to allow applications to compile.
Thanks to Jens Hoelscher for making me aware of the typos.
MFC after: 1 week
2015-11-06 13:08:16 +00:00
Michael Tuexen
86eda749af
Cleanup the handling of error causes for ERROR chunks. This fixes
...
an inconsistency of the padding handling. The final padding is
now considered to be a chunk padding.
MFC after: 1 week
2015-09-12 17:08:51 +00:00
Michael Tuexen
e629b9fc56
Ensure that ERROR chunks are always padded by implementing this
...
in the routine, which queues an ERROR chunk, instead on relyinh
on the callers to do so. Since one caller missed this, this actially
fixes a bug.
MFC after: 1 week
2015-09-11 13:54:33 +00:00
Michael Tuexen
e7e71dd7f3
Don't take the port numbers for packets containing ABORT chunks from
...
a freed mbuf. Just use them from the stcb.
MFC after: 3 days
2015-08-02 16:07:30 +00:00
Michael Tuexen
9ae56375af
Fix a typo reported by Erik Cederstrand.
...
MFC after: 1 week
2015-07-28 08:50:13 +00:00
Michael Tuexen
267dbe63a1
Provide consistent error causes whenever an ABORT chunk is sent.
...
MFC after: 1 week
2015-07-27 22:35:54 +00:00
Michael Tuexen
cf9e47b2f0
Improve locking on Mac OS X. This does not change the functionality
...
on FreeBSD.
Reviewed by: rrs
MFC after: 1 week
2015-07-26 10:37:40 +00:00
Michael Tuexen
6247db3541
Fix and improve a debug message. The SID was reported as an SSN.
...
MFC after: 1 week
2015-07-26 10:17:17 +00:00
Randall Stewart
7cca17758c
Fix several problems with Stream Reset.
...
1) We were not handling (or sending) the IN_PROGRESS case if
the other side (or our side) was not able to reset (awaiting more data).
2) We would improperly send a stream-reset when we should not. Not
waiting until the TSN had been assigned when data was inqueue.
Reviewed by: tuexen
2015-07-22 11:30:37 +00:00
Michael Tuexen
b7d130befc
Fix and cleanup the debug information. This has no user-visible changes.
...
Thanks to Irene Ruengeler for proving a patch.
MFC after: 3 days
2015-05-28 16:00:23 +00:00