platform/upstream/libwebsockets.git
8 years agoAllow zero-length pong to be received by server
Andrejs Hanins [Tue, 1 Dec 2015 12:44:33 +0000 (14:44 +0200)]
Allow zero-length pong to be received by server

Client code already allows zero-length pongs

8 years agoosx clang blows up if pthreads flag at link time 2
Andy Green [Sun, 29 Nov 2015 12:17:49 +0000 (20:17 +0800)]
osx clang blows up if pthreads flag at link time 2

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoosx clang blows up if pthreads flag at link time
Andy Green [Sun, 29 Nov 2015 11:41:13 +0000 (19:41 +0800)]
osx clang blows up if pthreads flag at link time

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoDefine 'daemonize' flag if LWS_NO_DAEMONIZE is not defined.
Andrew Canaday [Sun, 29 Nov 2015 11:32:02 +0000 (19:32 +0800)]
Define 'daemonize' flag if LWS_NO_DAEMONIZE is not defined.

8 years agoC89 tweaks as per #348.
Andrew Canaday [Sun, 29 Nov 2015 11:26:01 +0000 (19:26 +0800)]
C89 tweaks as per #348.

8 years agoTerminate truncated header strings.
Andrew Canaday [Sun, 29 Nov 2015 11:24:04 +0000 (19:24 +0800)]
Terminate truncated header strings.

8 years agoosx clang quench deprecated api errors
Andy Green [Sun, 29 Nov 2015 11:19:09 +0000 (19:19 +0800)]
osx clang quench deprecated api errors

after approach by redhat

https://bugzilla.redhat.com/show_bug.cgi?id=1155181

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoissue 352 clang is like gcc for cmake purposes
Andy Green [Sun, 29 Nov 2015 10:52:37 +0000 (18:52 +0800)]
issue 352 clang is like gcc for cmake purposes

After ohauer

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

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agotest server h add newline
Andy Green [Wed, 25 Nov 2015 04:46:08 +0000 (12:46 +0800)]
test server h add newline

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agombed3 working examples
Andy Green [Wed, 25 Nov 2015 00:22:08 +0000 (08:22 +0800)]
mbed3 working examples

You need sal-stack-lwip > 1.0.4 with the listen fix

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agossl treat WANT_READ and WRITE separately
Andy Green [Tue, 24 Nov 2015 07:53:05 +0000 (15:53 +0800)]
ssl treat WANT_READ and WRITE separately

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoclean out mbed3 lwip hacks
Andy Green [Tue, 24 Nov 2015 08:06:22 +0000 (16:06 +0800)]
clean out mbed3 lwip hacks

this upstream mbed patch on sal-stack-lwip sorts the listen probs

https://github.com/bremoran/sal-stack-lwip/commit/a8adf15739cc65acf835ee4c21d5b72a6106195b.patch

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agohttp post zero content length
Andy Green [Fri, 20 Nov 2015 11:31:57 +0000 (19:31 +0800)]
http post zero content length

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoreturn AWAITING_TIMEOUT to 5s
Andy Green [Fri, 20 Nov 2015 10:52:48 +0000 (18:52 +0800)]
return AWAITING_TIMEOUT to 5s

Debugging MBED set it to 20 for a few days

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agotest server pthreads
Andy Green [Fri, 20 Nov 2015 01:33:02 +0000 (09:33 +0800)]
test server pthreads

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agoCALLBACK_LOCK_POLL use len to differentiate locking on pollfd change
Andy Green [Fri, 20 Nov 2015 01:51:18 +0000 (09:51 +0800)]
CALLBACK_LOCK_POLL use len to differentiate locking on pollfd change

Signed-off-by: Andy Green <andy.green@linaro.org>
8 years agowindows crappy tools dont know __func__
Andy Green [Thu, 19 Nov 2015 09:14:35 +0000 (17:14 +0800)]
windows crappy tools dont know __func__

Signed-off-by: Andy Green <andy.green@linaro.org>
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