diff --git a/index.src.html b/index.src.html
index 846ccb9..b78bab5 100644
--- a/index.src.html
+++ b/index.src.html
@@ -339,6 +339,11 @@
Framework
IP Address Space
+ Define {{IPAddressSpace}} as follows:
+
+ enum IPAddressSpace { "public", "private", "local" };
+
+
Every IP address belongs to an
IP address space, which can be one
of three different values:
@@ -527,7 +532,7 @@ Private Network Request
a change is not deemed worth the payoff for now. This can be shipped as an
incremental improvement later on.
- NOTE: Some [=local network requests=] are more challenging to secure than
+ NOTE: Some [=private network requests=] are more challenging to secure than
others. See [[#rollout-difficulties]] for more details.
@@ -918,14 +923,17 @@ Fetching
"`Private-Network-Access-ID`" and
|response|'s [=response/header list=].
- 1. if |targetId| is invalid, return a [=network error=].
+ 1. if |targetId| is not a string of 6 hexadecimal bytes
+ separated by colons, return a [=network error=].
1. Let |targetName| be the result of [=extracting header list
values=] given
"`Private-Network-Access-Name`" and
|response|'s [=response/header list=].
- 1. if |targetName| is invalid, return a [=network error=].
+ 1. if |targetName| does not match the [ECMAScript] regexp
+ /^[a-z0-9_-.]+$/ or has more than 248 UTF-8 code units,
+ return a [=network error=].
1. Let |state| be the result of [=requesting permission to use=]
the following descriptor:
@@ -960,10 +968,6 @@ Fetch API
The Fetch API needs to be adjusted as well.
- - Define {{IPAddressSpace}} as follows.
-
- enum IPAddressSpace { "public","private", "local" };
-
- Append an optional [=map/entry=] to {{RequestInfo}}, whose [=map/key=] is
targetAddressSpace, and [=map/value=] is a
{{IPAddressSpace}}.
@@ -972,21 +976,32 @@ Fetch API
IPAddressSpace targetAddressSpace;
};
+
+ - Define a new {=targetAddressSpace=} representing the
+ above in [=request=].
+
+ partial interface Request {
+ readonly attribute IPAddressSpace targetAddressSpace;
+ };
+
+
- The new
Request(input, |init|)
is
appended with the following step right before setting [=this=]'s [=request=]
to |request|:
- 1. If |init|["{{RequestInit/targetAddressSpace}}"] [=map/exists=], and
- |request|'s [=request/client=] is a [=secure context=], then switch on
- |init|["{{RequestInit/targetAddressSpace}}"]:
+ 1. If |init|["{{RequestInit/targetAddressSpace}}"] [=map/exists=], then
+ switch on |init|["{{RequestInit/targetAddressSpace}}"]:
+ - public
+
- Do nothing.
+
- private
- Set |request|'s [=target IP address space=] to [=IP address
- space/private=]
+ space/private=].
- local
- Set |request|'s [=target IP address space=] to [=IP address
- space/local=]
+ space/local=].