[BEHAVE] [Editorial Errata Reported] RFC5780 (7971)

RFC Errata System <rfc-editor@rfc-editor.org> Wed, 05 June 2024 19:46 UTC

Return-Path: <wwwrun@rfcpa.rfc-editor.org>
X-Original-To: behave@ietf.org
Delivered-To: behave@ietfa.amsl.com
Received: from rfcpa.rfc-editor.org (unknown [167.172.21.234]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B3FFC14EB19; Wed, 5 Jun 2024 12:46:17 -0700 (PDT)
Received: by rfcpa.rfc-editor.org (Postfix, from userid 461) id B8F5EB8FF9; Wed, 5 Jun 2024 12:46:16 -0700 (PDT)
To: rfc-editor@rfc-editor.org
From: RFC Errata System <rfc-editor@rfc-editor.org>
Content-Type: text/plain; charset="UTF-8"
Message-Id: <20240605194616.B8F5EB8FF9@rfcpa.rfc-editor.org>
Date: Wed, 05 Jun 2024 12:46:16 -0700
Message-ID-Hash: XTOEQ3DMA6UYNUXBYBRMYPUNAQA6FAMP
X-Message-ID-Hash: XTOEQ3DMA6UYNUXBYBRMYPUNAQA6FAMP
X-MailFrom: wwwrun@rfcpa.rfc-editor.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-behave.ietf.org-0; header-match-behave.ietf.org-1; header-match-behave.ietf.org-2; header-match-behave.ietf.org-3; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: forestix@nom.one, derek.macdonald@gmail.com, behave@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [BEHAVE] [Editorial Errata Reported] RFC5780 (7971)
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/behave/NlGQ4lYOUE4RZhzxsTJ5r0mtFT4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/behave>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Owner: <mailto:behave-owner@ietf.org>
List-Post: <mailto:behave@ietf.org>
List-Subscribe: <mailto:behave-join@ietf.org>
List-Unsubscribe: <mailto:behave-leave@ietf.org>

The following errata report has been submitted for RFC5780,
"NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)".

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid7971

--------------------------------------
Type: Editorial
Reported by: Forest <forestix@nom.one>

Section: 4.4

Original Text
-------------
This will also require at most three tests.

[...]

If
the client receives a response, the current behavior is Address-
Dependent Filtering; if no response is received, the current behavior
is Address and Port-Dependent Filtering.

Corrected Text
--------------
This will require at most four tests.

[...]

If the client receives a response, the current behavior is
Address-Dependent Filtering.

If no response is received, test IV must be performed to distinguish
between Address and Port-Dependent Filtering and lack of connectivity
with the STUN server's alternate address.  For example, a server
might be configured with a private OTHER-ADDRESS or reside behind an
interfering firewall.  In test IV, the client sends a Binding Request
(without a CHANGE-REQUEST attribute) to the alternate address, but
primary port.  If the client receives a response, the current
behavior is Address and Port-Dependent Filtering; if no response is
received, the client knows that it does not have UDP connectivity
with the server's alternate address, and therefore cannot use the
current server to determine the current filtering behavior.

Notes
-----
I am suggesting this change after encountering several public STUN
servers with an OTHER-ADDRESS (or CHANGED-ADDRESS) set to 0.0.0.0,
10.x.x.x, 172.x.x.x, or 192.168.x.x. With such a server, a client
following this RFC as currently written (version 08) will incorrectly
assume it has discovered Address and Port-Dependent Filtering.

I would also note in section 4.5 (Combining and Ordering Tests) that
filtering behavior test IV is the same as the mapping behavior test
II, allowing them to be combined so long as the filtering tests are
done before the mapping tests (to preserve prior NAT state).

In support of that ordering, I would ideally have this RFC present
the filtering tests before presenting the mapping tests, by swapping
section 4.4 with 4.3 and swapping 3.2 with 3.1. This would make
things easier for people implementing the spec, as they would
intuitively follow the optimal ordering simply by following the RFC's
presented order, and would no longer have to mentally reorder the
written steps whenever validating or reasoning about their code.
Swapping those sections would, of course, affect external references
to those section numbers; I don't know if that would too disruptive a
change without assigning a new RFC number.

Instructions:
-------------
This erratum is currently posted as "Reported". (If it is spam, it 
will be removed shortly by the RFC Production Center.) Please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party  
will log in to change the status and edit the report, if necessary.

--------------------------------------
RFC5780 (draft-ietf-behave-nat-behavior-discovery-08)
--------------------------------------
Title               : NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)
Publication Date    : May 2010
Author(s)           : D. MacDonald, B. Lowekamp
Category            : EXPERIMENTAL
Source              : Behavior Engineering for Hindrance Avoidance
Stream              : IETF
Verifying Party     : IESG