if (ssn->flags & STREAMTCP_FLAG_MIDSTREAM) {
ssn->server.window = TCP_GET_WINDOW(p);
- ssn->client.next_win = ssn->server.last_ack +
- ssn->server.window;
+ ssn->server.next_win = ssn->server.last_ack + ssn->server.window;
/* window scaling for midstream pickups, we can't do much
* other than assume that it's set to the max value: 14 */
ssn->server.wscale = TCP_WSCALE_MAX;
SCReturnInt(0);
}
+ /* no further checks possible for ASYNC */
+ if ((ssn->flags & STREAMTCP_FLAG_ASYNC) != 0) {
+ SCReturnInt(0);
+ }
+
if (ssn->state > TCP_SYN_SENT && SEQ_GT(ack, stream->next_win)) {
SCLogDebug("ACK %"PRIu32" is after next_win %"PRIu32, ack, stream->next_win);
goto invalid;