From 15ea7be51de31e5be960678767f677c9342f2bb0 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 30 Mar 2020 10:18:16 -0400 Subject: [PATCH 1/3] Use PeerNotAwaitingAddressValidation() in pseudocode It was defined before, but not used. --- draft-ietf-quic-recovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 0e7463c541..5c6908e56e 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -1241,7 +1241,7 @@ SetLossDetectionTimer(): return if (no ack-eliciting packets in flight && - peer not awaiting address validation): + PeerNotAwaitingAddressValidation()): // There is nothing to detect lost, so no timer is set. // However, the client needs to arm the timer if the // server might be blocked by the anti-amplification limit. From abd056ac97b798b5cdf56e635e540ed8ab0cfbd3 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 30 Mar 2020 18:31:38 -0400 Subject: [PATCH 2/3] mt's comment --- draft-ietf-quic-recovery.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 5c6908e56e..48b8ac8b0c 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -1218,15 +1218,15 @@ GetEarliestTimeAndSpace(times): space = pn_space return time, space -PeerNotAwaitingAddressValidation(): +PeerAwaitingAddressValidation(): # Assume clients validate the server's address implicitly. if (endpoint is server): - return true + return false # Servers complete address validation when a # protected packet is received. - return has received Handshake ACK || + return !(has received Handshake ACK || has received 1-RTT ACK || - has received HANDSHAKE_DONE + has received HANDSHAKE_DONE) SetLossDetectionTimer(): earliest_loss_time, _ = GetEarliestTimeAndSpace(loss_time) @@ -1241,7 +1241,7 @@ SetLossDetectionTimer(): return if (no ack-eliciting packets in flight && - PeerNotAwaitingAddressValidation()): + !PeerAwaitingAddressValidation()): // There is nothing to detect lost, so no timer is set. // However, the client needs to arm the timer if the // server might be blocked by the anti-amplification limit. From c4af4067f0cd9940589e29628a2437495c809007 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 30 Mar 2020 18:33:42 -0400 Subject: [PATCH 3/3] Update draft-ietf-quic-recovery.md --- draft-ietf-quic-recovery.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 48b8ac8b0c..3608d14be2 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -1218,15 +1218,15 @@ GetEarliestTimeAndSpace(times): space = pn_space return time, space -PeerAwaitingAddressValidation(): +PeerCompletedAddressValidation(): # Assume clients validate the server's address implicitly. if (endpoint is server): - return false + return true # Servers complete address validation when a # protected packet is received. - return !(has received Handshake ACK || + return has received Handshake ACK || has received 1-RTT ACK || - has received HANDSHAKE_DONE) + has received HANDSHAKE_DONE SetLossDetectionTimer(): earliest_loss_time, _ = GetEarliestTimeAndSpace(loss_time) @@ -1241,7 +1241,7 @@ SetLossDetectionTimer(): return if (no ack-eliciting packets in flight && - !PeerAwaitingAddressValidation()): + PeerCompletedAddressValidation()): // There is nothing to detect lost, so no timer is set. // However, the client needs to arm the timer if the // server might be blocked by the anti-amplification limit.