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]