Hello!
> I've seen a ESTABLIED socket which have no peer.
> When a client attempt to connect to the server on linux,
> linux may release a SYN_RECV connection silently and
> does not notiy to the client.
It is not strictly necessary. If client have something
to send to server, it will be reset eventually.
If client waits for a banner from server, it must do timeout
at application level in any case. Server can die by hundred of
different reasons.
> if (status == SYN_ESTABLISHED) {
> tcp_close();
> } else { //SYN_RECV
> tcp_close_halfopen();
This is correct _formally_. But we cannot do this both from technical
viewpoint and understanding that this is dangerous and still not reliable.
Shortly, this is correct but we will not help to anyone doing this.
> if (retransmission is over) {
> :
> tcp_close_halfopen();
And this is wrong. After timeout no active actions are made,
connection is closed silently and without notification.
Alexey
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]