mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00
![]() warmcat.com and libwebsockets.org use Let's Encrypt certificates... LE have changed their CA signing arrangements and after 2021-01-12 (the point I renewed the LE server certs and received one signed using the new arrangements) it's required to trust new root certs for the examples to connect to warmcat.com and libwebsockets.org. https://letsencrypt.org/2020/09/17/new-root-and-intermediates.html This updates the in-tree CA copies, the remote policies on warmcat.com have also been updated. Just goes to show for real client infrastructure, you need to run your own CA (that doesn't have to be trusted by anything outside the clients) where you can control the CA lifetime. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
minimal-http-client.c | ||
README.md | ||
warmcat.com.cer |
lws minimal http client-h2-rxflow
The application reads from a server with tightly controlled and rate-limited receive flow control using h2 tx credit.
build
$ cmake . && make
usage
Commandline option | Meaning |
---|---|
-d | Debug verbosity in decimal, eg, -d15 |
-l | Connect to https://localhost:7681 and accept selfsigned cert |
--server | set server name to connect to |
--path | URL path to access on server |
-k | Apply tls option LCCSCF_ALLOW_INSECURE |
-j | Apply tls option LCCSCF_ALLOW_SELFSIGNED |
-m | Apply tls option LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK |
-e | Apply tls option LCCSCF_ALLOW_EXPIRED |
-v | Connection validity use 3s / 10s instead of default 5m / 5m10s |
--nossl | disable ssl connection |
-f | Indicate we will manually manage tx credit and set a new connection-specific initial tx credit |
RX is constrained to 1024 bytes every 250ms
$ ./lws-minimal-http-client-h2-rxflow --server phys.org --path "/" -f 1024
[2019/12/26 13:32:59:6801] U: LWS minimal http client [-d<verbosity>] [-l] [--h1]
[2019/12/26 13:33:00:5087] N: system_notify_cb: manual peer tx credit 1024
[2019/12/26 13:33:01:7390] U: Connected to 72.251.236.55, http response: 200
[2019/12/26 13:33:01:7441] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:01:0855] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:02:3367] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:02:5858] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:02:8384] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:02:0886] U: RECEIVE_CLIENT_HTTP_READ: read 1024
...
[2019/12/26 13:33:46:1152] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:47:3650] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:47:6150] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:47:8666] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:47:1154] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:48:3656] U: RECEIVE_CLIENT_HTTP_READ: read 1024
[2019/12/26 13:33:48:6157] U: RECEIVE_CLIENT_HTTP_READ: read 380
[2019/12/26 13:33:48:6219] U: LWS_CALLBACK_COMPLETED_CLIENT_HTTP
[2019/12/26 13:33:48:7050] U: Completed: OK