Andy Green
783540deaf
client: libuv: fix close handling during redirect
...
During client redirect we "reset" the wsi to the redirect address,
involving closing the current fd that was told to redirect (it will
usually be a completely different server or port).
With libuv and its two-stage close that's not trivial. This solves
the problem we will "reset" (overwrite) where the handle lives in the
wsi with new a new connection / handle by having it copied out into
an allocated watcher struct, which is freed in the uv close callback.
To confirm it the minimal ws client example gets some new options, the
original problem was replicated with this
$ lws-minimal-ws-client-echo -s invalid.url.com -p 80
https://github.com/warmcat/libwebsockets/issues/1390
2018-09-02 19:32:23 +08:00
Sebastián Katzer
1fa0d496bb
Fix Iphlpapi.h -> iphlpapi.h
...
If you cross compile for Windows you will get an error otherwise that the header cannot be found.
See here for code example from microsoft: https://docs.microsoft.com/en-us/windows/desktop/iphlp/creating-a-basic-ip-helper-application
2018-08-30 05:41:18 +08:00
Andy Green
9d51d8e702
LWS_WITH_STATS: clean refactor dust
...
https://github.com/warmcat/libwebsockets/issues/1383
2018-08-25 05:45:00 +08:00
Andy Green
5260a49e3b
libwebsockets.h: clean out some boilerplate better put in core/private.h
...
https://github.com/warmcat/libwebsockets/issues/1370
2018-08-16 19:11:54 +08:00
Andy Green
9a1462d221
client: use lws_strdup for client_hostname_copy
...
https://github.com/warmcat/libwebsockets/issues/1343
2018-07-19 06:16:15 +08:00
Andy Green
264583fe7d
lws_get_peer_write_allowance: cope with no role callback for it
...
https://github.com/warmcat/libwebsockets/issues/1339
2018-07-17 18:29:25 +08:00
Andy Green
f85b2e978b
logging: stderr: reduce brightness of some ANSI loglevels
2018-06-30 09:55:07 +08:00
Andy Green
aea3ef2a5a
fd_cloexec: add and use lws_open wrapper and lws_plat_apply_FD_CLOEXEC() on cgi
...
This adds lws_open() like master, but unlike master, it can't add it as a
public api. Instead it's used internally only.
2018-06-23 13:02:12 +08:00
Andy Green
bdedd1a910
max_http_header_pool2: migrate context ah pool limit and count to unsigned int
2018-06-19 13:30:50 +08:00
Andy Green
d1ca974b9f
http: defer transaction completed if partial pending
...
This is only helpful for http/1... the real solution is cut up
sending large things.
2018-06-16 13:24:26 +08:00
qmatt
0425d962e5
lwsl_debug: NOP if no _DEBUG
2018-05-26 09:07:08 +08:00
Andy Green
49c7e8238b
cancel pipes: treat nonzero return code from platform only as indication not to use dummy_pipe_fds
...
https://github.com/warmcat/libwebsockets/issues/1291
2018-05-25 21:45:36 +08:00
Andy Green
227c1a0df2
h2 client: no close callback for network stream
2018-05-24 11:27:56 +08:00
Andy Green
82fc4756be
cgi: fix QUERY_STRING
2018-05-18 14:45:43 +08:00
Andy Green
d6e3346763
LWS_INLINE: replace all inline
2018-05-09 09:24:17 +08:00
Andy Green
412ff64be9
lws_ring: implement lagging client culling
2018-05-06 07:36:31 +08:00
Andy Green
c4dc102a0b
windows: cleanup wrong and duplicated socket validity helpers
...
https://github.com/warmcat/libwebsockets/issues/1259
2018-05-06 07:22:25 +08:00
Andy Green
e77dafba6f
win32: align hrtimer support with unix plat
...
Workaround last build warnings on win32.
2018-05-05 07:18:00 +08:00
Andy Green
e7673b4c1d
coverity: check argv
2018-05-05 06:58:52 +08:00
Andy Green
de064fd65a
refactor: core code in lib/core and private-libwebsockets.h to core/private.h
...
This commit is coverity-clean as tested
cmake .. -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITHOUT_EXTENSIONS=1 -DLWS_WITH_ACME=1 -DLWS_WITH_LWSWS=1 -DLWS_WITH_LIBUV=1 -DLWS_WITH_HTTP2=1 -DLWS_WITHOUT_CLIENT=0 -DLWS_WITHOUT_SERVER=0 -DLWS_UNIX_SOCK=1 -DLWS_WITH_TLS=0 -DLWS_WITH_MBEDTLS=0 -DLWS_WITH_CGI=1 -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITH_GENERIC_SESSIONS=1 -DLWS_WITH_RANGES=1 -DLWS_ROLE_WS=1 -DLWS_MAX_SMP=16 -DLWS_ROLE_H1=1 -DLWS_WITH_WOLFSSL=0 -DLWS_WITH_LIBEV=0 -DLWS_WITH_LIBEVENT=1
2018-05-03 10:49:36 +08:00