Documentation fix: delete references to T/TCP as they are not relevant

to the case in question.  (Said case being quite clearly defined by
the basic TCP specification, RFC 792.)
This commit is contained in:
Garrett Wollman 1998-05-09 20:50:37 +00:00
parent 795d035511
commit eeed58d824
2 changed files with 36 additions and 12 deletions

View File

@ -1,4 +1,4 @@
.\" $Id: fetch.1,v 1.20 1998/03/23 07:43:02 charnier Exp $
.\" $Id: fetch.1,v 1.21 1998/05/09 07:33:09 fenner Exp $
.Dd July 2, 1996
.Dt FETCH 1
.Os FreeBSD 2.2
@ -100,9 +100,9 @@ under any circumstances, even if the transfer failed or was incomplete.
.It Fl r
Restart a previously interrupted transfer.
.It Fl t
Ensure that the use of T/TCP is not attempted for connections. This is
used to workaround bugs in some remote OS stacks that give improper
replies to T/TCP connections.
Work around a different set of buggy
.Tn TCP
implementations.
.It Fl T Ar seconds
Set timeout value to
.Ar seconds.
@ -198,7 +198,7 @@ realm is specified as
.Sq Li \&* ,
then it will match all realms not specified otherwise.
.Pp
For the
The
.Li basic
authentication scheme uses two additional optional parameters; the
first is a user name, and the second is the password associated with
@ -328,6 +328,27 @@ authentication mode is implemented for
.Tn HTTP .
This should be replaced by digest authentication.
.Pp
Some
.Tn TCP
implementations (other than
.Fx )
fail to correctly implement cases where the
.Dv SYN
and/or
.Dv FIN
control flags are specified in packets which also contain data.
The
.Sq Fl t
flag works around the latter deficiency and the
.Sq Fl b
flag works around the former. Since these are errors of the server's
.Tn TCP
stack, the best we can do is provide these workarounds. Given a correct
server, an optimal
.Tn HTTP
transfer without
.Fl t
and
.Fl b
flag should not be necessary.
involves a minimum of two round trips (for small replies), one less than
other implementations.

View File

@ -26,7 +26,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: http.c,v 1.16 1997/11/22 01:00:42 fenner Exp $
* $Id: http.c,v 1.17 1998/02/20 05:11:40 jb Exp $
*/
#include <sys/types.h>
@ -594,11 +594,14 @@ http_retrieve(struct fetch_state *fs)
setup_sigalrm();
alarm(timo);
/* some hosts do not properly handle T/TCP connections. If
* sendmsg() is used to establish the connection, the OS may
* choose to try to use one which could cause the transfer
* to fail. Doing a connect() first ensures that the OS
* does not attempt T/TCP.
/*
* Some hosts do not correctly handle data in SYN segments.
* If no connect(2) is done, the TCP stack will send our
* initial request as such a segment. fs_use_connect works
* around these broken server TCPs by avoiding this case.
* It is not the default because we want to exercise this
* code path, and in any case the majority of hosts handle
* our default correctly.
*/
if (fs->fs_use_connect && (connect(s, (struct sockaddr *)&sin,
sizeof(struct sockaddr_in)) < 0)) {