VirtualBox

Changeset 51727 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
Jun 26, 2014 2:05:12 AM (11 years ago)
Author:
vboxsync
Message:

NAT: Fix edito introduced in r39462 - TF_ACKNOW should be set in
tp->t_flags (pcb flags) not tiflags (TCP header flags). TF_ACKNOW
happens to have the same numeric value as TH_FIN, so the rest of the
function was tricked into thinking we did get a datagram with FIN set.

Due to fortunate numerology it would almost never affect anything, but
with inbound direction half-closed it does affect behaviour: it makes
pcb transition from FIN_WAIT_2 to TIME_WAIT, acking the non-existing
FIN and confusing the peer, that would get an ACK one greater than it
would expect.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/tcp_input.c

    r44528 r51727  
    15971597        {
    15981598            tiflags = tcp_reass(pData, tp, &ti->ti_t, &tlen, m);
    1599             tiflags |= TF_ACKNOW;
     1599            tp->t_flags |= TF_ACKNOW;
    16001600        }
    16011601        /*
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette