Good midnight:-)

>> It is not strictly necessary. If client have something
>> to send to server, it will be reset eventually.

Right.

>> 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.

Many mailer clients are waiting for greeting message from sendmail,
but some of them does not timeout though.

>> >                    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.

Yes I know sending FIN is too difficult technicaly.
Does "dangerous" mean weakness againt Dos?
How about sending RST instead of FIN?

>> >            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.

Not gentle I think.
SYN_RECV connection might ignore many ACK from a client again
and again when an ack_backlog is full.
It would be better to send RST than nothing.

Regards,
Hirokazu Takahashi


-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to