Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_input.c
Show First 20 Lines • Show All 2,309 Lines • ▼ Show 20 Lines | else { | ||||
th->th_urp = 0; | th->th_urp = 0; | ||||
} | } | ||||
} | } | ||||
/* | /* | ||||
* If new data are received on a connection after the | * If new data are received on a connection after the | ||||
* user processes are gone, then RST the other end. | * user processes are gone, then RST the other end. | ||||
*/ | */ | ||||
if ((so->so_state & SS_NOFDREF) && | if ((tp->t_flags & TF_CLOSED) && tlen) { | ||||
tp->t_state > TCPS_CLOSE_WAIT && tlen) { | |||||
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { | if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { | ||||
log(LOG_DEBUG, "%s; %s: %s: Received %d bytes of data " | log(LOG_DEBUG, "%s; %s: %s: Received %d bytes of data " | ||||
"after socket was closed, " | "after socket was closed, " | ||||
"sending RST and removing tcpcb\n", | "sending RST and removing tcpcb\n", | ||||
s, __func__, tcpstates[tp->t_state], tlen); | s, __func__, tcpstates[tp->t_state], tlen); | ||||
free(s, M_TCPLOG); | free(s, M_TCPLOG); | ||||
} | } | ||||
tp = tcp_close(tp); | tp = tcp_close(tp); | ||||
▲ Show 20 Lines • Show All 1,746 Lines • Show Last 20 Lines |