mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 08:43:19 -04:00
Fix issue where shutdown(socket, SHUT_RD) was effectively
ignored for TCP sockets. NetBSD PR: 18185 Submitted by: Sean Boudreau <seanb@qnx.com> MFC after: 3 days
This commit is contained in:
parent
8c6bc30900
commit
c1c36a2c68
2 changed files with 20 additions and 6 deletions
|
|
@ -1057,8 +1057,12 @@ after_listen:
|
|||
/*
|
||||
* Add data to socket buffer.
|
||||
*/
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE) {
|
||||
m_freem(m);
|
||||
} else {
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
}
|
||||
sorwakeup(so);
|
||||
if (DELAY_ACK(tp)) {
|
||||
callout_reset(tp->tt_delack, tcp_delacktime,
|
||||
|
|
@ -2086,7 +2090,10 @@ dodata: /* XXX */
|
|||
tcpstat.tcps_rcvpack++;
|
||||
tcpstat.tcps_rcvbyte += tlen;
|
||||
ND6_HINT(tp);
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE)
|
||||
m_freem(m);
|
||||
else
|
||||
sbappend(&so->so_rcv, m);
|
||||
sorwakeup(so);
|
||||
} else {
|
||||
thflags = tcp_reass(tp, th, &tlen, m);
|
||||
|
|
|
|||
|
|
@ -1057,8 +1057,12 @@ after_listen:
|
|||
/*
|
||||
* Add data to socket buffer.
|
||||
*/
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE) {
|
||||
m_freem(m);
|
||||
} else {
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
}
|
||||
sorwakeup(so);
|
||||
if (DELAY_ACK(tp)) {
|
||||
callout_reset(tp->tt_delack, tcp_delacktime,
|
||||
|
|
@ -2086,7 +2090,10 @@ dodata: /* XXX */
|
|||
tcpstat.tcps_rcvpack++;
|
||||
tcpstat.tcps_rcvbyte += tlen;
|
||||
ND6_HINT(tp);
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE)
|
||||
m_freem(m);
|
||||
else
|
||||
sbappend(&so->so_rcv, m);
|
||||
sorwakeup(so);
|
||||
} else {
|
||||
thflags = tcp_reass(tp, th, &tlen, m);
|
||||
|
|
|
|||
Loading…
Reference in a new issue