platform/upstream/libwebsockets.git
8 years agorefactor test server
Andy Green [Thu, 19 Nov 2015 05:55:47 +0000 (13:55 +0800)]
refactor test server

Split test-server into four C files and a header

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agowin remove piggybacked hack
Andy Green [Thu, 19 Nov 2015 00:43:51 +0000 (08:43 +0800)]
win remove piggybacked hack

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoproxy auth fix
Andy Green [Wed, 18 Nov 2015 11:32:01 +0000 (19:32 +0800)]
proxy auth fix

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agowindows eliminate duplicate POLLOUT
Andy Green [Wed, 18 Nov 2015 01:51:07 +0000 (09:51 +0800)]
windows eliminate duplicate POLLOUT

After "hotcookie" on github

https://github.com/warmcat/libwebsockets/issues/345

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agotest echo initial delay
Andy Green [Tue, 17 Nov 2015 01:30:36 +0000 (09:30 +0800)]
test echo initial delay

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoclose actually close after send close ack
Andy Green [Sun, 15 Nov 2015 02:28:45 +0000 (10:28 +0800)]
close actually close after send close ack

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agotest html add open close buttons
Andy Green [Sun, 15 Nov 2015 01:24:25 +0000 (09:24 +0800)]
test html add open close buttons

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoREADME.build.md add mbed3 build info
Andy Green [Sat, 14 Nov 2015 08:47:42 +0000 (16:47 +0800)]
README.build.md add mbed3 build info

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoupdate appveyor to get win openssl from own server
Andy Green [Sat, 14 Nov 2015 07:58:25 +0000 (15:58 +0800)]
update appveyor to get win openssl from own server

slproweb is down

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agombed3 workable plus or minus mbed3 net stack bug
Andy Green [Sun, 8 Nov 2015 04:10:26 +0000 (12:10 +0800)]
mbed3 workable plus or minus mbed3 net stack bug

https://github.com/ARMmbed/sockets/issues/35

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agombed3 plat
Andy Green [Mon, 2 Nov 2015 12:34:12 +0000 (20:34 +0800)]
mbed3 plat

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agombed3 warning cleaning
Andy Green [Mon, 2 Nov 2015 05:10:33 +0000 (13:10 +0800)]
mbed3 warning cleaning

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agointroduce lws_sockfd_type
Andy Green [Mon, 2 Nov 2015 05:13:44 +0000 (13:13 +0800)]
introduce lws_sockfd_type

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agombed3 build support
Andy Green [Mon, 2 Nov 2015 00:21:08 +0000 (08:21 +0800)]
mbed3 build support

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agombed3 add yotta JSON
Andy Green [Mon, 2 Nov 2015 00:22:16 +0000 (08:22 +0800)]
mbed3 add yotta JSON

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agowin use platform invalid socket api elsewhere too
Andy Green [Sat, 14 Nov 2015 05:48:58 +0000 (13:48 +0800)]
win use platform invalid socket api elsewhere too

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agowin client use platform invalid socket
Andy Green [Fri, 13 Nov 2015 23:35:27 +0000 (07:35 +0800)]
win client use platform invalid socket

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoplat win be robust against NULL wsi_from_fd 3
Andy Green [Fri, 13 Nov 2015 23:02:38 +0000 (07:02 +0800)]
plat win be robust against NULL wsi_from_fd 3

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoplat win be robust against NULL wsi_from_fd 2
Andy Green [Fri, 13 Nov 2015 03:43:53 +0000 (11:43 +0800)]
plat win be robust against NULL wsi_from_fd 2

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoplat win be robust against NULL wsi_from_fd
Andy Green [Fri, 13 Nov 2015 02:14:50 +0000 (10:14 +0800)]
plat win be robust against NULL wsi_from_fd

After "haitetra"

https://github.com/warmcat/libwebsockets/issues/343

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agocmake force internal SHA1 if no ssl
Andy Green [Sun, 8 Nov 2015 20:24:46 +0000 (04:24 +0800)]
cmake force internal SHA1 if no ssl

https://github.com/warmcat/libwebsockets/issues/342

You have to explicitly disable LWS_WITHOUT_BUILTIN_SHA1 Cmake option
alomg with SSL to disable SSL

cmake .. -DLWS_WITH_SSL=OFF -DLWS_WITHOUT_BUILTIN_SHA1=OFF

This makes that implicit with disabling SSL.

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoproxy auth
Andy Green [Sun, 8 Nov 2015 02:15:01 +0000 (10:15 +0800)]
proxy auth

Simplifies proxy code to use the existing libwebsocket_set_proxy.

Enables libwebsocket_set_proxy() to parse username:password@ at front of
servername in both http_proxy and info->http_proxy_address.

If given the base64 version of the credentials are sent in the CONNECT
header to the proxy.

Port is now taken from info->http_proxy_address server:port syntax, but if
a port is given in the now deprecated info->http_proxy_port (ie, is nonzero)
then it is allowed to be missed out and the info port used instead for
backwards compatibility.

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoSubject: [PATCH] Fix for close ack sending
Andrejs Hanins [Fri, 6 Nov 2015 16:18:32 +0000 (18:18 +0200)]
Subject: [PATCH] Fix for close ack sending

It was forgotten in two places that pending close ack should be
processed when wsi state is WSI_STATE_RETURNED_CLOSE_ALREADY, but
not WSI_STATE_ESTABLISHED. As a result, close ack wasn't sent out
to the peer.

8 years agonon ssl on ssl port zero recv ambiguous
Andy Green [Fri, 6 Nov 2015 00:23:05 +0000 (08:23 +0800)]
non ssl on ssl port zero recv ambiguous

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agonon ssl on ssl port fixes
Andy Green [Fri, 30 Oct 2015 22:49:05 +0000 (06:49 +0800)]
non ssl on ssl port fixes

As found by 'github user 7'

https://github.com/warmcat/libwebsockets/issues/338

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoUpdate README.build.md
Joakim Söderberg [Thu, 29 Oct 2015 23:27:57 +0000 (00:27 +0100)]
Update README.build.md

8 years agoImplemented fixes allowing libwebsockets to be built under Windows using MinGM/MSYS
Stephan Eberle [Fri, 23 Oct 2015 06:10:55 +0000 (08:10 +0200)]
Implemented fixes allowing libwebsockets to be built under Windows using MinGM/MSYS

Improvemed patches to address travis and appveyor build errors

Reduced WINVER and _WIN32_WINNT to 0x0501 to be less restrictive

Refined CMakeLists.txt to allow for normal Windows and MinGW-specific OpenSSL certificate generation

Simplified include path to gettimeofday.h

Removed unnecessary list(APPEND LWS_LIBRARIES zlib_internal) export

Added back #include <windows.h> to gettimeofday.c to fix build for normal Windows

Made sure that pollfd gets defined on libwebsockets side when _WIN32_WINNT < 0x0600

Made sure that WINVER and _WIN32_WINNT don't get overridden by libwebsockets headers when already set to something greater than 0x0501

Added missing declaration of WSAPoll function for WINVER < 0x0600 in libwebsockets.h, eliminated invalid usages of pollfd instead of libwebsocket_pollfd in test-server.c

Cleaned up duplicate content in gettimeofday.c, removed header inclusions from gettimeofday.h and fixed include order in test-echo.c, test-ping.c and test-server.c to enable build with normal Windows and MinGW

Re-enabled debug_level in test-echo.c and made sure that the call to lws_set_log_level() is also active under Windows (just like in test-server.c); replaced all WIN32 occurrences by _WIN32 in test-echo.c, test-ping.c, and test-server.c

Removed build-msys.sh and added new section about how to build libwebsockets using MinGW to README.build.md

8 years agoDefine getdtablesize() for android
Krishnaraj R Bhat [Wed, 28 Oct 2015 15:32:04 +0000 (21:02 +0530)]
Define getdtablesize() for android

getdtablesize() has been removed from headers since android-21.
Its value was 1024 in previous android api levels

8 years agoclient only one error callback
Andy Green [Wed, 28 Oct 2015 11:50:41 +0000 (19:50 +0800)]
client only one error callback

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoupdate appveyor status decal url
Andy Green [Wed, 28 Oct 2015 00:55:01 +0000 (08:55 +0800)]
update appveyor status decal url

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agorelease v1.5
Andy Green [Wed, 28 Oct 2015 00:39:09 +0000 (08:39 +0800)]
release v1.5

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agokeepalive close file when send completes dont wait for wsi close processing
Andy Green [Mon, 26 Oct 2015 23:07:14 +0000 (07:07 +0800)]
keepalive close file when send completes dont wait for wsi close processing

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agocheck errno for ssl non ssl
Andy Green [Thu, 22 Oct 2015 12:19:21 +0000 (20:19 +0800)]
check errno for ssl non ssl

After thomgree

https://github.com/warmcat/libwebsockets/issues/313

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoMake LWS_SEND_BUFFER_PRE_PADDING preprocessor if-friendly
Alexander Lukichev [Tue, 20 Oct 2015 10:10:33 +0000 (13:10 +0300)]
Make LWS_SEND_BUFFER_PRE_PADDING preprocessor if-friendly

Commit 173e9c4e made LWS_SEND_BUFFER_SIZE a multiple of a certain
value returned by _LWS_PAD_SIZE macro. This macro expanded to
"sizeof(void *)" on non-x86_64 architectures, which made it
unsuitable to use LWS_SEND_BUFFER_SIZE in preprocessor #if
expressions in the library user code.

This patch preserves the padding logic since commit 173e9c4e but
makes it more preprocessor-friendly for applications using
libwebsockets by setting _LWS_PAD_SIZE to the size of "void *"
determined by cmake when libwebsockets is configured for the
target platform.

Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
8 years agoqualify server specific api with LWS_NO_SERVER
Andy Green [Wed, 21 Oct 2015 01:23:21 +0000 (09:23 +0800)]
qualify server specific api with LWS_NO_SERVER

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agokeepalive fix flow now forced closed removed
Andy Green [Wed, 21 Oct 2015 00:16:34 +0000 (08:16 +0800)]
keepalive fix flow now forced closed removed

Since 0d89f3cbed69a86251e6ed791c57e99a7f59c8d9 added recently,
http1.1 keepalive tries to actually keep alive.

Some updates are needed to keepalive flow to solve problems coming from
changes that were hidden until now by keepalive basically closing until
recently.  It's not very noticable since clients will retry as close is
the default 1.0 behaviour... anyway this lets me do

wget http://localhost:7681/test.html http://localhost:7681/test.html

using keepalive correctly on the test server.

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agodocument context create cannot execute in parallel
Andy Green [Tue, 20 Oct 2015 04:24:00 +0000 (12:24 +0800)]
document context create cannot execute in parallel

Reported by Ash 20001 <ash20001@hotmail.com>

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agodetect http1 close connection header properly
Ash 20001 [Tue, 20 Oct 2015 04:12:12 +0000 (12:12 +0800)]
detect http1 close connection header properly

8 years agocorrect error handling path in client handshake
Andy Green [Sun, 18 Oct 2015 10:47:37 +0000 (18:47 +0800)]
correct error handling path in client handshake

After Vikas Gahlan

http://ml.libwebsockets.org/pipermail/libwebsockets/2015-October/001955.html

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoIgnore cmake build/ directory
Joakim Söderberg [Fri, 16 Oct 2015 19:07:38 +0000 (21:07 +0200)]
Ignore cmake build/ directory

8 years agoif ssl and non ssl allowed insist to wait for something to discriminate by
Andy Green [Fri, 16 Oct 2015 03:39:23 +0000 (11:39 +0800)]
if ssl and non ssl allowed insist to wait for something to discriminate by

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoattempt to get correct close flow banning writeable cb when closing
Andy Green [Fri, 16 Oct 2015 03:07:52 +0000 (11:07 +0800)]
attempt to get correct close flow banning writeable cb when closing

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agocomplain if zero ka_interval used with positive ka_time
Andy Green [Fri, 16 Oct 2015 02:54:04 +0000 (10:54 +0800)]
complain if zero ka_interval used with positive ka_time

https://github.com/warmcat/libwebsockets/issues/308

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoFix getaddrinfo memory leak
Andrejs Hanins [Thu, 15 Oct 2015 10:02:03 +0000 (13:02 +0300)]
Fix getaddrinfo memory leak

8 years agoallow EAGAIN and friends on straight read
Mark Likness [Thu, 15 Oct 2015 13:21:06 +0000 (21:21 +0800)]
allow EAGAIN and friends on straight read

8 years agofix missing parenthesis protection
Stepan Vondrak [Thu, 15 Oct 2015 13:05:54 +0000 (21:05 +0800)]
fix missing parenthesis protection

8 years agoFix some typographical and grammatical errors
Peter Pentchev [Thu, 1 Oct 2015 09:25:05 +0000 (12:25 +0300)]
Fix some typographical and grammatical errors

8 years agoUse bash as a script interpreter
Peter Pentchev [Thu, 1 Oct 2015 09:17:07 +0000 (12:17 +0300)]
Use bash as a script interpreter

The test-server/attack.sh script makes use of several features only
available in the Bash shell, so mark it accordingly.

8 years agoLWS_WITHOUT_BUILTIN_SHA1
Andy Green [Thu, 15 Oct 2015 03:20:40 +0000 (11:20 +0800)]
LWS_WITHOUT_BUILTIN_SHA1

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoLWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED
Andy Green [Thu, 15 Oct 2015 01:12:58 +0000 (09:12 +0800)]
LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED

Requested by Bruce Perens

http://ml.libwebsockets.org/pipermail/libwebsockets/2015-June/001834.html

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agossl set session id context
Andy Green [Thu, 15 Oct 2015 01:00:31 +0000 (09:00 +0800)]
ssl set session id context

Via Bruce Perens

http://ml.libwebsockets.org/pipermail/libwebsockets/2015-June/001833.html

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoremove O3 if cmake debug build
Bruce Perens [Thu, 15 Oct 2015 00:46:29 +0000 (08:46 +0800)]
remove O3 if cmake debug build

8 years agoavoid changing wrong revents if connection closed
Andy Green [Thu, 15 Oct 2015 00:34:21 +0000 (08:34 +0800)]
avoid changing wrong revents if connection closed

As reported by Bruce Perens

http://ml.libwebsockets.org/pipermail/libwebsockets/2015-May/001814.html

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoimprove callback close checking
Andy Green [Wed, 14 Oct 2015 23:39:33 +0000 (07:39 +0800)]
improve callback close checking

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoaccept http1.1 from proxy
Fabian Kurz [Wed, 14 Oct 2015 06:52:28 +0000 (14:52 +0800)]
accept http1.1 from proxy

8 years agofd test will fail under windows, where file descriptors can be large numbers
bdavis [Wed, 14 Oct 2015 00:54:57 +0000 (19:54 -0500)]
fd test will fail under windows, where file descriptors can be large numbers

8 years agopadding align to ptr size
Bruce Perens [Tue, 13 Oct 2015 01:17:39 +0000 (09:17 +0800)]
padding align to ptr size

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoadd cmake Find for lws
jirihnidek [Tue, 13 Oct 2015 00:20:41 +0000 (08:20 +0800)]
add cmake Find for lws

8 years agoadditional https post fix
Thomas Greenslade [Mon, 12 Oct 2015 08:06:26 +0000 (16:06 +0800)]
additional https post fix
https://github.com/warmcat/libwebsockets/pull/298#issuecomment-147316562

8 years agoAttempt to fix server problems receiving large https POSTS.
Roger A. Light [Thu, 2 Jul 2015 19:31:17 +0000 (20:31 +0100)]
Attempt to fix server problems receiving large https POSTS.

Without this change the pending list ends up having
wsi->pending_read_list_next == wsi, which causes a loop in
lws_plat_unix().

8 years agoWHOOPS! Stuck the sigint init int the wrong function.
Andrew Canaday [Mon, 27 Apr 2015 03:32:16 +0000 (23:32 -0400)]
WHOOPS! Stuck the sigint init int the wrong function.

8 years agoSet default libev-related SIGINT handling at context create
Andrew Canaday [Mon, 27 Apr 2015 02:56:42 +0000 (22:56 -0400)]
Set default libev-related SIGINT handling at context create
 to avoid breaking backwards compatibility with existing deploys.

8 years agoAdded libwebsocket_sigint_cfg for libev builds to provide
Andrew Canaday [Mon, 27 Apr 2015 02:50:59 +0000 (22:50 -0400)]
Added libwebsocket_sigint_cfg for libev builds to provide
 runtime configuration of sigint behavior.

8 years agoPass the correct hostname when using a proxy
Marc Aldorasi [Tue, 30 Jun 2015 18:35:01 +0000 (14:35 -0400)]
Pass the correct hostname when using a proxy

The proxy doesn't modify the SNI request, so we need to pass the name of
the host we're trying to reach instead of the proxy we're reaching it
through.

8 years agoSeparate private defines in lws_config_private.h
Roger A. Light [Fri, 26 Jun 2015 09:40:54 +0000 (11:40 +0200)]
Separate private defines in lws_config_private.h

So we don't expose all HAVE_ macros and such to the world.

8 years agoFix potential memory leak
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Thu, 25 Jun 2015 15:51:07 +0000 (17:51 +0200)]
Fix potential memory leak

- Got rid of ifdef _WIN32 stuff adn moved to plat_ files instead.
- Also, check all calls to lws_zalloc, was potential failure on WIN32
- Made context destory enable to destroy a half inited context as well. This way I got get rid of some of the error handling complexity in libwebsocket_create_context
- Added TODOs for some potential problems I see where things might be leaking and such

8 years agoBugfix: SSL code should not free wsi
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Thu, 25 Jun 2015 15:14:44 +0000 (17:14 +0200)]
Bugfix: SSL code should not free wsi

The SSL code should not do lws_free(new_wsi) here. The caller should clean up the wsi in libwebsocket_close_and_free_session. Instead this can potentially cause a crash during that call.

Also if we fail to create the SSL for hte listener we should indicate failure to the caller.

8 years agoTurn off building windows installer, breaks everything
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Thu, 25 Jun 2015 11:57:16 +0000 (13:57 +0200)]
Turn off building windows installer, breaks everything

8 years agoFrom 0a0b9a6d02037e93dabadad5e04d39c1c6af0c96 Mon Sep 17 00:00:00 2001
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Wed, 24 Jun 2015 16:01:14 +0000 (18:01 +0200)]
From 0a0b9a6d02037e93dabadad5e04d39c1c6af0c96 Mon Sep 17 00:00:00 2001
Subject: [PATCH] Update Openssl lib version

8 years agoDon't mess with system types
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Wed, 24 Jun 2015 15:48:52 +0000 (17:48 +0200)]
Don't mess with system types

is no problem on a unix system with sys/types.h

However on Windows it will result in a #undef pid_t ... When libwebsockets is used with pthreads32 which typedefs pid_t itself, it will fail to build with some weird errors.

Also since we're exporitng these macros to the entire world via libwebsockets.h we should not define a VERSION macro. Which is defined improperly anyway.

8 years agoUse LWS_HAVE_ instead of just HAVE_
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Wed, 24 Jun 2015 14:46:02 +0000 (16:46 +0200)]
Use LWS_HAVE_ instead of just HAVE_

Since we include lws_config.h in the public headers, at least our HAVE_ macros should be kind of unique, so that we don't get redefinitions when used with other libraries using config files as well.

8 years agoFix windows build errors
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Mon, 8 Jun 2015 12:42:13 +0000 (14:42 +0200)]
Fix windows build errors

NSI installer errors causing failed windows builds

8 years agouse send MSG_NOSIGNAL
Andy Green [Mon, 12 Oct 2015 00:43:36 +0000 (08:43 +0800)]
use send MSG_NOSIGNAL

after

https://github.com/fancycode/libwebsockets/commit/810dbadd6b4cc3e192d050c81fc3ec8e652c41c6

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoFix shared library name for all platforms
Roger A. Light [Tue, 5 May 2015 20:02:08 +0000 (15:02 -0500)]
Fix shared library name for all platforms

This is a further fix to f1b1254, building on 26fd0d2.

Tidy up the LWS_WITH_SHARED and LWS_WITH_STATIC options.

8 years agoAllow using CyaSSL in stead of wolfSSL
ABruines [Sun, 9 Aug 2015 20:56:32 +0000 (22:56 +0200)]
Allow using CyaSSL in stead of wolfSSL

8 years agoUpdate http-link to wolfSSL in README.build.md
ABruines [Sun, 9 Aug 2015 16:51:12 +0000 (18:51 +0200)]
Update http-link to wolfSSL in README.build.md

8 years agoMove from CyaSSL to wolfSSL
Alexander Bruines [Sat, 8 Aug 2015 16:54:49 +0000 (18:54 +0200)]
Move from CyaSSL to wolfSSL

This patch lets libwebsockets use the lastest version of wolfSSL (the new name for CyaSSL).
The reason for the patch is that allthough wolfSSL provides compatibility headers for (old) projects using CyaSSL,
these are incomplete and do not work for libwebsockets.

The patch also fixes a typo in CMakeLists.txt where CYASSL_LIBRARIES was added to include_directories() instead of CYASSL_INCLUDE_DIRS.

Signed-off-by: ABruines <alexander.bruines@gmail.com>
8 years agofix #309. Receive large messages over WSS
=?UTF-8?q?Jos=C3=A9=20Luis=20Mill=C3=A1n?= [Wed, 19 Aug 2015 14:23:33 +0000 (16:23 +0200)]
fix #309. Receive large messages over WSS

Read the full incoming TLS/SSL record at once in libwebsocket_service_fd().

SSL_read() is called until no more pending data for the current record is buffered in SSL.
SSL_read() is never requested more than the pending data size for the current record
to ensure that the fd is not read again for new data, which would be copied in the SSL buffer otherwise.

8 years agoPass HTTP reject error code returned by server to client
MGadkari [Fri, 21 Aug 2015 10:45:36 +0000 (16:15 +0530)]
Pass HTTP reject error code returned by server to client

AG: added changelog and documentation comment

Signed-off-by: Gadkari Mugdha <mugdha.gadkari@siemens.com>
Reviewed-by: Roger Meier <r.meier@siemens.com>
HTTP reject error code returned by server during HTTP handshake is extracted and sent to the client application.
With this fix, the Connection error callback will include the HTTP reject status code and response frame received from server. This string passed in Connection error callback can be read or ignored by client application based on client application requirement

8 years agoFixing occasional failure of connect() on Windows
Frugality [Wed, 26 Aug 2015 18:31:28 +0000 (11:31 -0700)]
Fixing occasional failure of connect() on Windows

See: https://msdn.microsoft.com/en-us/library/windows/desktop/ms737625(v=vs.85).aspx

Specifically the section reading:

"Until the connection attempt completes on a nonblocking socket, all subsequent calls to connect on the same socket will fail with the error code WSAEALREADY, and WSAEISCONN when the connection completes successfully. Due to ambiguities in version 1.1 of the Windows Sockets specification, error codes returned from connect while a connection is already pending may vary among implementations. As a result, it is not recommended that applications use multiple calls to connect to detect connection completion. If they do, they must be prepared to handle WSAEINVAL and WSAEWOULDBLOCK error values the same way that they handle WSAEALREADY, to assure robust operation."

8 years agoappveyor update windows openssl blob url
Andy Green [Sun, 11 Oct 2015 08:46:33 +0000 (16:46 +0800)]
appveyor update windows openssl blob url

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoAdded callback for PONG responses
John Tarlton [Mon, 5 Oct 2015 10:35:52 +0000 (11:35 +0100)]
Added callback for PONG responses

8 years ago[PATCH] added timeout reset in serve_http_file_fragment to prevent timeout on big...
=?UTF-8?q?Dalibor=20Ba=C4=8Da?= [Sat, 10 Oct 2015 16:17:42 +0000 (18:17 +0200)]
[PATCH] added timeout reset in serve_http_file_fragment to prevent timeout on big files

9 years agocmake remove targets from install path
Andy Green [Wed, 29 Apr 2015 14:40:55 +0000 (22:40 +0800)]
cmake remove targets from install path

No package on my machine populates cmake files, I think it's extraneous.

Signed-off-by: Andy Green <andy.green@linaro.org>
9 years agocmake revert change to linux so
Andy Green [Wed, 29 Apr 2015 11:28:37 +0000 (19:28 +0800)]
cmake revert change to linux so

Put back the stanza fixing the .so name to what it has always been
on Linux, trashed in f1b12544

Signed-off-by: Andy Green <andy.green@linaro.org>
9 years agoclose CLIENT_WAITING_CONNECT should callback CONNECTION_ERROR
Andy Green [Mon, 27 Apr 2015 11:07:38 +0000 (19:07 +0800)]
close CLIENT_WAITING_CONNECT should callback CONNECTION_ERROR

Signed-off-by: Andy Green <andy.green@linaro.org>
9 years agoclose also enable pollout processing for post send close state
Andy Green [Sat, 25 Apr 2015 22:09:13 +0000 (06:09 +0800)]
close also enable pollout processing for post send close state

This should solve the 100% cpu at close problem reported by Bruce Perens

Signed-off-by: Andy Green <andy.green@linaro.org>
9 years agoclose send close ack control packet type
Andy Green [Sat, 25 Apr 2015 21:32:03 +0000 (05:32 +0800)]
close send close ack control packet type

Noticed by Andrey Pokrovskiy

Close processing reused ping processing to save and send the payload,
and sets a flag to know it's close, but forgot to change the control
packet accordingly.

Signed-off-by: Andy Green <andy.green@linaro.org>
9 years agoSubject: [PATCH] Multiple changes in the build process
wonder-mice [Wed, 22 Apr 2015 17:52:13 +0000 (10:52 -0700)]
Subject: [PATCH] Multiple changes in the build process

* Default CMAKE_BUILD_TYPE to Release
* Use CMAKE_BUILD_TYPE to define _DEBUG (NDEBUG is more standard though,
  but cmake defines it)
* Drop LWS_WITHOUT_DEBUG (use CMAKE_BUILD_TYPE for that)
* Drop LWS_NO_EXTERNAL_POLL (was not used)
* Drop CMAKE_BUILD (CMake is the only build system now)
* Add LWS_WITH_STATIC and LWS_WITH_SHARED to choose what version(s) to
  build
* Add LWS_XXX_LIBRARIES and LWS_XXX_INCLUDE_DIRS for each library
  dependency (zlib, openssl, libev, cyassl)
* Support setting of XXX_LIBRARIES, XXX_LIBRARIES and XXX_INCLUDE_DIRS
  by parent project (when included with add_subdirectory())
* Rename LWS_USE_EXTERNAL_ZLIB to LWS_USE_BUNDLED_ZLIB and default it to
  NO (since it's Windows only)
* Default LWS_WITHOUT_DAEMONIZE to NO (since network lib shouldn't know
  how to do it anyway)
* Rename config.h.cmake to lws_config.h.in
* Rename shared library to websockets_shared so linker will not be
  confused
* Fix inline keyword detection in clang
* Explicitly set MACOSX_RPATH to YES on MacOS

9 years agoSubject: [PATCH] Fix unused n variable warning in http2.c
wonder-mice [Wed, 22 Apr 2015 23:30:45 +0000 (16:30 -0700)]
Subject: [PATCH] Fix unused n variable warning in http2.c

9 years agoSubject: [PATCH] Add missing lib/header.c file
wonder-mice [Wed, 22 Apr 2015 18:35:37 +0000 (11:35 -0700)]
Subject: [PATCH] Add missing lib/header.c file

File was lost during merge to upstream.

9 years agoSubject: [PATCH] Be quite when executing openssl commands
wonder-mice [Wed, 22 Apr 2015 20:17:53 +0000 (13:17 -0700)]
Subject: [PATCH] Be quite when executing openssl commands

9 years agoFrom 04da2ccd1e8c5b582c4e2a77ee53f929ae8f22a0 Mon Sep 17 00:00:00 2001
wonder-mice [Wed, 22 Apr 2015 07:16:57 +0000 (00:16 -0700)]
From 04da2ccd1e8c5b582c4e2a77ee53f929ae8f22a0 Mon Sep 17 00:00:00 2001
Subject: [PATCH] Always include lws_config.h since now we have only CMake
 build

9 years agoSubject: [PATCH] Fix broken libev support in client mode
wonder-mice [Wed, 22 Apr 2015 18:27:45 +0000 (11:27 -0700)]
Subject: [PATCH] Fix broken libev support in client mode

9 years agorefactor allow http parse also for client
wonder-mice [Wed, 22 Apr 2015 21:37:46 +0000 (05:37 +0800)]
refactor allow http parse also for client

9 years agoSubject: [PATCH] Don't fail on non-existing files
Joakim Soderberg [Tue, 21 Apr 2015 14:56:11 +0000 (16:56 +0200)]
Subject: [PATCH] Don't fail on non-existing files

9 years agoSubject: [PATCH] Don't build installer on noserver build.
Joakim Soderberg [Tue, 21 Apr 2015 14:26:44 +0000 (16:26 +0200)]
Subject: [PATCH] Don't build installer on noserver build.

Building the installer like this is a bad idea... Better to move it into
the CMakeLists.txt and be aware of what is being build and so on using
CPack.

9 years agoSubject: [PATCH] Fix windows build
=?UTF-8?q?Joakim=20S=C3=B6derberg?= [Tue, 21 Apr 2015 12:43:38 +0000 (14:43 +0200)]
Subject: [PATCH] Fix windows build

New version of OpenSSL

9 years agoEnsure proper cleanup is performed if last websocket is
Joe Kilner [Tue, 21 Apr 2015 09:41:36 +0000 (10:41 +0100)]
Ensure proper cleanup is performed if last websocket is
 closed.

9 years agoFix broken libev support in client mode
Pokrovskiy [Tue, 21 Apr 2015 07:53:59 +0000 (00:53 -0700)]
Fix broken libev support in client mode

Maybe it will be better to move all lws_libev_io() inside
lws_change_pollfd() to avoid similar problems in future.
The same for lws_libev_accept() and insert_wsi_socket_into_fds().