[EMAIL PROTECTED] wrote:
> I wrote this comment, by the way. 8) Look at it and surrounding code
> more carefully. In established state all ICMP errors are transient,
> because tcp connection would never reach established state, if they
> were not transient.

Your point isn't relevant to the firewall.  I can *already* send RSTs by
simply not binding a socket to the port.  All I want is a different way
to accomplish this: at the packet firewall layer.

This doesn't have anything to do with response to received ICMPs.
(a => b) does not imply (~a => ~b).

But since you bring it up, RFC 1122 "Requirements for Internet Hosts"
has something to say:

         3.2.2.1  Destination Unreachable: RFC-792

            [...]

            A Destination Unreachable message that is received MUST be
            reported to the transport layer.  The transport layer SHOULD
            use the information appropriately; for example, see Sections
            4.1.3.3, 4.2.3.9, and 4.2.4 below.  A transport protocol
            that has its own mechanism for notifying the sender that a
            port is unreachable (e.g., TCP, which sends RST segments)
  >>>>>>    MUST nevertheless accept an ICMP Port Unreachable for the
  >>>>>>    same purpose.

            A Destination Unreachable message that is received with code
            0 (Net), 1 (Host), or 5 (Bad Source Route) may result from a
            routing transient and MUST therefore be interpreted as only
            a hint, not proof, that the specified destination is
            unreachable [IP:11].  For example, it MUST NOT be used as
            proof of a dead gateway (see Section 3.3.1).

         4.2.3.9  ICMP Messages

            TCP MUST act on an ICMP error message passed up from the IP
            layer, directing it to the connection that created the
            error.  The necessary demultiplexing information can be
            found in the IP header contained within the ICMP message.

            [...]

            o    Destination Unreachable -- codes 0, 1, 5

                 Since these Unreachable messages indicate soft error
                 conditions, TCP MUST NOT abort the connection, and it
                 SHOULD make the information available to the
                 application.

                 DISCUSSION:
                      TCP could report the soft error condition directly
                      to the application layer with an upcall to the
                      ERROR_REPORT routine, or it could merely note the
                      message and report it to the application only when
                      and if the TCP connection times out.

            o    Destination Unreachable -- codes 2-4

  >>>>>>         These are hard error conditions, so TCP SHOULD abort
  >>>>>>         the connection.


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

Reply via email to