summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_timer.c
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2009-08-15 21:10:52 +0000
committertuexen <tuexen@FreeBSD.org>2009-08-15 21:10:52 +0000
commitef372dbfb6d9a094ce850ec82b25a162727ed45b (patch)
treeef6e9b55aa7950e3d1aaad64652c4b08594450a2 /sys/netinet/sctp_timer.c
parent38b19229005fffeb77983ebf0cc00d252f9a8e77 (diff)
downloadFreeBSD-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.c6
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) {
OpenPOWER on IntegriCloud