From 3d54208d8a873113da3cac8a44ae0b95ddb7f353 Mon Sep 17 00:00:00 2001 From: Dave Thaler Date: Fri, 27 Feb 2026 12:39:24 -0800 Subject: [PATCH 1/3] Add more considerations around greasing version negotiation Fixes #49 Signed-off-by: Dave Thaler (cherry picked from commit 6284fb1c4391cb843738827807b7247e3a45dba0) --- draft-iab-protocol-greasing.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/draft-iab-protocol-greasing.md b/draft-iab-protocol-greasing.md index ae0c0c4..2205966 100644 --- a/draft-iab-protocol-greasing.md +++ b/draft-iab-protocol-greasing.md @@ -384,8 +384,15 @@ There are also intrinsic and well-documented issues related to testing version negotiation of protocols; see {{?EXTENSIBILITY=RFC6709}} and {{Sections 2.1 and 3.2 of VIABILITY}}. -This section will be expanded with advice for protocol -designers and implementers about how to approach these problems. +One way to grease protocol versions is where a protocol supports passing +a list of supported versions or features (e.g., cipher suites), and a grease +value can be added to the list such that it will not impact the actual version +or features chosen, since it will not be selected by the receiving entity. + +Another method is where a protocol includes a recovery mechanism (e.g., an extra +round trip to try with another option) if an unsupported version or feature +is attempted. In this case, a grease value might be attempted at some +frequency or opportunity that would not adversely affect performance. # Security Considerations From 740c9410f82ed8213d626d3b136d5d823585ced8 Mon Sep 17 00:00:00 2001 From: Dave Thaler Date: Sat, 28 Feb 2026 07:23:59 -0800 Subject: [PATCH 2/3] Update draft-iab-protocol-greasing.md Co-authored-by: Tommy Pauly --- draft-iab-protocol-greasing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/draft-iab-protocol-greasing.md b/draft-iab-protocol-greasing.md index 2205966..ecbdc1e 100644 --- a/draft-iab-protocol-greasing.md +++ b/draft-iab-protocol-greasing.md @@ -384,9 +384,9 @@ There are also intrinsic and well-documented issues related to testing version negotiation of protocols; see {{?EXTENSIBILITY=RFC6709}} and {{Sections 2.1 and 3.2 of VIABILITY}}. -One way to grease protocol versions is where a protocol supports passing -a list of supported versions or features (e.g., cipher suites), and a grease -value can be added to the list such that it will not impact the actual version +One way to grease protocol versions is to have a protocol pass +a list of supported versions or features (e.g., cipher suites), along with a grease +value, such that the grease value will not impact the actual version or features chosen, since it will not be selected by the receiving entity. Another method is where a protocol includes a recovery mechanism (e.g., an extra From 6dae545bd6baaf7e05687e5c84eed1cdb24933e3 Mon Sep 17 00:00:00 2001 From: Dave Thaler Date: Sat, 28 Feb 2026 07:24:12 -0800 Subject: [PATCH 3/3] Update draft-iab-protocol-greasing.md Co-authored-by: Tommy Pauly --- draft-iab-protocol-greasing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-iab-protocol-greasing.md b/draft-iab-protocol-greasing.md index ecbdc1e..43e9667 100644 --- a/draft-iab-protocol-greasing.md +++ b/draft-iab-protocol-greasing.md @@ -389,8 +389,8 @@ a list of supported versions or features (e.g., cipher suites), along with a gre value, such that the grease value will not impact the actual version or features chosen, since it will not be selected by the receiving entity. -Another method is where a protocol includes a recovery mechanism (e.g., an extra -round trip to try with another option) if an unsupported version or feature +Another method is to have a protocol include a recovery mechanism (e.g., an extra +round trip to try with another option) for cases when an unsupported version or feature is attempted. In this case, a grease value might be attempted at some frequency or opportunity that would not adversely affect performance.