• Phil Sutter's avatar
    netfilter: SYNPROXY: fix sending window update to client · 3c16241c
    Phil Sutter authored
    Upon receipt of SYNACK from the server, ipt_SYNPROXY first sends back an ACK to
    finish the server handshake, then calls nf_ct_seqadj_init() to initiate
    sequence number adjustment of forwarded packets to the client and finally sends
    a window update to the client to unblock it's TX queue.
    
    Since synproxy_send_client_ack() does not set synproxy_send_tcp()'s nfct
    parameter, no sequence number adjustment happens and the client receives the
    window update with incorrect sequence number. Depending on client TCP
    implementation, this leads to a significant delay (until a window probe is
    being sent).
    Signed-off-by: default avatarPhil Sutter <phil@nwl.cc>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    3c16241c
ipt_SYNPROXY.c 12.4 KB