viki <(E-Mail Removed)> wrote:
> 3-way handshake is (1) C->S SYN (2) C->S SYN (3) C->S ACK.
> The accept syscall returns at the point when packet #3 is received
> on server, correct ? Not when packet #1 is received.
> Is it same on all OSes ? Are there OS where accept
> returns after packets No.1 is received by server ?
There is at least one OS where accept() can return after the SYN is
received, although it still employs a SYN flood defense:
HP-UX tardy B.11.11 U 9000/785 2002119164 unlimited-user license
$ ndd -h tcp_early_conn_ind
tcp_early_conn_ind:
If set to 1, a T_CONN_IND message is sent upstream as soon as a
SYN packet is received from a remote host which is on the TCP's
'good guy' list. A remote host goes on the 'good guy' list if it
is known to have completed the 3-way handshake earlier.
If set to 0, the T_CONN_IND message is not sent upstream until
the 3-way handshake is complete, even if the remote host is
on the 'good guy' list.
[0,1] Default: 1
What leads you to ask the question?
rick jones
--
oxymoron n, commuter in a gas-guzzling luxury SUV with an American flag
these opinions are mine, all mine; HP might not want them anyway...

feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...