On 1/1/07, Michael B. Brutman <mbbrutman-cctalk at brutman.com> wrote:
- I suspect I need to work on my RST segment
processing - I think I'm
being too strict about what I consider to be an allowable RST. It's all
in the RFCs, I just must not be grokking.
What do you mean by "allowable RST?" RST can be thought of as
hard-close, or "Sorry peer, I don't have any context about the
connection you sent a packet for," or "this port is not accepting
connections."
It is always allowed. It is not the ideal way to close a connection,
but as a peer receiving it you must always handle it, and you may send
it if you have a good reason.
Some consideration may be given to detecting spoofed RSTs attempting
to interfere with valid connections. But I suspect you are not
terribly interested in complicating your code with such corner case at
this point (there are a lot of things like this if you really want to
get into it).
-- John.