Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into request_rst
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeBishop committed Jul 24, 2017
2 parents 52f99c7 + d245db6 commit 15da4ce
Show file tree
Hide file tree
Showing 5 changed files with 489 additions and 481 deletions.
5 changes: 1 addition & 4 deletions Makefile
Expand Up @@ -12,11 +12,8 @@ endif

latest:: lint
.PHONY: lint
lint:
lint::
@err=0; for f in draft-*.md ; do \
if grep -n ' $$' "$$f"; then \
echo "$$f contains trailing whitespace"; err=1; \
fi; \
if cat "$$f" | (l=0; while read -r a; do l=$$(($$l + 1)); echo -E "$$l:$$a"; done) | \
sed -e '1,/--- abstract/d;/^[0-9]*: *|/d' | tr -d '\r' | grep '^[0-9]*:.\{81\}'; then \
echo "$$f contains a line with >80 characters"; err=1; \
Expand Down
24 changes: 17 additions & 7 deletions draft-ietf-quic-http.md
Expand Up @@ -82,6 +82,9 @@ The words "MUST", "MUST NOT", "SHOULD", and "MAY" are used in this document.
It's not shouting; when they are capitalized, they have the special meaning
defined in {{!RFC2119}}.

Field definitions are given in Augmented Backus-Naur Form (ABNF), as defined in
{{!RFC5234}}.


# QUIC Advertisement

Expand Down Expand Up @@ -344,7 +347,7 @@ detects an error with the stream or the QUIC connection.

## Stream Priorities {#priority}

HTTP/QUIC uses the priority scheme described in {{!RFC7540}} Section 5.3. In
HTTP/QUIC uses the priority scheme described in {{!RFC7540}}, Section 5.3. In
this priority scheme, a given stream can be designated as dependent upon another
stream, which expresses the preference that the latter stream (the "parent"
stream) be allocated resources before the former stream (the "dependent"
Expand Down Expand Up @@ -468,7 +471,7 @@ HTTP/2.
The flags defined are:

E (0x01):
: Indicates that the stream dependency is exclusive (see {{!RFC7540}} Section
: Indicates that the stream dependency is exclusive (see {{!RFC7540}}, Section
5.3).

~~~~~~~~~~ drawing
Expand All @@ -492,11 +495,11 @@ The HEADERS frame payload has the following fields:

Stream Dependency:
: A 32-bit stream identifier for the stream that this stream depends on (see
{{priority}} and {!RFC7540}} Section 5.3).
{{priority}} and {{!RFC7540}}, Section 5.3).

Weight:
: An unsigned 8-bit integer representing a priority weight for the stream (see
{{!RFC7540}} Section 5.3). Add one to the value to obtain a weight between 1
{{!RFC7540}}, Section 5.3). Add one to the value to obtain a weight between 1
and 256.

A PRIORITY frame MUST have a payload length of nine octets. A PRIORITY frame
Expand Down Expand Up @@ -563,7 +566,7 @@ the endpoint MUST respond with a connection error of type
HTTP_MULTIPLE_SETTINGS.

The SETTINGS frame affects connection state. A badly formed or incomplete
SETTINGS frame MUST be treated as a connection error (Section 5.4.1) of type
SETTINGS frame MUST be treated as a connection error ({{errors}}) of type
HTTP_MALFORMED_SETTINGS.


Expand Down Expand Up @@ -861,7 +864,7 @@ PROTOCOL_ERROR (0x1):
: No single mapping. See new HTTP_MALFORMED_* error codes defined in
{{http-error-codes}}.

INTERNAL_ERROR (0x2)
INTERNAL_ERROR (0x2):
: HTTP_INTERNAL_ERROR in {{http-error-codes}}.

FLOW_CONTROL_ERROR (0x3):
Expand Down Expand Up @@ -1078,11 +1081,18 @@ The original authors of this specification were Robbie Shade and Mike Warres.
> **RFC Editor's Note:** Please remove this section prior to publication of a
> final version of this document.

## Since draft-ietf-quic-http-04

- Cite RFC 5234 (#404)

## Since draft-ietf-quic-http-03

None.

## Since draft-ietf-quic-http-02

- Track changes in transport draft


## Since draft-ietf-quic-http-01

- SETTINGS changes (#181):
Expand Down
8 changes: 4 additions & 4 deletions draft-ietf-quic-recovery.md
Expand Up @@ -422,10 +422,10 @@ below shows how the single timer is set based on the alarm mode.
The initial flight has no prior RTT sample. A client SHOULD remember
the previous RTT it observed when resumption is attempted and use that for an
initial RTT value. If no previous RTT is available, the initial RTT defaults
to 200ms.
to 100ms.

Endpoints MUST retransmit handshake frames if not acknowledged within a
time limit. This time limit will start as the largest of twice the rtt value
time limit. This time limit will start as the largest of twice the RTT value
and MinTLPTimeout. Each consecutive handshake retransmission doubles the
time limit, until an acknowledgement is received.

Expand All @@ -437,8 +437,8 @@ When stateless rejects are in use, the connection is considered immediately
closed once a reject is sent, so no timer is set to retransmit the reject.

Version negotiation packets are always stateless, and MUST be sent once per
per handshake packet that uses an unsupported QUIC version, and MAY be sent
in response to 0RTT packets.
handshake packet that uses an unsupported QUIC version, and MAY be sent in
response to 0RTT packets.

#### Tail Loss Probe and Retransmission Timeout

Expand Down
16 changes: 8 additions & 8 deletions draft-ietf-quic-tls.md
Expand Up @@ -840,14 +840,14 @@ number gaps on connection ID transitions. That secret is computed as:

# Unprotected Packets

QUIC adds an integrity check to all unprotected packets. Any packet that is not
protected by the negotiated AEAD (see {{packet-protection}}), includes an
integrity check. This check does not prevent the packet from being altered, it
exists for added resilience against data corruption and to provided added
assurance that the sender intends to use QUIC.

Unprotected packets all use the long form of the QUIC header and so will include
a version number. For this version of QUIC, the integrity check uses the 64-bit
QUIC adds an integrity check to all cleartext packets. Cleartext packets are
not protected by the negotiated AEAD (see {{packet-protection}}), but instead
include an integrity check. This check does not prevent the packet from being
altered, it exists for added resilience against data corruption and to provide
added assurance that the sender intends to use QUIC.

Cleartext packets all use the long form of the QUIC header and so will include a
version number. For this version of QUIC, the integrity check uses the 64-bit
FNV-1a hash (see {{fnv1a}}). The output of this hash is appended to the payload
of the packet.

Expand Down

0 comments on commit 15da4ce

Please sign in to comment.