litespeedtech / ls-qpack Goto Github PK
View Code? Open in Web Editor NEWQPACK compression library for use with HTTP/3
License: MIT License
QPACK compression library for use with HTTP/3
License: MIT License
If the other side chooses a smaller dynamic table size than what we initialized the decoder with, decoding headers will fail or get corrupted.
We think it’s because qpd_max_entries
isn’t updated in qdec_update_max_capacity
.
Reproducing project attached: qpack_bug_repro.zip If you increase the initial dynamic table capacity by even 1 from 16383 to 16384, decoding starts failing.
Hi,
I try to figure out how to install the library in traditional *nix (unix, linux) way to bin
, include
and lib
directories. It looks like generated makefiles missed that target.
UP.
I see this PR was merged #50, but it's failed to find the target.
make: *** No rule to make target 'install'. Stop.
ls-qpack: v2.5.3
Thanks,
Oleg
In the function header_out_write_value()
, the counter qpd_bytes_out
is updated after dhi_process_header()
is called, instead of before:
r = dec->qpd_dh_if->dhi_process_header(read_ctx->hbrc_hblock, xhdr);
if (r == 0)
dec->qpd_bytes_out += xhdr->name_len + xhdr->val_len;
The problem here is that the user callback is free to modify xhdr
in any manner, potentially making name_len
and val_len
invalid.
When msh3 builds the ls-qpack submodule, it produces a lot of warning:
Building Custom Rule D:/msh3/ls-qpack/CMakeLists.txt
lsqpack.c
D:\msh3\ls-qpack\lsxpack_header.h(73,24): warning C4242: '=': conversion from 'int' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(76,20): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(86,24): warning C4242: '=': conversion from 'int' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(90,20): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(101,24): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(103,21): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(105,46): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(107,20): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(118,24): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(120,21): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(122,23): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(124,20): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(135,24): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsxpack_header.h(139,24): warning C4267: '=': conversion from 'size_t' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(341,26): warning C4242: '=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(527,63): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(824,22): warning C4242: 'return': conversion from '__int64' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(901,35): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(903,16): warning C4244: '=': conversion from 'unsigned int' to 'float', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(967,75): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(1276,41): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2142,34): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2146,66): warning C4244: '=': conversion from 'float' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(1987,5): warning C4061: enumerator 'EEA_NONE' in switch of enum 'enc_stream_action' is not explicitly handled by a case label [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(1305,10): message : see declaration of 'enc_stream_action' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2085,5): warning C4061: enumerator 'EHA_LIT_WITH_NAME_STAT' in switch of enum 'hea_block_action' is not explicitly handled by a case label [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(1313,10): message : see declaration of 'hea_block_action' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2114,5): warning C4061: enumerator 'ETA_NOOP' in switch of enum 'dyn_table_action' is not explicitly handled by a case label [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(1322,10): message : see declaration of 'dyn_table_action' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2374,56): warning C4242: '=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2479,27): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2986,26): warning C4267: '=': conversion from 'size_t' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2987,25): warning C4242: '=': conversion from 'uint64_t' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2990,41): warning C4242: '=': conversion from 'const unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2991,40): warning C4242: '=': conversion from 'const unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3002,28): warning C4242: '=': conversion from '__int64' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3050,34): warning C4242: '=': conversion from 'unsigned int' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3052,26): warning C4267: '=': conversion from 'size_t' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3053,27): warning C4242: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3054,26): warning C4242: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3063,28): warning C4242: '=': conversion from '__int64' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3095,26): warning C4267: '=': conversion from 'size_t' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3096,25): warning C4242: '=': conversion from 'unsigned int' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3101,41): warning C4242: '=': conversion from 'const unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3110,28): warning C4242: '=': conversion from '__int64' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3135,26): warning C4267: '=': conversion from 'size_t' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3147,34): warning C4242: '=': conversion from 'unsigned int' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3149,27): warning C4242: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3158,28): warning C4242: '=': conversion from '__int64' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3181,26): warning C4267: '=': conversion from 'size_t' to 'uint8_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3196,31): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3213,75): warning C4244: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3216,50): warning C4244: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3217,44): warning C4242: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3240,31): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3258,43): warning C4242: '=': conversion from 'unsigned int' to 'lsxpack_strlen_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3426,49): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3440,49): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3454,37): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3455,37): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3462,37): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3463,37): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3660,44): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3660,55): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3700,26): warning C4267: '-=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3733,44): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3733,55): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3773,26): warning C4267: '-=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3687,13): warning C4061: enumerator 'HUFF_DEC_ERROR' in switch of enum '<unnamed-enum-HUFF_DEC_OK>' is not explicitly handled by a case label [D:\msh3\build\ls-qpack
\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3375,5): message : see declaration of '<unnamed-enum-HUFF_DEC_OK>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3760,13): warning C4061: enumerator 'HUFF_DEC_ERROR' in switch of enum '<unnamed-enum-HUFF_DEC_OK>' is not explicitly handled by a case label [D:\msh3\build\ls-qpack
\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3375,5): message : see declaration of '<unnamed-enum-HUFF_DEC_OK>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3821,9): warning C4061: enumerator 'DATA_STATE_BEGIN_READ_LFPBNR_VAL_LEN' in switch of enum '<unnamed-enum-DATA_STATE_NEXT_INSTRUCTION>' is not explicitly handled by
a case label [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2857,18): message : see declaration of '<unnamed-enum-DATA_STATE_NEXT_INSTRUCTION>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3821,9): warning C4061: enumerator 'DATA_STATE_READ_LFPBNR_VAL_LEN' in switch of enum '<unnamed-enum-DATA_STATE_NEXT_INSTRUCTION>' is not explicitly handled by a cas
e label [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(2857,18): message : see declaration of '<unnamed-enum-DATA_STATE_NEXT_INSTRUCTION>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4125,36): warning C4242: '+=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4176,38): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4180,70): warning C4244: '=': conversion from 'float' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4220,5): warning C4061: enumerator 'LQRHS_ERROR' in switch of enum 'lsqpack_read_header_status' is not explicitly handled by a case label [D:\msh3\build\ls-qpack\ls-
qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.h(340,6): message : see declaration of 'lsqpack_read_header_status' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4377,36): warning C4242: '+=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4436,32): warning C4242: '+=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4469,32): warning C4242: '+=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4515,26): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4660,44): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4710,29): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4770,44): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4805,29): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4852,44): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4906,29): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4704,13): warning C4061: enumerator 'HUFF_DEC_ERROR' in switch of enum '<unnamed-enum-HUFF_DEC_OK>' is not explicitly handled by a case label [D:\msh3\build\ls-qpack
\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3375,5): message : see declaration of '<unnamed-enum-HUFF_DEC_OK>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4799,13): warning C4061: enumerator 'HUFF_DEC_ERROR' in switch of enum '<unnamed-enum-HUFF_DEC_OK>' is not explicitly handled by a case label [D:\msh3\build\ls-qpack
\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3375,5): message : see declaration of '<unnamed-enum-HUFF_DEC_OK>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(4891,13): warning C4061: enumerator 'HUFF_DEC_ERROR' in switch of enum '<unnamed-enum-HUFF_DEC_OK>' is not explicitly handled by a case label [D:\msh3\build\ls-qpack
\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(3375,5): message : see declaration of '<unnamed-enum-HUFF_DEC_OK>' [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5068,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5069,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5070,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5072,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5073,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5074,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5075,22): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5103,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5104,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5105,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5107,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5108,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5109,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5110,22): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5124,31): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5125,31): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5126,31): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5128,31): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5129,31): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5130,31): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5131,27): warning C4242: '=': conversion from 'uintptr_t' to 'unsigned char', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5261,27): warning C4242: '=': conversion from 'uintptr_t' to 'uint16_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5277,27): warning C4242: '=': conversion from 'uintptr_t' to 'uint16_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5308,19): warning C4242: '=': conversion from 'uintptr_t' to 'uint16_t', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5317,30): warning C4018: '>': signed/unsigned mismatch [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5369,23): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5370,27): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5383,27): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5384,27): warning C4242: 'initializing': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5393,48): warning C4242: 'function': conversion from '__int64' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5393,68): warning C4242: 'function': conversion from '__int64' to 'int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5397,29): warning C4242: '+=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\msh3\ls-qpack\lsqpack.c(5398,29): warning C4242: '+=': conversion from '__int64' to 'unsigned int', possible loss of data [D:\msh3\build\ls-qpack\ls-qpack.vcxproj]
With the latest release, most build warnings went away, except for the following:
https://github.com/nibanks/msh3/actions/runs/3868034900/jobs/6593213121#step:7:118
D:\a\msh3\msh3\ls-qpack\deps\xxhash\xxhash.c(461): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified [D:\a\msh3\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\a\msh3\msh3\ls-qpack\deps\xxhash\xxhash.c(458): message : index 'p' range checked by comparison on this line [D:\a\msh3\msh3\build\ls-qpack\ls-qpack.vcxproj]
D:\a\msh3\msh3\ls-qpack\deps\xxhash\xxhash.c(461): message : feeds call on this line [D:\a\msh3\msh3\build\ls-qpack\ls-qpack.vcxproj]
...
Is there a function in ls-qpack to get the header block size without doing the actual encoding? Without knowing the header block size, I can't know the offset at which the header block starts since the offset is dependent on the header block size which is encoded as a varint.
I can get around this by encoding to a temporary buffer and copying to the correct offset after encoding the size but this seems wasteful. I'd rather encode directly to the final buffer.
Hi,
During preparing your project for Guix downstream package I've faced with unit test failure:
7/180 Test #7: dyn_table_cap_mismatch ..................***Exception: SegFault 0.00 sec
qdec: debug: initialized. max capacity=16384; max risked streams=100
I did not try to patch it it and just invoke cmake build with -DLSQPACK_TESTS=ON
flag.
ls-qpack: v2.5.3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.