diff options
author | tuexen <tuexen@FreeBSD.org> | 2009-08-15 21:10:52 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2009-08-15 21:10:52 +0000 |
commit | ef372dbfb6d9a094ce850ec82b25a162727ed45b (patch) | |
tree | ef6e9b55aa7950e3d1aaad64652c4b08594450a2 /sys/netinet/sctp_timer.c | |
parent | 38b19229005fffeb77983ebf0cc00d252f9a8e77 (diff) | |
download | FreeBSD-src-ef372dbfb6d9a094ce850ec82b25a162727ed45b.zip FreeBSD-src-ef372dbfb6d9a094ce850ec82b25a162727ed45b.tar.gz |
* Fix a bug where PR-SCTP settings are ignore when using implicit
association setup.
* Fix a bug where message with illegal stream ids are not deleted.
* Fix a crash when reporting back unsent messages from the send_queue.
* Fix a bug related to INIT retransmission when the socket is already
closed.
* Fix a bug where associations were stalled when partial delivery API
was enabled.
* Fix a bug where the receive buffer size was smaller than the
partial_delivery_point.
Approved by: re, rrs (mentor)
MFC after: One day.
Diffstat (limited to 'sys/netinet/sctp_timer.c')
-rw-r--r-- | sys/netinet/sctp_timer.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/sctp_timer.c b/sys/netinet/sctp_timer.c index 477c0b1..b40ef50 100644 --- a/sys/netinet/sctp_timer.c +++ b/sys/netinet/sctp_timer.c @@ -588,7 +588,7 @@ sctp_recover_sent_list(struct sctp_tcb *stcb) /* sa_ignore NO_NULL_CHK */ sctp_free_bufspace(stcb, asoc, chk, 1); sctp_m_freem(chk->data); - if (PR_SCTP_BUF_ENABLED(chk->flags)) { + if (asoc->peer_supports_prsctp && PR_SCTP_BUF_ENABLED(chk->flags)) { asoc->sent_queue_cnt_removeable--; } } @@ -757,7 +757,7 @@ start_again: continue; } } - if (PR_SCTP_TTL_ENABLED(chk->flags)) { + if (stcb->asoc.peer_supports_prsctp && PR_SCTP_TTL_ENABLED(chk->flags)) { /* Is it expired? */ if ((now.tv_sec > chk->rec.data.timetodrop.tv_sec) || ((chk->rec.data.timetodrop.tv_sec == now.tv_sec) && @@ -772,7 +772,7 @@ start_again: continue; } } - if (PR_SCTP_RTX_ENABLED(chk->flags)) { + if (stcb->asoc.peer_supports_prsctp && PR_SCTP_RTX_ENABLED(chk->flags)) { /* Has it been retransmitted tv_sec times? */ if (chk->snd_count > chk->rec.data.timetodrop.tv_sec) { if (chk->data) { |