1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-23 00:00:06 +01:00
libwebsockets/lib
Andy Green aa45de9e2a ss: enforce only valid state transitions
The various stream transitions for direct ss, SSPC, smd, and
different protocols are all handled in different code, let's
stop hoping for the best and add a state transition validation
function that is used everywhere we pass a state change to a
user callback, and knows what is valid for the user state()
callback to see next, given the last state it was shown.

Let's assert if lws manages to violate that so we can find
where the problem is and provide a stricter guarantee about
what user state handler will see, no matter if ss or sspc
or other cases.

To facilitate that, move the states to start from 1, where
0 indicates the state unset.
2021-01-11 08:12:43 +00:00
..
abstract cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
core ss: policy: add auth mapping section 2021-01-05 10:56:38 +00:00
core-net ss: enforce only valid state transitions 2021-01-11 08:12:43 +00:00
drivers lws_netdev: fix rssi averaging 2020-07-21 08:16:01 +01:00
event-libs type comparisons: fixes 2021-01-05 10:56:38 +00:00
jose type comparisons: fixes 2021-01-05 10:56:38 +00:00
misc type comparisons: fixes 2021-01-05 10:56:38 +00:00
plat type comparisons: fixes 2021-01-05 10:56:38 +00:00
roles smd: add more scenarios to tests 2021-01-05 10:56:38 +00:00
secure-streams ss: enforce only valid state transitions 2021-01-11 08:12:43 +00:00
system smd-add-ss-rx-forwarder-helper 2021-01-05 10:56:38 +00:00
tls netbsdBE: enable ctest and fix test cert generation 2021-01-05 10:56:38 +00:00
CMakeLists.txt cmake: add windows version resources to library 2020-10-19 16:35:03 +01:00
README.md cleaning 2020-01-05 22:17:58 +00:00

Library sources layout

Code that goes in the libwebsockets library itself lives down ./lib

Path Sources
lib/core Core lws code related to generic fd and wsi servicing and management
lib/core-net Core lws code that applies only if networking enabled
lib/event-libs Code containing optional event-lib specific adaptations
lib/jose JOSE / JWS / JWK / JWE implementations
lib/misc Code for various mostly optional miscellaneous features
lib/plat Platform-specific adaptation code
lib/roles Code for specific optional wsi roles, eg, http/1, h2, ws, raw, etc
lib/system Code for system-level features, eg, dhcpclient
lib/tls Code supporting the various TLS libraries