Skip to content

Commit

Permalink
Release 2.29.6
Browse files Browse the repository at this point in the history
- Documentation: describe lsquic internals ("guts").
- Two more fixes to compliance issues found by h3spec.
- Truncate, don't abort, SCIDs larger than 16 bytes (PR #244).
- Several small internal improvements and space optimizations.
  • Loading branch information
Dmitri Tikhonov committed Mar 31, 2021
1 parent f3690fd commit eea9989
Show file tree
Hide file tree
Showing 19 changed files with 3,129 additions and 49 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2021-03-31
- 2.29.6
- Documentation: describe lsquic internals ("guts").
- Two more fixes to compliance issues found by h3spec.
- Truncate, don't abort, SCIDs larger than 16 bytes (PR #244).
- Several small internal improvements and space optimizations.

2021-03-17
- 2.29.5
- Fix a few issues detected by h3spec for better compliance with HTTP/3
Expand Down
19 changes: 18 additions & 1 deletion bin/http_server.c
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,11 @@ struct req
enum {
HAVE_XHDR = 1 << 0,
} flags;
enum {
PH_AUTHORITY = 1 << 0,
PH_METHOD = 1 << 1,
PH_PATH = 1 << 2,
} pseudo_headers;
char *path;
char *method_str;
char *authority_str;
Expand Down Expand Up @@ -1829,7 +1834,16 @@ interop_server_hset_add_header (void *hset_p, struct lsxpack_header *xhdr)
unsigned name_len, value_len;

if (!xhdr)
return 0;
{
if (req->pseudo_headers == (PH_AUTHORITY|PH_METHOD|PH_PATH))
return 0;
else
{
LSQ_INFO("%s: missing some pseudo-headers: 0x%X", __func__,
req->pseudo_headers);
return 1;
}
}

name = lsxpack_header_get_name(xhdr);
value = lsxpack_header_get_value(xhdr);
Expand All @@ -1856,6 +1870,7 @@ interop_server_hset_add_header (void *hset_p, struct lsxpack_header *xhdr)
req->path = strndup(value, value_len);
if (!req->path)
return -1;
req->pseudo_headers |= PH_PATH;
return 0;
}

Expand All @@ -1872,6 +1887,7 @@ interop_server_hset_add_header (void *hset_p, struct lsxpack_header *xhdr)
req->method = POST;
else
req->method = UNSUPPORTED;
req->pseudo_headers |= PH_METHOD;
return 0;
}

Expand All @@ -1880,6 +1896,7 @@ interop_server_hset_add_header (void *hset_p, struct lsxpack_header *xhdr)
req->authority_str = strndup(value, value_len);
if (!req->authority_str)
return -1;
req->pseudo_headers |= PH_AUTHORITY;
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# The short X.Y version
version = u'2.29'
# The full version, including alpha/beta/rc tags
release = u'2.29.5'
release = u'2.29.6'


# -- General configuration ---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ Contents
gettingstarted
tutorial
apiref
internals
devel
internals
faq

Indices and tables
Expand Down
Loading

0 comments on commit eea9989

Please sign in to comment.