Skip to content

Tags: warmcat/libwebsockets

Tags

sai-b2c057da2

Toggle sai-b2c057da2's commit message
ss-cpp: export the lss classes from the shared library

The lib is built with -fvisibility=hidden, so the C++ classes were only
reachable from the static lib; minimal-secure-streams-cpp failed to link
against websockets_shared with an undefined lssFile::lssFile.  Mark the
classes LWS_VISIBLE, and cast the example's char arithmetic so it is
clean under -Wconversion.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

sai-74631a533

Toggle sai-74631a533's commit message
sonar-push-settings: take the token from the environment or a fixed path

Sonar's taint analysis objected to opening a path taken from argv.  Read
the token from SONAR_TOKEN, falling back to scratch/.sonar_token at the
top of the tree, and give the script the exec bit it was meant to have.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

sai-207b32edf

Toggle sai-207b32edf's commit message
md: blind coverity to the guarded CR strip

CID 913630 reports an underflow on the llen decrement that removes a
trailing CR before the newline, and then flags the value flowing into
md_staged_is_sep().  The decrement sits behind an llen != 0 test on the
same line, so it cannot wrap; coverity fails to carry the range from the
condition into the arithmetic.

Users run lws through coverity themselves and would meet this on every
scan, so hide both CR-strip sites from the coverity build rather than
leave it to be dismissed per dashboard.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

sai-3f3142145

Toggle sai-3f3142145's commit message
custom-headers example: remove the empty, unreferenced error.css

It has been an empty file since the 2016 android test-server import and
nothing in the example mounts or links it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

sai-2da5365de

Toggle sai-2da5365de's commit message
backtrace: make the delta base index an int, not a char

On unsigned-char targets, 'char hit = -1' is a -Werror=sign-conversion
error.  The sentinel is only meaningful when n == 0, which the use site
already guards on, and the old 'hit &&' test also silently refused a
base index of 0.  Keep it as an int and test hit >= 0; the decoder
already accepts any 3-bit base index.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

sai-1b5cc65f9

Toggle sai-1b5cc65f9's commit message
sai: sys-extras: not the dhcp client

LWS_WITH_SYS_DHCP_CLIENT gates the system state at LWS_SYSTATE_DHCP until
an interface has been configured by the dhcp client, which never happens
on a builder, so with it on every client test in the suite timed out.
It only makes sense for applications that run the dhcp client.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

sai-f6abde144

Toggle sai-f6abde144's commit message
hl-html: fix clang -Wnull-pointer-subtraction in the span header emit

lws_ptr_diff_size_t() is for the difference between two pointers, but
the <span> header emit passed it two integers, with the literal 0 tail
becoming (char *)0: subtracting a null pointer is UB and clang 16+
rightly refuses it under -Werror.  The room calculation is already a
plain size_t, so pass it directly.

Reproduced with clang 19 (-Werror,-Wnull-pointer-subtraction at the
same site) before the change and verified clean after; gcc build and
the full ctest suite (178 tests, incl. test-hl's html emitter) pass.

sai-794a717c4

Toggle sai-794a717c4's commit message
test-hl: fix MSVC C4334 on the flow-control budget shift

1u << m computes in 32 bits and implicitly widens to the 64-bit
size_t budget, which MSVC flags as C4334 under -Werror.  Shift in
the target width instead, matching the existing (size_t)1 << m use
at :955 in the same file.

sai-759f3c3b2

Toggle sai-759f3c3b2's commit message
test-hl: fix MSVC C4334 on the flow-control budget shift

1u << m computes in 32 bits and implicitly widens to the 64-bit
size_t budget, which MSVC flags as C4334 under -Werror.  Shift in
the target width instead, matching the existing (size_t)1 << m use
at :955 in the same file.

sai-f287c251b

Toggle sai-f287c251b's commit message
api-test-reclaim: allocate through lws_buflist, not the lws allocator

The test drove the simulated heap limit with lws_realloc() directly.
That is only declared in lws-eventlib-exports.h, which is included for
LWS_WITH_NETWORK builds alone, so every nonetwork platform failed to
build it with an implicit declaration; and the allocator is not meant
to be public api in any case: the lws_ allocators are for core code,
user code uses malloc() / free().

The test wants allocations the lws heap accounting sees, so it now
makes them through lws_buflist, a public core api whose segments come
from the lws allocator: each block is a buflist holding one segment,
tenants charge what the heap actually accounted for it (segment header
included, or an eviction fell short of the retry's need and took the
next tenant too), and the same evict / pin / clean-failure sequence
holds.  Passes with and without LWS_WITH_NETWORK.

api-test-qpack carried an unused lws_free() prototype: gone.