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]
Message-ID: <17775.11557.674203.172383@smtp.charter.net>
Date:	Thu, 30 Nov 2006 14:12:37 -0500
From:	"John Stoffel" <john@...ffel.org>
To:	"Matt Garman" <matthew.garman@...il.com>
Cc:	"Phillip Susi" <psusi@....rr.com>, linux-kernel@...r.kernel.org
Subject: Re: What happened to CONFIG_TCP_NAGLE_OFF?

>>>>> "Matt" == Matt Garman <matthew.garman@...il.com> writes:

Matt> On 11/29/06, Phillip Susi <psusi@....rr.com> wrote:
>> > How might I achieve having TCP_NODELAY effectively set for all sockets
>> > (by default)?  Is there a new/different kernel config option, a patch,
>> > a sysctl or proc setting?  Or can I "fake" this behavior by, e.g.
>> > setting a send buffer sufficiently small?
>> 
>> This is a bad idea and breaks api compatibility.  Nagle is very
>> important for sockets being used for things like telnet.  Other
>> applications, like ftp, should already disable nagle themselves.

Matt> I don't want to change the API at all.  I'm using a
Matt> closed-source, 3rd party library.  Using strace, I can see that
Matt> the library does *not* do a setsockopt(...TCP_NODELAY...) on
Matt> opened sockets.  Since I can't change the library, I would like
Matt> to patch and/or configure my kernel so that all TCP/IP sockets
Matt> default to TCP_NODELAY.

Can't you use the LD_PRELOAD trick to force your own custom library to
override the closed library, so that you can change the socket options
to be how you want them?

Wouldn't that be easier, and be less likely to screw up the whole
system?  

You could override the socket() call, so that you just pass through
all the parameters your library sets, and then you just put in your
own setsockopt() call on the socket, and return it as normal to the
library?  Hacky, but should do the trick if you're careful.

John
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ