lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #25622] Lack of return code checks in tcp_listen_input


From: Dave Wilson
Subject: [lwip-devel] [bug #25622] Lack of return code checks in tcp_listen_input can cause incoming connections to become blocked.
Date: Wed, 18 Feb 2009 17:22:06 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6

Follow-up Comment #1, bug #25622 (project lwip):

After some more testing, it appears that the extraneous RST sent in response
to a SYN during the failure scenario is not such a good thing since it messes
up Safari on Mac (but not Firefox, IE or Safari on Windows). I've reworked the
code again to allow the PCB to be abandoned without sending a RST, thus
leaving the system waiting for a retransmit of the original SYN segment. New
files are attached in a ZIP file.

Change summary:
1. Add new function tcp_abandon() to tcp.c. This is tcp_abort() with a
parameter determining whether or not RST should be sent.
2. Rework tcp_abort() to call tcp_abandon().
3. Rework tcp_listen_input() in tcp_in.c to call tcp_abandon() with send_rst
set to 0.

This solves the problem for all browsers tested so far - IE/Firefox/Safari on
Windows, Firefox and Safari on Mac (though I am still working on another
failure scenario involving missing retransmits from lwIP despite correct ACK
behaviour from the remote host).

(file #17478)
    _______________________________________________________

Additional Item Attachment:

File name: lwip_tcp.zip                   Size:30 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?25622>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]