commit 8ae67eceba7ab1ba6bc513ce7b688ba3d752a501
Author: Andy Green <andy@warmcat.com>
Date: 2018-09-02 14:35:37 +0800
threadpool
commit 1c42ff27365be8fa77906602310263ba3c2899c5
Author: Andy Green <andy@warmcat.com>
Date: 2018-09-02 19:23:40 +0800
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
commit 9df474a010ffa78c9952dde1686eb75c52ea7bc4
Author: Andy Green <andy@warmcat.com>
Date: 2018-09-02 07:13:56 +0800
logging: ellipsisize logs longer than our line buffer
Currently the line buffer for vsnprintf() is 256, lines longer than that
end abruptly without a CRLF.
Change it to end with "...\n\0" when it truncates the line.
CSP header additions, logged on vhost init, longer than this are going
to become normal...
commit e395cb02c9bf11e2f0cd2dcde722f225b1e3249c
Author: Andy Green <andy@warmcat.com>
Date: 2018-09-02 06:51:16 +0800
log client IP of well-wishers
Although getting a million of these doesn't make any trouble for lws, the
source should be logged.
commit ef896e3bb6720d82f462e3ca81f47fb04cfcb3ef
Author: Andy Green <andy@warmcat.com>
Date: 2018-09-02 06:47:37 +0800
ws role: wsi ws may not have been allocated by time of close
commit e051e67b056ada4c208707da703057ac41ce181b
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-30 06:00:28 +0800
genhmac: expose as VISIBLE
commit 71cde1eca297229d42915d14600b26c7c10a27c3
Author: Sebastián Katzer <katzer@users.noreply.github.com>
Date: 2018-08-29 13:29:07 +0200
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
commit 43f0ce7f7e66e5e1ae0ac6fbf6b6f03e5ed2459f
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-29 07:15:34 +0800
csp: update lwsgs
commit 564c781c374c22a189616e333ea665fd0dc947d5
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-28 19:51:19 +0800
ws role: use protocol bind and unbind and transition earlier
Now individual role callbacks are added in an earlier patch for protocol
bind and unbind, change the ws upgrade action to use the generic protocol
bind and unbind apis so the corresponding callbacks are issued for ws.
commit 7c39143d2f93b83de656437f8ef593f821cfaefa
Author: Martin Milata <martin@martinmilata.cz>
Date: 2018-08-27 14:47:42 +0200
Ignore unknown headers in multipart file upload
https://github.com/warmcat/libwebsockets/pull/1385
commit b98e7e47bf5c3adb5384fe849754ed98c3cda973
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-25 12:27:00 +0800
http: enlarge headers buffers since they may meet large headers from vhost config
commit 3c53bfafe92fa6e3a762b94dc4a1bb34b3919d1d
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-25 07:22:36 +0800
test-app: upgrade test.html to have separate css and js for CSP
commit 6ad382977fbb05199de92b880cfc434247f5373c
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-25 06:38:28 +0800
LWS_WITH_STATS: only report ssl accept delay we have a start time for
commit d4f5427001bcd66068d6500146be3788f9c4a238
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-25 06:06:27 +0800
CSP: Firefox bans default SVG styles
Firefox has a bug for 2 years
https://bugzilla.mozilla.org/show_bug.cgi?id=1262842
where a strict content-security-policy that is correctly followed
wrongly also defeats inline style inside SVG.
Apply the workaround told by the GIMP guys on the bug to convert
SVG styles to XML at export.
commit ab8b748a76452970b580da2aafbaae40e968f87a
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-25 05:43:31 +0800
LWS_WITH_STATS: clean refactor dust
https://github.com/warmcat/libwebsockets/issues/1383
commit faa33c8ab58bd718fec9b8990dcbf69844b28e63
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-24 16:00:33 +0800
lejp-conf: allow header value part to exceed one string chunk
commit d716ea6936937df5682ef37d4f263efb451e817f
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-24 16:02:32 +0800
lejp: always allow an extra byte at the end of the string buffer for NUL
commit 9fe42797f1027ed363f68a8d81d40f186f7ceb6c
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-24 14:43:50 +0800
h2: use vhost headers with tolower adaptation
h2 was not applying vhost headers, make it do so.
Also adapt any header names to lower-case as required by h2.
commit f2fc3488fdb432db8396e9150bbcc0fa89870376
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-24 12:20:38 +0800
unix skt: default on
commit 1b42906e8fdba1a04d03ba10e281addbacbc9559
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-23 11:48:17 +0800
clean: coverity
commit 9714ffda437e50ff31edcc920b4e22253d2e57d2
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-23 11:29:45 +0800
clean: solve type conversion warnings for appveyor
commit 89cbce5e0e23a7d4bd604609475df65475f66243
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-23 09:46:01 +0800
libwebsockets.h: split out into a dir of sub-includes included by libwebsockets.h
This has no effect on user code or backward compatibility.
It moves the in-tree public api header libwebsockets.h from ./lib
to ./include, and introduces a dir ./include/libwebsockets/
The single public api header is split out into 31 sub-headers
in ./include/libwebsockets. ./include/libwebsockets.h contains
some core types and platform adaptation code, but the rest of it
is now 31 #include <libwebsockets/...>
At install time, /usr/[local/]include/libwebsockets.h is installed
as before, along now with the 31 sub-headers in ...include/libwebsockets/
There's no net effect on user code.
But the api header is now much easier to maintain and study, with 31
topic-based sub headers.
commit 092dbe285aa34faa98a1e4ce2e25f439023f599d
Author: Andy Green <andy@warmcat.com>
Date: 2018-09-02 14:43:05 +0800
http: compression methods
Add generic http compression layer eanbled at cmake with LWS_WITH_HTTP_STREAM_COMPRESSION.
This is wholly a feature of the HTTP role (used by h1 and h2 roles) and doesn't exist
outside that context.
Currently provides 'deflate' and 'br' compression methods for server side only.
'br' requires also -DLWS_WITH_HTTP_BROTLI=1 at cmake and the brotli libraries (available in
your distro already) and dev package.
Other compression methods can be added nicely using an ops struct.
The built-in file serving stuff will use this is the client says he can handle it, and the
mimetype of the file either starts with "text/" (html and css etc) or is the mimetype of
Javascript.
zlib allocates quite a bit while in use, it seems to be around 256KiB per stream. So this
is only useful on relatively strong servers with lots of memory. However for some usecases
where you are serving a lot of css and js assets, it's a nice help.
The patch performs special treatment for http/1.1 pipelining, since the compression is
performed on the fly the compressed content-length is not known until the end. So for h1
only, chunked transfer-encoding is automatically added so pipelining can continue of the
connection.
For h2 the chunking is neither supported nor required, so it "just works".
User code can also request to add a compression transform before the reply headers were
sent using the new api
LWS_VISIBLE int
lws_http_compression_apply(struct lws *wsi, const char *name,
unsigned char **p, unsigned char *end, char decomp);
... this allows transparent compression of dynamically generated HTTP. The requested
compression (eg, "deflate") is only applied if the client headers indicated it was
supported, otherwise it's a NOP.
Name may be NULL in which case the first compression method in the internal table at
stream.c that is mentioned as acceptable by the client will be used.
NOTE: the compression translation, same as h2 support, relies on the user code using
LWS_WRITE_HTTP and then LWS_WRITE_HTTP_FINAL on the last part written. The internal
lws fileserving code already does this.
commit 90e6e65bff5b472f9d14bab33b2de97fce0fbb7e
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-20 12:02:26 +0800
partial: replace ad-hoc code with a wsi buflist_out
Various kinds of input stashing were replaced with a single buflist before
v3.0... this patch replaces the partial send arrangements with its own buflist
in the same way.
Buflists as the name says are growable lists of allocations in a linked-list
that take care of book-keeping what's added and removed (even if what is
removed is less than the current buffer on the list).
The immediate result is that we no longer have to freak out if we had a partial
buffered and new output is coming... we can just pile it on the end of the
buflist and keep draining the front of it.
Likewise we no longer need to be rabid about reporting multiple attempts to
send stuff without going back to the event loop, although not doing that
will introduce inefficiencies we don't have to term it "illegal" any more.
Since buflists have proven reliable on the input side and the logic for dealing
with truncated "non-network events" was already there this internal-only change
should be relatively self-contained.
commit 23e433ac1b967a41f6f88b1539c0b79a7be78f33
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-20 07:44:20 +0800
minimal: adapt for ping test over https
commit 2cddfc963be2aba0bb898c221d119a28d383a731
Author: Frank May <git+commit@f69m.de>
Date: 2018-08-19 06:43:31 +0800
windows: fix timeout between writes on Windows
After servicing a writable socket, we need to set timeout_ms
to zero. This makes WSAWaitForMultipleEvents() return immediately
after checking events.
commit 248826d7fc091466e654148a10750aaa9da7b8ba
Author: Frank May <git+commit@f69m.de>
Date: 2018-08-19 06:43:23 +0800
windows: Remove useless code
WSASetEvent(pt->events) just makes WSAWaitForMultipleEvents()
return, it will not set LWS_POLLOUT in pfd->revents and thus
has IMHO no effect. If WSAWaitForMultipleEvents() will set
LWS_POLLOUT it will also signal the event automatically.
commit e17820cf67572496715e3e85baa1c298faff26bb
Author: Frank May <git+commit@f69m.de>
Date: 2018-08-19 06:43:14 +0800
windows: fix possible crash
Checking for (!wsi) does not make sense, if wsi is
dereferenced in the line above.
commit fab4bff4f643da39f095646734d464ed49694b67
Author: Frank May <git+commit@f69m.de>
Date: 2018-08-19 06:43:06 +0800
windows: Ignore Visual Studio internal files
commit 90089af508cab5c59332ddccb2acca4d86346690
Author: Badbaljan <fredrik@badbaljan.se>
Date: 2018-08-15 21:27:41 +0200
esp32: change make flash-related names to not conflict with idf
commit 5c0b0450f21ef15181a29b9b690348219866cbbc
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-18 14:11:29 +0800
client: bind and drop protocol like server
HTTP server protocols have had for a while LWS_CALLBACK_HTTP_DROP/BIND_PROTOCOL
callbacks that mark when a wsi is attched to a protocol and detached.
It turns out this is generally useful for everything to know when a wsi is
joining a protocol and definitively completely finished with a protocol.
Particularly with client wsi where you provided the userdata externally, this
makes a clear point to free() it on the protocol binding being dropped.
This patch adds protocol bind / unbind callbacks to the role definition and
lets them operate on all roles. For the various roles
HTTP server: LWS_CALLBACK_HTTP_BIND/DROP_PROTOCOL as before
HTTP client: LWS_CALLBACK_CLIENT_HTTP_BIND/DROP_PROTOCOL
ws server: LWS_CALLBACK_WS_SERVER_BIND/DROP_PROTOCOL
ws client: LWS_CALLBACK_WS_CLIENT_BIND/DROP_PROTOCOL
raw file: LWS_CALLBACK_RAW_FILE_BIND/DROP_PROTOCOL
raw skt: LWS_CALLBACK_RAW_SKT_BIND/DROP_PROTOCOL
commit d461f46a97b30ce4ed11706440e4b95b73b7e951
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-16 19:10:32 +0800
libwebsockets.h: clean out some boilerplate better put in core/private.h
https://github.com/warmcat/libwebsockets/issues/1370
commit 8de6e5fcf07c57cd53e759dfad96ecee219b6725
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-15 12:49:32 +0800
client: allow pipelined http to call LWS_CALLBACK_CLOSED_CLIENT_HTTP
commit 956bb4e2551931073675ec8a3a01805ad023ecc5
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-15 09:23:35 +0800
lws_pvo_get_str
commit 79397b21a38d263263a65abb69b8e1fffd326796
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-14 19:09:23 +0800
README.md: serve from repo
commit c3def0e527fea796a8c834bd262911520f639c06
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-13 16:49:58 +0800
etag: send cache-control even so
commit b7e05ad590f54fff2e30bddd7701e3de69fdc858
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-10 14:14:31 +0800
mailmap
commit f37454ab17e95c04537035ab972f3958d6ba6619
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-05 18:18:40 +0800
cmake: LEJF and LEJP_CONF now on by default
commit f44e38f148e7a1fde7b17ef6f0e22c092dee89e6
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-02 19:13:53 +0800
unix socket: fixes and improvements
Auto-remove any unix socket file already there.
Correctly identify if it's in use per-vhost.
Make the peer-limits stuff ignore it.
commit 9df3557ef966f9596c37bb1ca65ec16fab251194
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-02 19:15:19 +0800
lws_get_effective_uid_gid
This helper lets you find out the eventual uid / gid lws will run
under before the root privileges are actually dropped
commit 69d9cf2e6b608a2460c41f118a00ac73d1606ee0
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-01 06:52:03 +0800
coverity: cleanup
commit 94e375f552c4ae09138a2c2bd95583a262591924
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-01 06:31:41 +0800
lejp: improve bogus JSON underrun detection
https://github.com/warmcat/libwebsockets/issues/1357
commit f285fe4a60a48d8304682cd7018fdb2fa99ea2ec
Author: James Chicca <James.Chicca@TradingTechnologies.com>
Date: 2018-07-30 15:24:16 -0500
vhost protocol timers: SMP threadsafety
From https://github.com/warmcat/libwebsockets/commit/35923abbf37ec5e9190032ab9e4438a9461e2974.patch
Adapted by AG to deal with OOM and use the existing vh timer
struct.
commit de21a5b5b94e1ebacc65f8be27690fe1ec54071a
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-31 13:21:56 +0800
protocol_init: make errors fatal
commit 6f1e67cf91e5cf9faa0490f293ab6fac6aff6a07
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-31 13:22:24 +0800
appveyor: stop default vc build
Suddenly appveyor just says this
Build started
git clone -q --branch=master https://github.com/warmcat/libwebsockets.git C:\projects\libwebsockets
git checkout -qf e035ceb36e0b79e85bc18b313e8f46eeadd360b6
The build phase is set to "MSBuild" mode (default), but no Visual Studio project or solution files were found in the root directory. If you are not building Visual Studio project switch build mode to "Script" and provide your custom build command.
commit 7d21bd2ea80c3b367ea05791414002ac648d4aae
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-30 15:22:33 +0800
svg: README overview
commit cfeb196479f29294c05cf0e4dd0ecef7d0043405
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-25 16:26:41 +0800
client: SMP: associate client with tsi of thread creating client connection
1) This moves the service tid detection stuff from context to pt.
2) If LWS_MAX_SMP > 1, a default pthread tid detection callback is provided
on the dummy callback. Callback handlers that call through to the dummy
handler will inherit this. It provides an int truncation of the pthread
tid.
3) If there has been any service calls on the service threads, the pts now
know the low sizeof(int) bytes of their tid. When you ask for a client
connection to be created, it looks through the pts to see if the calling
thread is a pt service thread. If so, the new client is set to use the
same pt as the caller.
commit c5012fac1def0f2be90136f642a3a8814a21274b
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-23 21:17:33 +0800
client: handle oom4 fail path for vhost dll_active_client_conns list
Client connections can put themselves on the active client list
before they have survived the client connect process past oom4,
which can fail out without close processing.
So ensure the wsi destruction on oom4 removes it from the list.
commit a03dd40e62649512adbf69582a5bea1a2f1a5c38
Author: Andy Green <andy@warmcat.com>
Date: 2018-08-14 08:00:25 +0800
plugins: gitws libjsongit2 support
This adds a plugin that interfaces to libjsongit2
https://warmcat.com/git/libjsongit2
to provide a per-vhost service for presenting bare git repos in a
web interface.
commit 12ec2314118a5a1af8cbc85627d57c63859886ac
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-23 17:18:47 +0800
client: ipv6 handle failed ads lookup
commit 2697be84399db391faea0c84d2a5f1b1e4b9478c
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-21 10:26:13 +0800
content_length zero: server
https://github.com/warmcat/libwebsockets/issues/1337
commit d573a06eb6d57f3f10003284161974d924ab6056
Author: ecionis <ecionis@github.user.invalid.com>
Date: 2018-07-21 10:26:47 +0800
content_length zero: client
https://github.com/warmcat/libwebsockets/issues/1337
commit 7019b56ec9b836bc695ed3308a0d8615ca13ade9
Author: James Chicca <James.Chicca@TradingTechnologies.com>
Date: 2018-07-19 09:36:20 -0500
lws_vhost_bind_wsi: avoid if already bound to same wsi
if wsi->vhost == vhost then it is already bound to that
vhost. doubling binding causes a problem during shutdown
by trashing the reference counting.
commit 991241905c3b0b28519dd1cf5890a737091d7eef
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-20 08:39:00 +0800
client: use effective wsi for some callbacks
commit 6677425272b4d11dd30ffb2a2ee9e4add71dd86f
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-19 15:58:24 +0800
minimal: kill stray symlink
https://github.com/warmcat/libwebsockets/issues/1344
commit 97f4b6906bdf56295b533f4bdd7862ef2ae6d3bb
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-19 06:12:31 +0800
client: use lws_strdup for client_hostname_copy
https://github.com/warmcat/libwebsockets/issues/1343
commit 0222cd25b07a0e00cfec480f98632c2e231adb88
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-17 18:28:23 +0800
lws_get_peer_write_allowance: cope with no role callback for it
https://github.com/warmcat/libwebsockets/issues/1339
commit ff2b1eab369ad1d8480a094f030df1c0a8f21713
Author: Dmytro Ivanov <jimon.j1m0n@gmail.com>
Date: 2018-07-16 11:45:55 +0200
tls:Implement client_ssl_ca_mem/client_ssl_ca_mem_len to load root CA certs from memory.
commit f85cc83de3be7510832fde4089f5369f5d582796
Author: Andy Green <andy@warmcat.com>
Date: 2018-07-16 09:34:39 +0800
http: ETAG hits wrongly seen as serve fails on h2
nonzero return from lws_http_serve() can equally be because we
hit on an ETAG and finished the serve with only the headers.
Split the return so -1 is to assertively close the stream, 1
is we didn't serve anything (eg, not found) and 0 is continuing
asynchronously to serve.
commit 78aeb75221e7ad50ac75f53befbf72faea468e58
Author: Dmytro Ivanov <jimon.j1m0n@gmail.com>
Date: 2018-07-12 16:12:09 +0200
Android: Fixing missing sockaddr_in definition.
commit 2b9c69b55f1aec5e3ef5269e796245c5cf3bc1c3
Author: chrisplusplus <chrswilliams516@gmail.com>
Date: 2018-06-20 11:00:23 -0400
Update protocol_lws_minimal_server_echo.c
This plugin will not compile as a plugin without changing
LWS_PLUGIN_PROTOCOL_MINIMAL_server_echo to
LWS_PLUGIN_PROTOCOL_MINIMAL_SERVER_ECHO
commit 6648e01072ff94224217089b1ff4c2cf95cfac18
Author: James Chicca <James.Chicca@TradingTechnologies.com>
Date: 2018-07-10 09:38:40 -0500
foreach_ll_safe
commit 5740356d9aba7030ee710ecb72c42f5b86f75264
Author: shinny-chengzhi <chengzhi@shinnytech.com>
Date: 2018-07-09 17:33:10 +0800
Fix I/O hang after received a large deflate frame
When a large deflate frame been received, WSAEnumNetworkEvents will indicate the socket is ready to read. And because the frame is compressed, it may not be consumed entirely(not all bytes ready to receive have been received), since WSAEnumNetworkEvents is edge triggered, and the socket read buffer never been drained, WSAEnumNetworkEvents will never indicate the socket is ready to read again. What here need is level trigger behavior, thus add additional recv with empty buffer to reset edge status.
commit d810379015825de58a33bdeb12d25726cc61bfc9
Author: 張俊芝 <zjz@zjz.name>
Date: 2018-07-08 15:33:10 +0800
Fixes the binding error when SMP in tandem with a Unix domain socket
commit 8ed4574d366b5b1a67bd241b169816aa3b1923e8
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-30 09:37:57 +0800
pmd: fix stray client-only
Fix wrong loglevels on some pmd debug stuff
Small cosmetic cleaning
commit 5af32fe27dd80a29355f966a9347cf26aaed995b
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-30 09:40:26 +0800
logging: stderr: reduce brightness of some ANSI loglevels
commit eb4cefceaefb72450ff36f359b0b1320478bb8a2
Author: Rosen Penev <rosenp@gmail.com>
Date: 2018-06-29 18:20:06 -0700
openssl: Fix compile with 1.1.0 - deprecated APIs
These function have been deprecated. Keep compatibility with OpenSSL 1.0.2 as it is still supported.
commit 855114e39a48b53ead7a7f0cbb7a7c9deb0628e6
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-27 07:49:04 +0800
smp: context lock around vhost destroy
commit b58fb2dae3a3aa3a1749869be8f5cea0413c5dd5
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-27 07:15:39 +0800
lws_mutex_refcount
This creates a "pthread mutex with a reference count"
using gcc / clang atomic intrinsics + pthreads.
Both pt and context locks are moved to use this,
pt already had reference counting but it's new for
context.
commit 8869a6ce1da426ffec15fcbe1760af6200b9db30
Author: Dominyk Tiller <dominyktiller@gmail.com>
Date: 2018-06-24 03:29:49 +0100
libwebsockets.h: include new libuv header
commit d2943ff8668f94b50f2979eef0b6cda4b7188876
Author: Dominyk Tiller <dominyktiller@gmail.com>
Date: 2018-06-24 03:27:44 +0100
CMakeLists: add check for new libuv header
commit f2f96857d6ee75166caded9da94daa362f7a1803
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-23 12:56:21 +0800
fd_cloexec: add and use lws_open wrapper and lws_plat_apply_FD_CLOEXEC() on cgi
commit f7631b7a100ff70d250539d0916a79ac8b4dab9e
Author: Per Bothner <per@bothner.com>
Date: 2018-06-23 05:44:36 +0800
sockets: FD_CLOEXEC
If the user code forks, it inherits open copies of all
lws sockets, which conflict if lws later decides to
close them.
commit bd9c1b715f2e2ab580e291143d767a389e775ac1
Author: negativekelvin <negativekelvin@users.noreply.github.com>
Date: 2018-06-16 08:53:48 -0700
Fixes to track updates in esp-idf
commit 4d252d847b4a389db1e5a28147a511808a594d9c
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-19 13:27:54 +0800
max_http_header_pool2: migrate context ah pool limit and count to unsigned int
commit 7c6e3a8aeb89f989ff4ccb4605736c38220789c5
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-19 12:30:10 +0800
http: urlarg capture fixes
commit e9d178286395ea7372b48c5a99ac4c9bf745d1e2
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-19 12:19:10 +0800
http: skip NULs between fragments
commit b30af71ad8b3a6c897c59f556f93195890853287
Author: Silas Parker <skyhisi@gmail.com>
Date: 2018-06-18 18:37:12 +0800
client: off-by-one in redirect max length calc
https://libwebsockets.org/pipermail/libwebsockets/2018-June/003729.html
commit 8b21b32ae5b5b4583f59c3511c42221f7ceface1
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-18 09:56:26 +0800
doc-assets: update lws-overview
commit 157ac030abd60d62517c35bda7c361b8cff174bd
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-16 11:15:38 +0800
minimal-http-server-dynamic: add tls vhost as well
commit 1eb4ac4b41e10ee56fa845f1f6e7df8a79242334
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-16 13:23:06 +0800
LWS_ILLEGAL_HTTP_CONTENT_LEN implies connection:close
If no content-length is coming, we just can't do
http/1.1 keep-alive.
commit d84aebd43a7e9b8317e814c4c21fb82a83844a88
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-16 10:38:17 +0800
http: defer transaction completed if partial pending
This is only helpful for http/1... the real solution is cut up
sending large things.
commit df1d60fc1af0a8f2b6d3c6e104999c39ba16562c
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-16 09:37:07 +0800
plat: refactor private headers and split files
Also remove LWS_VISIBLE that are not necessary from plat apis
commit 06680fc2a8f5eaef4832f0ea28aec7d4f7b930b1
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-15 07:45:42 +0800
minimal-http-server-tls-80
commit 410db9a28e1f373fd454e0cb587d341c7eb5d0ad
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-20 16:22:58 +0800
minimal-http-server-multivhost: add --die-after-vhost option
commit ac3bd36c605437a04f3d6315c40d2ffd7bfd0989
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-16 09:31:07 +0800
vhost_destroy: use vhost wsi reference counting to trigger destroy
This changes the vhost destroy flow to only hand off the listen
socket if another vhost sharing it, and mark the vhost as
being_destroyed.
Each tsi calls lws_check_deferred_free() once a second, if it sees
any vhost being_destroyed there, it closes all wsi on its tsi on
the same vhost, one time.
As the wsi on the vhost complete close (ie, after libuv async close
if on libuv event loop), they decrement a reference count for all
wsi open on the vhost. The tsi who closes the last one then
completes the destroy flow for the vhost itself... it's random
which tsi completes the vhost destroy but since there are no
wsi left on the vhost, and it holds the context lock, nothing
can conflict.
The advantage of this is that owning tsi do the close for wsi
that are bound to the vhost under destruction, at a time when
they are guaranteed to be idle for service, and they do it with
both vhost and context locks owned, so no other service thread
can conflict for stuff protected by those either.
For the situation the user code may have allocations attached to
the vhost, this adds args to lws_vhost_destroy() to allow destroying
the user allocations just before the vhost is freed.
commit 2935d7d32fa12e3dd884131a08d001a3f4232780
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-11 14:29:07 +0800
scrub github links
commit d2bdb60a170d195718969c441924fd5fa2bc95a0
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-16 09:35:07 +0800
cgi: fix for https git server
commit d44fe7a2804661c4aa2415e2a7c67e26fa999d44
Author: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
Date: 2018-06-07 15:25:27 +0200
Add fix for forward declaration in BSD
commit db6976992d578a80773894a9e47d3bae70130ad1
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-07 09:41:36 +0800
sshd: make sure no aliases on last_alloc
commit 44e5e1231be7ca1f962740b3c4162640436f8ab3
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-04 07:12:32 +0800
minimal client: add different paths to multi
commit 6d72ef47686a55649a3bfbe453bfcc0a6d258bb5
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-04 07:14:42 +0800
client: pipelining needs ah reset at client transaction completed
commit 95e31cb1266939dffc7c19575c18e6ef19e5742a
Author: Andy Green <andy@warmcat.com>
Date: 2018-06-03 17:09:27 +0800
minimal ring: keep coverity happy for NULL pointer possibility
commit 794c70cdc015d430e29e5669cd81f838d4024898
Author: Ecionis <ecionis@user.github.invalid>
Date: 2018-06-02 06:01:47 +0800
windows: fix microseconds time calculation
https://github.com/warmcat/libwebsockets/issues/1297
commit 37f2297b2a240a6578bef50cb06e1e11c6803e3e
Author: Alfred Sawaya <alfred@huji.fr>
Date: 2018-06-02 05:57:26 +0800
fix memleak when role h1 failed to upgrade to websocket
commit 43bb34056697b6b936408be8c4f9a06e3f4b80d2
Author: emptyVoid <emptyVoid@users.noreply.github.com>
Date: 2018-05-27 11:57:46 +0700
Fixed a couple of runtime issues introduced in commit 44efcd6.
commit 44efcd6196390fa274aa1b621fa35377e58b2470
Author: Andy Green <andy@warmcat.com>
Date: 2018-05-26 19:41:06 +0800
windows: remove unused event array
commit cfa15b4a734ae6e04d44d3ac65fbea7f7b8c9f9e
Author: Steffen Vogel <post@steffenvogel.de>
Date: 2018-05-26 09:20:24 +0800
rpm: add missing build-time dependencies
commit 21ef5f60a401da00436b69c5f255c1d0f736ad33
Author: Steffen Vogel <post@steffenvogel.de>
Date: 2018-05-26 09:20:20 +0800
rpm: do parallel compilation during rpm builds
commit dd52dbcd86d7c59c54712410944f890e55da898a
Author: Steffen Vogel <post@steffenvogel.de>
Date: 2018-05-26 09:20:08 +0800
rpm: add missing test-apps to spec file
...