Andy Green [Mon, 15 Feb 2016 12:55:29 +0000 (20:55 +0800)]
release checklist coverity
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 12:48:00 +0000 (20:48 +0800)]
api doc update pre 1.7
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 12:36:02 +0000 (20:36 +0800)]
timeout settable from info
This adds an info member that allows the user code to
set the library's network action timeout in seconds.
If left at the default 0, the build-time default
AWAITING_TIMEOUT continues to be used.
As suggested
https://github.com/warmcat/libwebsockets/issues/427
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 12:38:59 +0000 (20:38 +0800)]
release checklist api updates
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 11:05:43 +0000 (19:05 +0800)]
http_transaction_completed handle two completions in detach reset order
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 04:37:04 +0000 (12:37 +0800)]
ah owns rxbuf
This is intended to solve a longstanding problem with the
relationship between http/1.1 keep-alive and the service
loop.
Ah now contain an rx buffer which is used during header
processing, and the ah may not be detached from the wsi
until the rx buffer is exhausted.
Having the rx buffer in the ah means we can delay using the
rx until a later service loop.
Ah which have pending rx force POLLIN service on the wsi
they are attached to automatically, so we can interleave
general service / connections with draining each ah rx
buffer.
The possible http/1.1 situations and their dispositions are:
1) exactly one set of http headers come. After processing,
the ah is detached since no pending rx left. If more
headers come later, a fresh ah is aqcuired when available
and the rx flow control blocks the read until then.
2) more that one whole set of headers come and we remain in
http mode (no upgrade). The ah is left attached and
returns to the service loop after the first set of headers.
We will get forced service due to the ah having pending
content (respecting flowcontrol) and process the pending
rx in the ah. If we use it all up, we will detach the
ah.
3) one set of http headers come with ws traffic appended.
We service the headers, do the upgrade, and keep the ah
until the remaining ws content is used. When we
exhausted the ws traffix in the ah rx buffer, we
detach the ah.
Since there can be any amount of http/1.1 pipelining on a
connection, and each may be expensive to service, it's now
enforced there is a return to the service loop after each
header set is serviced on a connection.
When I added the forced service for ah with pending buffering,
I added support for it to the windows plat code. However this
is untested.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 06:44:18 +0000 (14:44 +0800)]
autobahn wait for all fork completion
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 06:23:41 +0000 (14:23 +0800)]
autobahn put back 2.10 2.11
The test ordering breaks if we try to skip them, just
leave them in.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 06:01:06 +0000 (14:01 +0800)]
attack.sh add http1.1 pipelining check
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 15 Feb 2016 04:37:23 +0000 (12:37 +0800)]
release checklist qa
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 14 Feb 2016 01:27:41 +0000 (09:27 +0800)]
libuv integration
This gets the libuv stuff plumbed in and working.
Currently it's only workable for some service thread, and there
is an isolated valgrind problem left
==28425== 128 bytes in 1 blocks are definitely lost in loss record 3 of 3
==28425== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28425== by 0x4C2AB1E: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28425== by 0x58BBB27: maybe_resize (core.c:748)
==28425== by 0x58BBB27: uv__io_start (core.c:787)
==28425== by 0x58C1B80: uv__signal_loop_once_init (signal.c:225)
==28425== by 0x58C1B80: uv_signal_init (signal.c:260)
==28425== by 0x58BF7A6: uv_loop_init (loop.c:66)
==28425== by 0x4157F5: lws_uv_initloop (libuv.c:89)
==28425== by 0x405536: main (test-server-libuv.c:284)
libuv wants to sign off on all libuv 'handles' that will close, and
callback to do the close confirmation asynchronously. The wsi close function
is adapted when libuv is in use to work with libuv accordingly and exit the uv
loop the number of remaining wsi is zero.
Signed-off-by: Andy Green <andy.green@linaro.org>
Alex Hultman [Thu, 4 Feb 2016 11:40:42 +0000 (19:40 +0800)]
port test-server-libuv.c from libev to libuv
Alex Hultman [Mon, 1 Feb 2016 00:31:54 +0000 (08:31 +0800)]
libuv initial replace libev version
Andy Green [Sat, 13 Feb 2016 04:02:26 +0000 (12:02 +0800)]
release-checklist
Dan Albert [Fri, 12 Feb 2016 00:13:27 +0000 (16:13 -0800)]
Ask sysconf for Android's getdtablesize.
Steffen Vogel [Tue, 9 Feb 2016 06:19:15 +0000 (07:19 +0100)]
fixed LWS_PRE description
Andy Green [Tue, 9 Feb 2016 01:37:11 +0000 (09:37 +0800)]
specfile add fuzxy
https://github.com/warmcat/libwebsockets/issues/419
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 9 Feb 2016 01:15:02 +0000 (09:15 +0800)]
lws_reset_header_table dont reset NULL
This is only a temporary, fragile solution.
https://github.com/warmcat/libwebsockets/issues/416
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 8 Feb 2016 00:44:21 +0000 (08:44 +0800)]
license clarification and test apps CC zero
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 6 Feb 2016 23:28:21 +0000 (07:28 +0800)]
lws_parse_uri fix test client use and add more docs
https://github.com/warmcat/libwebsockets/issues/414
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 6 Feb 2016 00:44:34 +0000 (08:44 +0800)]
ah pool take care about freeing headers after parsing
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 2 Feb 2016 23:06:52 +0000 (07:06 +0800)]
debug spew remove ah reset logging
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 2 Feb 2016 01:02:24 +0000 (09:02 +0800)]
LWS_WARN_DEPRECATED and fixup older test apps
Enforce no more internal use of deprecated apis (esp in the test apps)
Also signal clearly to users what is on the way out.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 1 Feb 2016 09:38:15 +0000 (17:38 +0800)]
autobahn add test script
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 31 Jan 2016 03:53:49 +0000 (11:53 +0800)]
attack.sh exit 0 on success
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 30 Jan 2016 03:43:10 +0000 (11:43 +0800)]
ah http1.1 deal with pipelined headers properly
Connections must hold an ah for the whole time they are
processing one header set, even if eg, the headers are
fragmented and it involves network roundtrip times.
However on http1.1 / keepalive, it must drop the ah when
there are no more header sets to deal with, and reacquire
the ah later when more data appears. It's because the
time between header sets / http1.1 requests is unbounded
and the ah would be tied up forever.
But in the case that we got pipelined http1.1 requests,
even partial already buffered, we must keep the ah,
resetting it instead of dropping it. Because we store
the rx data conveniently in a per-tsi buffer since it only
does one thing at a time per thread, we cannot go back to
the event loop to await a new ah inside one service action.
But no problem since we definitely already have an ah,
let's just reuse it at http completion time if more rx is
already buffered.
NB: attack.sh makes request with echo | nc, this
accidentally sends a trailing '\n' from the echo showing
this problem. With this patch attack.sh can complete well.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 13:18:54 +0000 (21:18 +0800)]
clean pre 1.7
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 07:41:13 +0000 (15:41 +0800)]
coverity 157401 dont test SHUTDOWN state in mode switch
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 07:40:08 +0000 (15:40 +0800)]
coverity 157402 explicitly disallow handling invalid sockfd
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 07:35:01 +0000 (15:35 +0800)]
coverity 157403 fuzxy handle currently impossible error
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 07:30:05 +0000 (15:30 +0800)]
coverity 157404 get rid of needless NULL check
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 01:35:58 +0000 (09:35 +0800)]
cleanup test app startup messages
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 01:20:00 +0000 (09:20 +0800)]
restrict SO_REUSEPORT to multithreading only so no unexpected change otherwise
SO_REUSEPORT means you don't get any error any more if another
server instance is already running, this will be quite unexpected
for singlethreaded users.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 29 Jan 2016 01:06:22 +0000 (09:06 +0800)]
http1.1 keepalive drop ah betweentimes
https://github.com/warmcat/libwebsockets/issues/404
Tested with
wget -O- http://localhost:7681/test.html http://localhost:7681/test.html http://localhost:7681/test.html http://localhost:7681/test.html http://localhost:7681/test.html
and confirm no connection processing during that on server side
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 28 Jan 2016 17:26:31 +0000 (01:26 +0800)]
win dont redefine _WINSOCK_DEPRECATED_NO_WARNINGS
Signed-off-by: Andy Green <andy.green@linaro.org>
Danomi Czaski [Thu, 28 Jan 2016 01:40:53 +0000 (09:40 +0800)]
lextable add x-real-ip
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 27 Jan 2016 00:50:31 +0000 (08:50 +0800)]
reduce debug logging mark socket dead when pollert
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 26 Jan 2016 13:40:32 +0000 (21:40 +0800)]
lws_adopt_socket
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 26 Jan 2016 12:56:56 +0000 (20:56 +0800)]
multithread stability
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 26 Jan 2016 12:45:10 +0000 (20:45 +0800)]
mbed simplify
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 25 Jan 2016 13:39:07 +0000 (21:39 +0800)]
pthreads only as needed
This just lets you build lws 1.6 without pthreads if your OS / toolchain
makes that possible, in the case you don't build the test apps
(libwebsockets-test-server-pthreads needs it)
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 25 Jan 2016 13:00:37 +0000 (21:00 +0800)]
fuzxy some toolchains need sys socket.h
https://github.com/warmcat/libwebsockets/issues/407
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 21 Jan 2016 02:54:14 +0000 (10:54 +0800)]
fuzzer handle junk after upgrade header
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 21 Jan 2016 02:57:39 +0000 (10:57 +0800)]
unify bounds checking in parser
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 21 Jan 2016 02:54:51 +0000 (10:54 +0800)]
fuzxy add test parser and some tests
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 21 Jan 2016 02:56:20 +0000 (10:56 +0800)]
win add dummy LWS_WARN_UNUSED_RESULT
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 20 Jan 2016 09:35:18 +0000 (17:35 +0800)]
mbed align with pt changes
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 20 Jan 2016 08:56:06 +0000 (16:56 +0800)]
introduce LWS_WARN_UNUSED_RESULT
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 20 Jan 2016 01:44:04 +0000 (09:44 +0800)]
header fragment reject empty early
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 23:55:41 +0000 (07:55 +0800)]
tolower remove
https://github.com/warmcat/libwebsockets/issues/403
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 23:40:13 +0000 (07:40 +0800)]
parser issue_char audit
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 15:11:39 +0000 (23:11 +0800)]
timeout also fixup for0middle guy deletion case
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 14:34:44 +0000 (22:34 +0800)]
timeout check take copies since he may be deleted
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 14:20:18 +0000 (22:20 +0800)]
test server http dont print junk if string too long
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 13:44:20 +0000 (21:44 +0800)]
coverity 156864 fuzxy close socket if connect fails
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 13:40:41 +0000 (21:40 +0800)]
coverity 156863 fuzxy handle cant get socket
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 13:32:08 +0000 (21:32 +0800)]
coverity 156860 wsi dereference before NULL check
... bit in reality, wsi can never be NULL
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 13:29:34 +0000 (21:29 +0800)]
coverity 156861 context destroy dereference context before NULL check
Context could be NULL only if context creation failed in the first
place and user error path is bad... no network connectivity at that
point...
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 13:27:44 +0000 (21:27 +0800)]
coverity 156862 unused return value
Not exactly a problem...
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 18 Jan 2016 19:34:24 +0000 (03:34 +0800)]
multithreaded service
This adds support for multithreaded service to lws without adding any
threading or locking code in the library.
At context creation time you can request split the service part of the
context into n service domains, which are load-balanced so that the most
idle one gets the next listen socket accept.
There's a single listen socket on one port still.
User code may then spawn n threads doing n service loops / poll()s
simultaneously. Locking is only required (I think) in the existing
FD lock callbacks already handled by the pthreads server example,
and that locking takes place in user code. So the library remains
completely agnostic about the threading / locking scheme.
And by default, it's completely compatible with one service thread
so no changes are required by people uninterested in multithreaded
service.
However for people interested in extremely lightweight mass http[s]/
ws[s] service with minimum provisioning, the library can now do
everything out of the box.
To test it, just try
$ libwebsockets-test-server-pthreads -j 8
where -j controls the number of service threads
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 19 Jan 2016 12:01:33 +0000 (20:01 +0800)]
fix broken ext arg parsing
This gets us back to all the Autobahn tests passing
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 18 Jan 2016 20:32:14 +0000 (04:32 +0800)]
timeout move to doubly linked list
In the case we have a lot of connections, checking them all for timeout state
once a second becomes burdensome. At the moment if you have 100K connections,
once a second they all get checked for timeout in a loop.
This patch adds a doubly-linked list based in the context to each wsi, and
only wsi with pending timeouts appear on it. At checking time, we traverse
the list, which costs nothing if empty because nobody has a pending timeout.
Similarly adding and removing from the list costs almost nothing since no
iteration is required no matter how big the list.
The extra 8 or 16 bytes in the wsi are offset a little bit by demoting .pps
from int to char (save 3 bytes). And trim max act exts to 2, since we only
provide one, saving 8 /16 bytes by itself if exts enabled.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andrew Cooks [Sun, 17 Jan 2016 06:23:55 +0000 (14:23 +0800)]
From
8dc784c121fb387f1871245b3194eae662bddfa3 Mon Sep 17 00:00:00 2001
Subject: [PATCH] bump version in rpm spec file.
Andrew Cooks [Sun, 17 Jan 2016 06:08:59 +0000 (14:08 +0800)]
From
1e933db07bed7a0b5ac8dc49146815348ae37ded Mon Sep 17 00:00:00 2001
Subject: [PATCH] rpm specfile fixes: group, license, build requires, files
Andrew Cooks [Sun, 17 Jan 2016 05:54:13 +0000 (13:54 +0800)]
From
7f39ea761e98ea96f79a7e69d4cdeee0c39d316e Mon Sep 17 00:00:00 2001
Subject: [PATCH] fix missing ${LIB_SUFFIX} on cmake config dir
Peter Pentchev [Sun, 17 Jan 2016 00:03:10 +0000 (02:03 +0200)]
Generate the API documentation in a reproducible way.
Sort the list of source files before passing them to the kernel-doc
script so that it always outputs the discovered functions and
structures in the same order.
Andy Green [Mon, 18 Jan 2016 03:49:41 +0000 (11:49 +0800)]
avoid using deallocated things during context dedtroy
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 18 Jan 2016 01:24:35 +0000 (09:24 +0800)]
fuzxy
This is the initial push of a fuzzing proxy we will use for testing lws.
Run libwebsockets-test-fuzxy and the test server if it's local.
Then run the test client with
http_proxy=localhost:8880 libwebsockets-test-client localhost (or whatever)
Right now he only fuzzes one thing but he is operational as a proxy.
Andy Green [Mon, 18 Jan 2016 01:49:24 +0000 (09:49 +0800)]
cleaning
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 16 Jan 2016 04:09:38 +0000 (12:09 +0800)]
lws_interface_to_sa
Expose interface handling code as an api
Andy Green [Sat, 16 Jan 2016 03:14:46 +0000 (11:14 +0800)]
use lws_close not raw close
https://github.com/warmcat/libwebsockets/issues/400
Signed-off-by: Andy Green <andy.green@linaro.org>
David Andrade [Fri, 15 Jan 2016 14:45:30 +0000 (09:45 -0500)]
Subject: [PATCH] Make echo test app option consistent with the other test
options
Andy Green [Fri, 15 Jan 2016 14:16:54 +0000 (22:16 +0800)]
permessage deflate male callback VISIBLE
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 14 Jan 2016 07:17:28 +0000 (15:17 +0800)]
fix client getting hung up on at negotiation
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 14 Jan 2016 03:37:56 +0000 (11:37 +0800)]
redirect
This adds redirect support to the client side. Lws will follow
server redirects (301) up to three deep.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 14 Jan 2016 05:39:02 +0000 (13:39 +0800)]
parse_uri
Signed-off-by: Andy Green <andy.green@linaro.org>
Vijay Khurdiya [Fri, 15 Jan 2016 08:21:51 +0000 (16:21 +0800)]
ssl add ECDH server support
(AG clean style add option flag and docs)
Andy Green [Thu, 14 Jan 2016 03:38:31 +0000 (11:38 +0800)]
only report CLIENT_CONNECTION_ERROR once on some paths
In most cases the close api will see it should send the CCE because
we are still in the waiting server reply state until the end of the
interpretation. Only if we completed the interpretation and moved
on to ESTABLISHED do we need to handle sending it ourselves.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 13 Jan 2016 10:48:50 +0000 (18:48 +0800)]
remove double free attempts from no ACCEPT server response cleanup path
The generic wsi close code is smart enough to clean up after these allocations itself
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 12 Jan 2016 21:01:17 +0000 (05:01 +0800)]
fuzzer eliminate hsecond ah free path firing assert sentinel
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 12 Jan 2016 15:05:02 +0000 (23:05 +0800)]
fuzzer rx overflow mitigate
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 12 Jan 2016 09:22:06 +0000 (17:22 +0800)]
lws_client_connect_via_info
https://github.com/warmcat/libwebsockets/issues/396
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 12 Jan 2016 00:46:56 +0000 (08:46 +0800)]
test client remove abs modulo
llvm and gcc 5.3 do different things with it
https://github.com/warmcat/libwebsockets/issues/395
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 11 Jan 2016 03:34:01 +0000 (11:34 +0800)]
extension permessage deflate
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 9 Jan 2016 00:13:55 +0000 (08:13 +0800)]
clean libev.c style
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 8 Jan 2016 20:12:46 +0000 (04:12 +0800)]
libev set events to match revents
https://github.com/warmcat/libwebsockets/issues/393
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 8 Jan 2016 13:52:47 +0000 (21:52 +0800)]
partial always use partial buffering if send incomplete
After "rerelease"
https://github.com/warmcat/libwebsockets/issues/392#issuecomment-
170003294
Since we introduced partial buffering a long while ago,
user code shold never see partial sends and very few
user callbsck attempt to deal with them.
Let's just eliminate the whole concept of user callback
partial send handling under any circumstances.
Signed-off-by: Andy Green <andy.green@linaro.org>
Denis Osvald [Mon, 21 Dec 2015 15:39:59 +0000 (16:39 +0100)]
properly skip protocols with NULL name
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
Denis Osvald [Mon, 21 Dec 2015 17:06:38 +0000 (18:06 +0100)]
fix callback typedefs and declarations
Remove declarations of callback and extension_callback as these are
functions declared in header but not defined anywhere.
Also rename typedefs callback_function and extension_callback_function
to lws_callback_function and lws_extension_callback_function so all
symbolx exported by header have lws prefix;
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
Andy Green [Wed, 30 Dec 2015 06:53:50 +0000 (14:53 +0800)]
doc improve docs around header access apis
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 30 Dec 2015 04:12:58 +0000 (12:12 +0800)]
ext negotiation tolerate semicolon args
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 30 Dec 2015 03:43:36 +0000 (11:43 +0800)]
utf8 check compatible with extensions
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 29 Dec 2015 04:28:48 +0000 (12:28 +0800)]
optimize utf8 check tests into state bit
Considering we go through it once per incoming char, the tests to see if we
should be checking utf-8 are too expensive... move them to a bit that lives
in the wsi and set them once per frame (except for CLOSE who has to update
after the close code has been skipped).
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 29 Dec 2015 03:20:09 +0000 (11:20 +0800)]
introduce LWS_SERVER_OPTION_VALIDATE_UTF8
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 29 Dec 2015 01:46:03 +0000 (09:46 +0800)]
autobahn check utf8 on TEXT and CLOSE
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 28 Dec 2015 10:29:06 +0000 (18:29 +0800)]
autobahn reject forbidden close code ranges
Complain like autobahn expects if we get a funny close code
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 28 Dec 2015 09:11:31 +0000 (17:11 +0800)]
autobahn README.test apps.md
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 28 Dec 2015 09:05:40 +0000 (17:05 +0800)]
autobahn reject noncontinuation based on pending FIN state
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 28 Dec 2015 08:51:08 +0000 (16:51 +0800)]
autobahn detect disordered continuation
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 28 Dec 2015 06:24:49 +0000 (14:24 +0800)]
autobahn add same serverside rxflow cache to client
Server side has had immediate RX flow control for quite a while.
But client side made do with RX continuing until what had been received was exhausted.
For what Autobahn tests, that's not enough.
This patch gives clientside RX flow control the same immediate effect as the server
side enjoys, re-using the same code.
Signed-off-by: Andy Green <andy.green@linaro.org>