1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
Commit graph

2584 commits

Author SHA1 Message Date
Andy Green
4ff8e866d5 docs: fixup links broken by move to READMEs 2017-11-26 19:16:06 +08:00
Andy Green
b1934d6b64 client-certs: add related docs 2017-11-26 19:07:12 +08:00
Andy Green
dbb6c34cf2 RFC7638: JWK thumbprint 2017-11-26 19:07:12 +08:00
Andy Green
278e520479 JWK + JWS: JSON Web Keys RFC7517 + Signatures support RFC7515
This adds some optional apis around JSON Web Keys and JSON Web Signatures.

HMAC SHA256/384/512 and RSA + SHA256/384/512 are supported.

This also add a new "LWS_WITH_SELFTESTS" that enables the selftests.
2017-11-26 19:07:12 +08:00
Andy Green
c32a22c20b lws-genrsa: add resuable backend-independent rsa decrypt in tls/ and migrate sshd to it 2017-11-10 16:56:44 +08:00
Andy Green
dd3e5619cb lws_genhash: add HMAC
Like the simple hashes, these work the same regardless of if the backend is
OpenSSL or mbedTLS.

Also move into ./lib/tls/ and split into two specific to mbedtls or openssl
backends.
2017-11-10 16:56:44 +08:00
Andy Green
aebf187b98 base64: add decode variant that uses in_len instead of NUL term 2017-11-10 16:56:44 +08:00
Andy Green
2639b276f4 base64: add URL encode variant and allow decode of it
The URL encode variant is the same, except + is coded as -, and / is coded as _
to avoid urlencoding when the base64 is used in situations that are urlencoded.
2017-11-10 16:56:44 +08:00
Andy Green
46ee0713de hpack: pseudoheader check improvement 2017-11-10 11:01:25 +08:00
Andy Green
6bc92f7592 wrapper: untrash partial sends before WANT
1) The original wrapper logic for accounting for partial
sends on mbedtls is broken... adapt it

2) mbedtls has an additional restriction you MUST come
back to retry with EXACTLY the unsent part that you
originally asked for, or it loses coherency in the TLS
tunnel.

3) the wrapper is inconsistent between read WANT state
dynamically reported from mbedtls apis and the
SSL_want() api results.  Check both on read.
2017-11-10 10:59:58 +08:00
Andy Green
7e4c67e29d h2: never send more than file length 2017-11-10 10:59:58 +08:00
Andy Green
78ad6f9705 hpack: dont reinterpret lws index for idx hdr 6 inc 2017-11-10 10:59:58 +08:00
Andy Green
c7b536764f coverity-fixes 2017-11-10 10:59:58 +08:00
Andy Green
8c35e14965 test-apps: mirror echo mode 2017-11-05 07:09:06 +08:00
Andy Green
b119f2c471 service: only apply trunc holds rx rule for http2 2017-11-05 07:08:50 +08:00
Andy Green
91ed21d487 rxflow: fix second draining path 2017-11-05 07:08:41 +08:00
Andy Green
7e1c8876e6 service: stop trying to find service TID after first time 2017-11-05 07:08:29 +08:00
Andy Green
fac510fbc2 lws_ring: add lws_ring_dump() api 2017-11-05 07:08:20 +08:00
Andy Green
95f1cd6ea8 WITH_STATS: fix signed build warnings 2017-11-05 07:07:16 +08:00
Andy Green
a1ce8feba2 mirror: default to empty name if mirror with no arg 2017-11-03 11:48:05 +08:00
Andy Green
dba00cff6f mirror: fix spin on close 2017-11-03 11:47:57 +08:00
Andy Green
462e449cd6 lws_hdr_copy: protect against garbage 2017-11-02 08:11:06 +08:00
Andy Green
d30597f728 ah: increase timeout sanity check to ah_idle + 60 2017-10-31 07:02:51 +08:00
Andy Green
7594bc585c win: move LEAN_AND_MEAN before tls includes
It's always mean... we define LEAN_AND_MEAN in libwebsockets.h
but we include libwebsockets.h partway through private-libwebsockets.h.

Reorder for https://github.com/warmcat/libwebsockets/issues/1080
2017-10-31 06:45:03 +08:00
Andy Green
491fd183f8 lws_timingsafe_bcmp 2017-10-28 13:24:41 +08:00
Petar Paradzik
413631632b ssl: fix segfault when using SSL_CTX that is not created
vhost->ssl_ctx is created in 'lws_tls_server_vhost_backend_init', but it
is used before in 'lws_tls_server_client_cert_verify_config' when
calling SSL_CTX_set_session_id_context...

Signed-off-by: Petar Paradzik <petar.paradzik@sartura.hr>
2017-10-26 18:55:12 +08:00
Andy Green
5a90bb36d1 lejp: add test app to parse stdin 2017-10-26 18:55:12 +08:00
Andy Green
f9421f084b lejp: integrate header into libwebsockets.h 2017-10-26 18:55:11 +08:00
Andy Green
505a3fc1fc windows: finally fix gzip redefinition warnings 2017-10-26 18:55:11 +08:00
Andy Green
d286e990f0 windows: fix missing declatations for open etc
Due to windows needing nonstandard include io.h for
standard apis...
2017-10-26 18:55:11 +08:00
Andy Green
52d82ad83a cgi: make sure compiler cant see uninitialized use 2017-10-26 18:54:52 +08:00
Andy Green
5a0b5299d2 lejp: use explicit signed char return 2017-10-25 07:54:18 +08:00
Andy Green
4afeefbb3c build: strict-aliasing on old compiler workaround
https://github.com/warmcat/libwebsockets/issues/1067
2017-10-25 07:54:18 +08:00
Andy Green
1c70181ca2 build: enable signed vs unsigned warnings on gcc
This enables selected things from -Wextra, can't use -Wextra because it is
fussy enough to complain about unused params on functions... they are
there for a reason.

-Wsign-compare
-Wignored-qualifiers
not -Wimplicit-fallthrough=3 ... only on gcc 7
-Wtype-limits
-Wuninitialized
not -Wclobbered ... only on gcc 7ish

fix the warnings everywhere they were found.
2017-10-25 07:17:29 +08:00
Andy Green
89cb55ea58 tls: split out common, openssl and mbedtls code
- introduce lib/tls/mbedtls lib/tls/openssl
 - move wrapper into lib/tls/mbedtls/wrapper
 - introduce private helpers to hide backend

This patch doesn't replace or remove the wrapper, it moves it
to lib/tls/mbedtls/wrapper.

But it should be now that the ONLY functions directly consuming
wrapper apis are isolated in

  - lib/tls/mbedtls/client.c (180 lines)
  - lib/tls/mbedtls/server.c (317 lines)
  - lib/tls/mbedtls/ssl.c    (325 lines)

In particular there are no uses of openssl or mbedtls-related
constants outside of ./lib/tls any more.
2017-10-25 07:17:29 +08:00
Andy Green
bb04883097 travis: add mbedtls + http2 variant 2017-10-25 07:17:29 +08:00
Andy Green
ce68d38794 LWS_PRE: make int 2017-10-25 07:17:22 +08:00
Andy Green
4a2dd2bdaa http2: missing return when openssl too old 2017-10-24 20:19:24 +08:00
Andy Green
af8f2d3616 protocol init: allow use of client apis during per-vhost protocol init 2017-10-24 20:19:24 +08:00
Sebastian Mueller
28d820ba0a getifaddrs-fix-include-reference
https://github.com/warmcat/libwebsockets/issues/1068
2017-10-24 20:19:17 +08:00
Andy Green
c86488be9c getifaddrs: fix conditional build 2017-10-24 06:39:37 +08:00
Andy Green
11afda24ed client: allow failout when adding client headers 2017-10-23 13:44:35 +08:00
Andy Green
07d4cf7628 client: do not treat selected response codes as connection failures
There was not really any "connection failure" with some of these like 404.

They may have body content that is important.

The client should use lws_http_client_http_response(wsi) to discover
the response code the client action received and decide for itself
what to do about that.
2017-10-23 13:44:27 +08:00
Andy Green
10828b1ea0 mirror: fix multiple mirror instances hang 2017-10-20 21:10:29 +08:00
Andy Green
8528de580a getifaddrs: fix second lws_malloc 2017-10-19 21:00:50 +08:00
Andy Green
001b3010a6 sshd: fix NULL vhd protection 2017-10-19 11:26:29 +08:00
Andy Green
79326e4f07 daemonize: fix missing lws_malloc reason param 2017-10-18 20:19:46 +08:00
Andy Green
fcf5b2c25a v2.4.0 2017-10-17 13:21:12 +08:00
Andy Green
dfacbc2071 mbedtls: fix client 2017-10-17 13:21:10 +08:00
Andy Green
1799b02a43 windows: POLLHUP is or-ed on other events
https://github.com/warmcat/libwebsockets/issues/1054
2017-10-16 17:28:37 +08:00