[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] TCP FIN problem.
From: |
Kieran Mansley |
Subject: |
Re: [lwip-devel] TCP FIN problem. |
Date: |
Fri, 03 Oct 2008 14:08:28 +0100 |
On Fri, 2008-10-03 at 14:02 +0100, David Woodhouse wrote:
> On Fri, 2008-10-03 at 13:43 +0100, Kieran Mansley wrote:
> > On Fri, 2008-10-03 at 13:30 +0100, David Woodhouse wrote:
> > > When I have the default 'outgoing connections only' firewall enabled on
> > > Fedora, and I telnet into the simhost and then type 'quit', the
> > > connection doesn't seem to get closed.
> >
> > Can you get a pcap file for this that I can load into wireshark to have
> > a closer look?
>
> Looks like pcb->rcv_nxt is being cleared to zero, in tcp_accept().
> Slightly confused, debugging further...
I'd bet that there's a difference between "struct tcp_pcb" and "struct
tcp_pcb_listen" on a 64 bit build that means casting between them isn't
valid. This is deliberately OK on a 32 bit build, but perhaps the
structure fields get a different layout with padding on a 64 bit build,
and so when the accept field in the pcb is referenced (after the cast in
tcp_accept() to struct tcp_pcb_listen) it's writing to the rcv_nxt
field.
Kieran