lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 16 Apr 2007 16:30:31 -0700
From:	Stephen Hemminger <shemminger@...ux-foundation.org>
To:	Sebastian Kuzminsky <seb@...hlab.com>
Cc:	netdev@...r.kernel.org
Subject: Re: bug in tcp?

On Mon, 16 Apr 2007 17:05:42 -0600
Sebastian Kuzminsky <seb@...hlab.com> wrote:

> Stephen Hemminger <shemminger@...ux-foundation.org> wrote:
> > On Mon, 16 Apr 2007 16:28:22 -0600
> > Sebastian Kuzminsky <seb@...hlab.com> wrote:
> > 
> > > I'm seeing some weird behavior in TCP.  The issue is perfectly
> > > reproducible using netcat and other programs.  This is what I do:
> > > 
> > >     1.  Open a TCP connection over the loopback (over IPv4).
> > > 
> > >     2.  Send a couple of bytes of data each way.  No problems.
> > > 
> > >     3.  Wait about 120 hours with no writes on either side of the
> > >         connection.
> > > 
> > >     4.  write() a few bytes to the server's socket.  I'd expect the data
> > >         to go through, but it doesnt.  I see the TCP frame from the
> > >         server to the client, but instead of an ACK, the client sends
> > >         back a RST.  netstat shows the bytes sitting in the server's
> > >         socket's send-buffer.
> > > 
> > >     5.  write a few bytes to the client's socket.  The server gets
> > >         these immediately.
> > > 
> > >     6.  On the next server-to-client retransmit, the client gets the
> > >         bytes from the server.  After this, the connection works normally.
> > > 
> > > 
> > > The libpcap capture file is here (only shows steps 4-6):
> > > 
> > >     http://highlab.com/~seb/tcp-idleness-bug
> > > 
> > > 
> > > The behavior is reproducible on all kernels I've tried: 2.4.32, 2.6.19.1,
> > > and 2.6.20.4.  I dont think it's iptables-related, though I'm rerunning
> > > the tests on a machine without iptables to be sure.  I'll have results
> > > for you in 120 hours.  ;-)
> > > 
> > > 
> > 
> > What server? Some servers do application timeouts.
> 
> I've observed the behavior with the server mode of nc, and with a homebrew
> application which does not do app-level timeouts.
> 
> But anyway, application timeouts wouldnt explain the described behavior,
> afaik.

A guess: maybe something related to a PAWS wraparound problem.
Does turning off sysctl net.ipv4.tcp_timestamps fix it?

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ