Skip to content

Commit 99a1ad0

Browse files
author
Dmitri Tikhonov
committed
Release 2.29.3
- [BUGFIX] Do not send RESET_STREAM if writing to stream is already finished. - perf_client: wait for all ACKs before exiting. - Improve how generated RESET_STREAM is logged. - Fix compilation in different combos of adv_tick/conn_stats flags. - Move qpack warning disablement into src/liblsquic/CMakeLists.txt.
1 parent f1d5a1a commit 99a1ad0

20 files changed

+209
-302
lines changed

CHANGELOG

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
2021-03-03
2+
- 2.29.3
3+
- [BUGFIX] Do not send RESET_STREAM if writing to stream is already
4+
finished.
5+
- perf_client: wait for all ACKs before exiting.
6+
- Improve how generated RESET_STREAM is logged.
7+
- Fix compilation in different combos of adv_tick/conn_stats flags.
8+
- Move qpack warning disablement into src/liblsquic/CMakeLists.txt.
9+
110
2021-02-23
211
- 2.29.2
312
- Fix regression in gQUIC server: bug #234.

CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ IF (NOT MSVC)
4545

4646
SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Wall -Wextra -Wno-unused-parameter")
4747
SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -fno-omit-frame-pointer")
48-
INCLUDE(CheckCCompilerFlag)
49-
CHECK_C_COMPILER_FLAG(-Wno-implicit-fallthrough HAS_NO_IMPLICIT_FALLTHROUGH)
50-
IF (HAS_NO_IMPLICIT_FALLTHROUGH)
51-
SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Wno-implicit-fallthrough")
52-
ENDIF()
5348

5449
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.3)
5550
SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Wno-missing-field-initializers")

bin/http_client.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,7 @@ http_client_on_read (lsquic_stream_t *stream, lsquic_stream_ctx_t *st_h)
785785
if (client_ctx->hcc_reset_after_nbytes &&
786786
s_stat_downloaded_bytes > client_ctx->hcc_reset_after_nbytes)
787787
{
788-
lsquic_stream_reset(stream, 0x1);
788+
lsquic_stream_maybe_reset(stream, 0x1, 1);
789789
break;
790790
}
791791
/* test retire_cid after some number of read bytes */

bin/md5_client.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,9 @@ client_file_on_write_buf (lsquic_stream_ctx_t *st_h)
273273
if (g_reset_stream.stream_id == lsquic_stream_id(st_h->stream) &&
274274
lseek(st_h->file->fd, 0, SEEK_CUR) >= g_reset_stream.offset)
275275
{
276-
lsquic_stream_reset(st_h->stream, 0x01 /* QUIC_INTERNAL_ERROR */);
276+
/* Note: this is an internal function */
277+
lsquic_stream_maybe_reset(st_h->stream,
278+
0x01 /* QUIC_INTERNAL_ERROR */, 1);
277279
g_reset_stream.stream_id = 0; /* Reset only once */
278280
}
279281

bin/perf_client.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,7 @@ main (int argc, char **argv)
335335
TAILQ_INIT(&sports);
336336
prog_init(&s_prog, 0, &sports, &perf_stream_if, NULL);
337337
s_prog.prog_api.ea_alpn = "perf";
338+
s_prog.prog_settings.es_delay_onclose = 1;
338339

339340
while (-1 != (opt = getopt(argc, argv, PROG_OPTS "hp:T:")))
340341
{

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
# The short X.Y version
2727
version = u'2.29'
2828
# The full version, including alpha/beta/rc tags
29-
release = u'2.29.2'
29+
release = u'2.29.3'
3030

3131

3232
# -- General configuration ---------------------------------------------------

docs/devel.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Developing lsquic
2+
=================
3+
4+
Generating Tags
5+
---------------
6+
7+
Over the years, we have developed a wrapper around `Universal Ctags`_
8+
to generate convenient tags so that, for example, ``ci_packet_in`` will
9+
be able to take you to any of its implementations such as
10+
``full_conn_ci_packet_in()``, ``evanescent_conn_ci_packet_in()``, and
11+
others.
12+
13+
_Exuberant_ Ctags will work, too, but the more recent and maintained fork
14+
of it, the _Universal_ Ctags, is preferred. (If you are on Ubuntu, you
15+
should clone Universal Ctags from GitHub and compiled it yourself. The
16+
version that comes in the Ubuntu package -- at the time of this writing
17+
-- is so slow as to be considered broken).
18+
19+
The wrapper is ``tools/gen-tags.pl``. Run it in the source directory:
20+
21+
.. highlight:: bash
22+
23+
::
24+
25+
sh$ cd lsquic
26+
sh$ ./tools/gen-tags.pl
27+
28+
Maintaining Documentation
29+
-------------------------
30+
31+
Documentation -- the ``*.rst`` files under ``docs/`` should be kept up-to-date
32+
with changes in the API in ``include/lsquic.h``.
33+
34+
For convenience, tags for the documentation files can be generated by passing
35+
the ``--docs`` argument to ``tools/gen-tags.pl``.
36+
37+
.. _`Universal Ctags`: https://ctags.io/

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ Contents
6666
tutorial
6767
apiref
6868
internals
69+
devel
6970
faq
7071

7172
Indices and tables

include/lsquic.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern "C" {
2525

2626
#define LSQUIC_MAJOR_VERSION 2
2727
#define LSQUIC_MINOR_VERSION 29
28-
#define LSQUIC_PATCH_VERSION 2
28+
#define LSQUIC_PATCH_VERSION 3
2929

3030
/**
3131
* Engine flags:

src/liblsquic/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,13 @@ SET(lsquic_STAT_SRCS
8585
)
8686

8787
IF(NOT MSVC)
88-
set_source_files_properties(ls-qpack/lsqpack.c PROPERTIES COMPILE_FLAGS -Wno-uninitialized)
88+
SET(QPACK_FLAGS "-Wno-uninitialized")
89+
INCLUDE(CheckCCompilerFlag)
90+
CHECK_C_COMPILER_FLAG(-Wno-implicit-fallthrough HAS_NO_IMPLICIT_FALLTHROUGH)
91+
IF (HAS_NO_IMPLICIT_FALLTHROUGH)
92+
SET(QPACK_FLAGS "${QPACK_FLAGS} -Wno-implicit-fallthrough")
93+
ENDIF()
94+
set_source_files_properties(ls-qpack/lsqpack.c PROPERTIES COMPILE_FLAGS ${QPACK_FLAGS})
8995
ENDIF()
9096

9197
include_directories(ls-qpack)

0 commit comments

Comments
 (0)