Commit graph

1414 commits

Author SHA1 Message Date
=?UTF-8?q?Joakim=20S=C3=B6derberg?=
cefab311d6 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.
2015-10-12 09:53:17 +08:00
Andy Green
6f1e8849bd use send MSG_NOSIGNAL
after

810dbadd6b

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-10-12 08:43:36 +08:00
ABruines
80a7068ec8 Allow using CyaSSL in stead of wolfSSL 2015-10-12 08:17:55 +08:00
Alexander Bruines
c3bcb89d01 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>
2015-10-12 08:14:50 +08:00
=?UTF-8?q?Jos=C3=A9=20Luis=20Mill=C3=A1n?=
4c0ba02771 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.
2015-10-12 08:07:38 +08:00
MGadkari
020c53c8cc 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
2015-10-12 07:51:34 +08:00
Frugality
92b69635dd 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."
2015-10-12 07:47:51 +08:00
John Tarlton
05fc6bab0d Added callback for PONG responses 2015-10-11 16:25:57 +08:00
=?UTF-8?q?Dalibor=20Ba=C4=8Da?=
5400f47efe [PATCH] added timeout reset in serve_http_file_fragment to prevent timeout on big files 2015-10-11 16:14:11 +08:00
Andy Green
b7a721f803 close CLIENT_WAITING_CONNECT should callback CONNECTION_ERROR
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-27 19:07:38 +08:00
Andy Green
4bca6cd367 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>
2015-04-26 06:09:13 +08:00
Andy Green
82eccf7611 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>
2015-04-26 05:32:03 +08:00
wonder-mice
644fea11c5 Subject: [PATCH] Fix unused n variable warning in http2.c 2015-04-24 07:25:51 +08:00
wonder-mice
0c5aa2f484 Subject: [PATCH] Add missing lib/header.c file
File was lost during merge to upstream.
2015-04-24 07:22:52 +08:00
wonder-mice
41802c7a98 From 04da2ccd1e8c5b582c4e2a77ee53f929ae8f22a0 Mon Sep 17 00:00:00 2001
Subject: [PATCH] Always include lws_config.h since now we have only CMake
 build
2015-04-23 06:10:51 +08:00
wonder-mice
bd2a6c6477 Subject: [PATCH] Fix broken libev support in client mode 2015-04-23 06:06:10 +08:00
wonder-mice
dd32c24df6 refactor allow http parse also for client 2015-04-23 05:37:46 +08:00
Joe Kilner
ba8a2f095c Ensure proper cleanup is performed if last websocket is
closed.
2015-04-22 15:57:17 +08:00
Pokrovskiy
20636ec970 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().
2015-04-22 07:50:44 +08:00
Andy Green
40d5abc2aa close reply must use writable control reply path
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-17 20:29:58 +08:00
Andy Green
bb90f9b7e6 client error on timeout before connection
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-16 19:55:42 +08:00
Andy Green
d3efcd9461 windows check for NULL getprotobyname
From maxkaro on trac #110
https://libwebsockets.org/trac/libwebsockets/ticket/110

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-16 04:24:38 +08:00
Andy Green
408f537975 timeout counts as pernmanently unusable close
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-12 08:17:26 +08:00
Danomi Czaski
7fb366a9ef client getaddrinfo valgrind fix
Signed-off-by: Danomi Czaski <djczaski@gmail.com>
2015-04-11 07:00:51 +08:00
Andy Green
8fb338f71c parser restrict unknown header paranoia to server methods
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-07 08:19:30 +08:00
Andy Green
9f02c5dc24 close cover flush stored send with timeout
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-04-01 05:34:18 +08:00
Andy Green
2a5774edca unsigned char by default compiler compatibility
http://ml.libwebsockets.org/pipermail/libwebsockets/2015-March/001705.html

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-30 18:56:52 +08:00
Andy Green
bddb3dcce9 context destroy just kill wsis ugh add missing bit
Unsaved file...

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-28 10:35:53 +08:00
Jose Luis Millan
45a04b6240 set server listening wsi use_ssl status
If the server option to allow non-ssl is enabled,
it will force this cleared when it sees that has happened
2015-03-28 10:20:50 +08:00
Andy Green
8ec7802935 context destroy just kill wsis
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-25 01:53:58 +08:00
Andy Green
106d4a8a50 ping client ping handling use same infrastructure as server
First part of this:

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

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-24 21:22:52 +08:00
Andy Green
2fd6e6fb55 ping allow zero length PING
Part of

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

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-24 21:07:01 +08:00
Andy Green
ec86b4e6c4 documentation add info http_proxy members
From https://libwebsockets.org/trac/libwebsockets/ticket/104

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-11 08:35:15 +08:00
banthonywalker
dd020b4b04 Subject: [PATCH 1/2] fix win32 context memory leak 2015-03-10 21:53:17 +08:00
Andy Green
c67dace4be clean remove x perm on two sources
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-04 19:21:40 +08:00
Andy Green
3a9f79e693 use initgroups in plat unix
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-03-04 16:16:41 +08:00
banthonywalker
418a49b9e8 Subject: [PATCH] call lws_plat_inet_ntop instead of inet_ntop 2015-02-28 21:53:47 +08:00
Andy Green
93d947c924 LWS_WITHOUT_DEBUG fix unused var
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-02-20 07:37:20 +08:00
Johan Simonsson
bb87ac82d1 From 03b93ec864c29dfbc41f2adbdf1b639f5403c95f Mon Sep 17 00:00:00 2001
Subject: [PATCH] Added c include

Fixes #220 and #223
2015-02-04 19:35:47 +08:00
Andy Green
1dce6c06ea client avoid double free on error path
via dj1yfk on trac #99

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-02-01 07:19:46 +08:00
Drew Noakes
2121e8a7fc Subject: [PATCH] Fix bug parsing unknown headers.
Bug was introduced in 49f72aa45.
2015-01-30 20:09:20 +08:00
Bud Davis
229bfec948 win32 use hashtable for fd management
At least some win32 uses an opaque pointer for fd that is not
an ordinal like it is in unix.

Resurrect the old hashtable management for that platform to use
instead, and introduce a helper to get the wsi from the fd "somehow".

Signed-off-by: Bud Davis <bdavis9659@gmail.com>
2015-01-30 10:48:57 +08:00
Andy Green
413b3a6c55 ssl pendding buffered reads dont dereference first time
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-01-30 10:33:00 +08:00
Andy Green
30edd910b6 ssl pending buffered reads unbreak NO_SSL
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-01-29 09:42:22 +08:00
Andy Green
5281560000 ssl pending buffered reads use linked list
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-01-29 08:36:18 +08:00
Andy Green
7e37d10e47 gethostbyname removal from lws get peer addresses
This replaces gethostbyname in libwebsockets_get_peer_addresses and
in the client handshake path.

There's one left in lws-plat-win but that can be done another time.

Let's see how much damage that did to the cross-platform and option
builds...

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-01-28 21:03:49 +08:00
Drew Noakes
6a779771f4 Callback with reason LWS_CALLBACK_CLOSED_HTTP when HTTP closed before serve.
If the remote HTTP client closes the connection before serving commences, the
only notification client code receives is LWS_CALLBACK_WSI_DESTROY. This commit
gives LWS_CALLBACK_CLOSED_HTTP as well, as would happen if HTTP serving had
already commenced.
2015-01-28 04:15:13 +08:00
Steven Y Lai
cee2a063e9 getifaddrs needs private libwebsockets.h
via trac

Signed-off-by: Steven Y Lai <stevenylai@INVALID.com>
2015-01-26 20:04:34 +08:00
Imo Farcher
97a748a2d0 plat unix 64 bit timestamps on 32-bit os
Signed-off-by: Imo Farcher <ifar@gmx.net>
2015-01-26 15:39:36 +08:00
Quinlan Pfiffer
49f72aa451 Add PATCH, PUT, DELETE methods
AG: rewrite method code to use method arrays
2015-01-26 11:25:13 +08:00