Author: cmihail
Date: Tue May 24 18:05:51 2011
New Revision: 51889
URL:
http://svn.reactos.org/svn/reactos?rev=51889&view=rev
Log:
[TCPIP]
Fixed an error in the accepting code (in rostcp.c line 576). tcp_accepted was being called
for the wrong pcb. Instead of the pcb belonging to the listening socket it was being
called for the pcb belonging to the newly created connection socket. In order to fix this
I added an extra field to the tcp_pcb structure to hold a reference to the listening
socket. This is a crude method and it will be replaced by something more elegant.
Right now however there's a slight nondeterminism regarding the connection. One
it's established the message either gets through to the other side or not, randomly.
This could be due to a race condition of some sorts.
Also another problem is that the server side brings down the system when closing.
Modified:
branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/connect.c
branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/listen.c
branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/main.c
branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/include/debug.h
branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/dispatch.c
branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/main.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/accept.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/event.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/if.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/tcp.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp_in.c
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/arch/cc.h
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/debug.h
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/tcp.h
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwipopts.h
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/rostcp.c
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/connect.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/n…
Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/listen.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/n…
Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/main.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/n…
Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/include/debug.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/n…
Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/dispatch.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/n…
Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/main.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/n…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/accept.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/event.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/if.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/tcp.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp_in.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/arch/cc.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/debug.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/tcp.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwipopts.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…
Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/rostcp.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drive…