Hello, Daniel,

to continue the discussion started at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=348641
(and I've also added Nigel and Sammy to the CC):

> It sounds like you're suggesting that redir use TCP keepalive
> settings.

Yes.

> Have you considered using socat for your purposes?

At this point, I no longer need to solve that particular problem that I
used redir for. Should I ever have a problem like this again, and most
such problems I tend to solve these days do involve TCP keepalive, I
will strongly consider socat. Thank you for the suggestion!

But you're loosing a customer here... ;-)

> You may also be interested in libkeepalive:

In my opinion, libkeepalive somewhat of a temporary hack. Good to have
around in an emergency. But it definitely has a smell to it. But again,
thank you for pointing that out.

> Given these other options, if you still feel that this functionality
> belongs in redir, please followup here and we'll sort it out.

I take you on that offer: Yes. I still do feel that way.

Firstly, let me make a case that TCP-keepalive is useful.

For me, TCP connection redirection solves all kinds of little network
problems. In the consumer end of these day's internet, dynamic IP is
there to stay. UMTS and similar wireless communication is on it's way
in. In general, there is a lot of connectivity that's offered on the
market. Much of that is intended, by the providers, for "client" use.
But that same network connectivity can be used be the creative for
"server" service, too. To do so, one needs a little imagination, redir
functionality, and some bridge-head-box out fixed-IP netland.

Plus TCP-keepalive. Dynamic IP demands it. Wireless demands it. The
ubiquitous NAT demands it. In all of these cases, "client" connections
are somewhat flaky. That by itself is often not a big problem. It can be
fixed if I hasten to rebuild the connection quickly, each time, after it
came done.

But in order to be able to do so, I need to find out about connection
death. Which is exactly what I need TCP keepalive (or something like it)
for.

Personally, I use the ssh port forwarding functionality all the time.
Almost literally "all the time", one particular such forwarding runs
straight from my /etc/inittab ;-) . And I find something like "-o
ServerAliveInterval=20 -o ServerAliveCountMax=7" essential in most such
operations.


Secondly, why would I expect this functionality particularily in redir?

Well, of that I'm not entirely sure. It depends.

How does redir position itself, in particular in comparison with socat?

That one I'm not in a position to answer. That's up to Sammy, or Nigel,
or you, or whoever presently "owns" redir.

That said, I can make a suggestion. My suggestion would be: Redir focus
is on the plain TCP/IP case. And redir does that case well.

Whereas socat, in comparision, tries to cover all things socket (and
even some things file descriptor), tries to be more universal, tries to
be a jack-of-all-trades. But may not do any single one thing quite as well.

This suggestion fits what I find. Redir already supports FTP proxy,
which socat doesn't. Redir already supports bandwidth throttling, which
socat doesn't. In my opinion, TCP keepalive is an issue that also
belongs to redir and should be implemented by it. I would expect redir
to do TCP keepalive, and would be surprised that socat does it, too. -
Not the other way round, as is presently te case.

This particular features generates quite a few command line options, yes.

But it would not bloat the code much, could be implemented in a few
hours (do you want me do do it?). And has less overall impact than
either bandwidth throttling or FTP proxy did.

Another difference between the two, by the way: Redir is much easier on
the paranoid user. The source code of redir is about 1/8 of that of
socat (in lines of code), and it is much easier to review.

In my opinion, TCP keepalive simply fits extremely well into redir's
present profile.

Regards,

Andreas
-- 
Dr. Andreas Krüger, Berater, DV-RATIO Nordwest GmbH
[EMAIL PROTECTED]
GPG/PGP Fingerprint 8063 4A9B 362D 4220 A546  14C1 EA19 AADC FD44 5EB7

Sitz der Gesellschaft: Leostrasse 31, 40545 Düsseldorf, Germany
Tel.: +49 211 577 996-0, Fax:  +49 211 559 1617
Registergericht Düsseldorf HRB 34330
Ust-IdNr.:  DE811321837, Steuer-Nr. 809/44031
Geschäftsführung: Günter Gerstmann
Prokura: Trudbert Vetter, Uwe Wolfram

25 JAHRE DV-RATIO "ein Vierteljahrhundert Zuverlässigkeit"


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to