From 9dbc9bf26d875c4bec2627be074583a04ee2e143 Mon Sep 17 00:00:00 2001 From: ianswett Date: Thu, 4 Jul 2024 14:26:44 -0400 Subject: [PATCH 1/4] Invalid SUBSCRIBE_UPDATE is a Protocol Violation This case seems easily avoidable by a subscriber, so the simplest option is to close the session. Fixes #455 Fixes #467 --- draft-ietf-moq-transport.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/draft-ietf-moq-transport.md b/draft-ietf-moq-transport.md index 256b4e4b..64d426ab 100644 --- a/draft-ietf-moq-transport.md +++ b/draft-ietf-moq-transport.md @@ -1079,7 +1079,8 @@ subscription can be made. The start Object MUST NOT decrease and when it increas there is no guarantee that a publisher will not have already sent Objects before the new start Object. The end Object MUST NOT increase and when it decreases, there is no guarantee that a publisher will not have already sent Objects after -the new end Object. +the new end Object. A publisher SHOULD close the Session with an error of +'Protocol Violation' if the SUBSCRIBE_UPDATE violates either rule. Unlike a new subscription, SUBSCRIBE_UPDATE can not cause an Object to be delivered multiple times. Like SUBSCRIBE, EndGroup and EndObject MUST specify the From db6a5f8e727b6a5e344412cc9e1834ddd1e3cb6c Mon Sep 17 00:00:00 2001 From: ianswett Date: Thu, 4 Jul 2024 14:30:42 -0400 Subject: [PATCH 2/4] Update draft-ietf-moq-transport.md --- draft-ietf-moq-transport.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/draft-ietf-moq-transport.md b/draft-ietf-moq-transport.md index 64d426ab..0f02ce52 100644 --- a/draft-ietf-moq-transport.md +++ b/draft-ietf-moq-transport.md @@ -1079,8 +1079,9 @@ subscription can be made. The start Object MUST NOT decrease and when it increas there is no guarantee that a publisher will not have already sent Objects before the new start Object. The end Object MUST NOT increase and when it decreases, there is no guarantee that a publisher will not have already sent Objects after -the new end Object. A publisher SHOULD close the Session with an error of -'Protocol Violation' if the SUBSCRIBE_UPDATE violates either rule. +the new end Object. A publisher SHOULD close the Session as a 'Protocol Violation' +if the SUBSCRIBE_UPDATE violates either rule or if it specifies a Subscribe ID +that has never existed within the Session. Unlike a new subscription, SUBSCRIBE_UPDATE can not cause an Object to be delivered multiple times. Like SUBSCRIBE, EndGroup and EndObject MUST specify the From 8703615f7d641a202087d6f0a4982e6f7f06a3f0 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 8 Jul 2024 12:10:50 -0400 Subject: [PATCH 3/4] Update draft-ietf-moq-transport.md Co-authored-by: Jana Iyengar --- draft-ietf-moq-transport.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-ietf-moq-transport.md b/draft-ietf-moq-transport.md index 0f02ce52..bba83f4b 100644 --- a/draft-ietf-moq-transport.md +++ b/draft-ietf-moq-transport.md @@ -1080,8 +1080,8 @@ there is no guarantee that a publisher will not have already sent Objects before the new start Object. The end Object MUST NOT increase and when it decreases, there is no guarantee that a publisher will not have already sent Objects after the new end Object. A publisher SHOULD close the Session as a 'Protocol Violation' -if the SUBSCRIBE_UPDATE violates either rule or if it specifies a Subscribe ID -that has never existed within the Session. +if the SUBSCRIBE_UPDATE violates either rule or if the subscriber specifies a Subscribe +ID that has never existed within the Session. Unlike a new subscription, SUBSCRIBE_UPDATE can not cause an Object to be delivered multiple times. Like SUBSCRIBE, EndGroup and EndObject MUST specify the From 258e6c2c2dec5785706c7d342a1375f731d75550 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 8 Jul 2024 12:12:01 -0400 Subject: [PATCH 4/4] Cleanup suggestions --- draft-ietf-moq-transport.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-ietf-moq-transport.md b/draft-ietf-moq-transport.md index bba83f4b..a6c207fa 100644 --- a/draft-ietf-moq-transport.md +++ b/draft-ietf-moq-transport.md @@ -1080,8 +1080,8 @@ there is no guarantee that a publisher will not have already sent Objects before the new start Object. The end Object MUST NOT increase and when it decreases, there is no guarantee that a publisher will not have already sent Objects after the new end Object. A publisher SHOULD close the Session as a 'Protocol Violation' -if the SUBSCRIBE_UPDATE violates either rule or if the subscriber specifies a Subscribe -ID that has never existed within the Session. +if the SUBSCRIBE_UPDATE violates either rule or if the subscriber specifies a +Subscribe ID that does not exist within the Session. Unlike a new subscription, SUBSCRIBE_UPDATE can not cause an Object to be delivered multiple times. Like SUBSCRIBE, EndGroup and EndObject MUST specify the