Commit graph

196 commits

Author SHA1 Message Date
Alejandro Mery
cdc9717be1 Subject: [PATCH] Add custom allocator support using the realloc() interface
Signed-off-by: Alejandro Mery <amery@geeks.cl>
2014-12-05 07:25:24 +08:00
Michael Haberler
49d0ce17d5 Subject: [PATCH] serve_http_file: add feature test macro for API change
introduced in 917f43
2014-12-01 21:47:37 +08:00
Andy Green
a3439032db win32 does not know uint64_t without stdint.h
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-11-30 13:17:35 +08:00
Andy Green
97ee57fa35 http2 window update
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-11-02 06:54:09 +08:00
Andy Green
200f385716 http2 track content length add END_STREAM
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-18 12:23:05 +08:00
Andy Green
91b0589795 http2 handle flags
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-17 09:33:16 +08:00
joseph.urciuoli
4d9c8fc01a ssl allow externally managed SSL_CTX
Signed-off-by: joseph.urciuoli <trac90@UNKNOWN.org>
2014-10-16 08:53:19 +08:00
Andy Green
917f43ab82 http2 able to send test.html to nghttp2
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-12 14:31:47 +08:00
Andy Green
2add6340d5 http2 hpack basic decode ok including huff
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-12 08:38:16 +08:00
Andy Green
ecc2e72ca1 http2 add hpack decode support
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-10 06:15:02 +08:00
Andy Green
024eb6c80c http2 can keep upgraded connection up
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-08 12:00:53 +08:00
Andy Green
1ee42a5f05 add http2 settings token
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-09-30 08:27:29 +08:00
Andy Green
9887bdb438 test server correct header naming order
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-09-30 08:23:06 +08:00
Andy Green
14425eae4e introduce lws_partial_buffered
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-08-18 22:49:39 +08:00
Andy Green
822241c2a7 deprecate no_buffer_all_partials
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-08-18 22:21:51 +08:00
Andy Green
b128ccccca add lws_is_ssl api
Suggested by Michael Harbler on the mailing list

Signed-off-by: Andy Green <andy.green@linaro.org>
2014-08-16 09:54:27 +08:00
Michael Haberler
a2d3bf1e4d api: add feature test macro LWS_FEATURE_PROTOCOLS_HAS_ID_FIELD 2014-08-11 20:49:16 +08:00
Andy Green
eabed8defe protocol struct add user controlled id member
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-08-11 12:11:36 +08:00
Andy Green
a40760a2de no protocol usage inprove docs
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-08-07 16:52:15 +08:00
Andy Green
67f94599d2 trac82 consistently use CONTEXT_PORT_NO_LISTEN
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-07-31 09:44:00 +08:00
Oleh
faeac3c419 ssl allow passing cert passphrase
https://github.com/warmcat/libwebsockets/issues/152
2014-07-29 23:18:41 +08:00
Andy Green
f55b2eff0a add runtime context flag to enforce defeat of OS CA CERTS even if build option selected
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-07-06 09:36:44 +08:00
Andrew Canaday
da55fb5208 Added HTTP OPTIONS support:
- added options to minilex.c
     - regenerated lextable.h
     - added WSI_TOKEN_OPTIONS_URI to libwebsockets.h
     - tweaked parsers.c to accommodate OPTIONS token
     - tweaked server.c to set uri_ptr and uri_len for HTTP callback on OPTIONS as well
2014-07-06 09:36:43 +08:00
Andrew Canaday
3d2ebf3cd7 Added docs for token limits. 2014-07-06 09:33:40 +08:00
Andrew Canaday
74b4a65745 Added optional per-header length limits:
- libwebsockets.h:
 - * added struct lws_token_limits
   * added token limits pointer to lws_context_creation_info
 - private-libwebsockets.h: added token limits pointer to lws_context_creation_info
 - context.c: copy token limits in create_context
 - client.c / server.c: pass context when invoking libwebsocket_parse
 - parsers.c:
 - * libwebsocket_parse takes context pointer
   * issue_char takes context pointer and checks header length against context limits, if defined
   * issue_char returns 1 (not -1/0) for header too long, and spill: sets the state to WSI_TOKEN_SKIPPING
2014-07-06 09:33:40 +08:00
Andrew Canaday
b57e7a0e2e Added HTTP_STATUS_NO_CONTENT == 204 2014-07-06 09:33:40 +08:00
Andrew Canaday
4220327520 Added new HTTP headers and WSI tokens:
- "access-control-request-headers:" <-- WSI_TOKEN_HTTP_AC_REQUEST_HEADERS
 - "if-none-match:" <-- WSI_TOKEN_HTTP_IF_NONE_MATCH
2014-06-28 20:19:57 -04:00
Andy Green
6ea337aa3e introduce LWS_FEATURE_ tests
Help user code be compatible with multiple LWS versions by
providing #ifdef -testable flags for API changes

Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-21 08:27:19 +09:00
Andy Green
a717df2739 refactor libev eliminate all code ifdefs
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-11 13:14:37 +08:00
Andy Green
02138126f2 refactor add ssl read write single implementation
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-06 06:26:35 +01:00
Andy Green
2c24ec0211 refactor out most NO_EXTENSIONS
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-02 19:45:42 +08:00
Andy Green
158e804cb7 refactor out WIN32 tests from code
This gets rid of all the platform-dependent #ifdef stuff and
migrates it into the new lws-plat-xxx.c files.

These are then included in a one-time test in libwebsockets.c
according basically to Windows or not.

The idea is from now on, all Windows-specific code should go in
lws-plat-win.c, where any kind of Windows perversion like DWORD
is fine.

Any new functions going in there should be named lws_plat_...
and be defined in all the lws-plat-xxx.c file (currently just
win32 and unix platforms are supported).

Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-02 14:25:10 +08:00
Patrick Gansterer
ac49f1e97f Remove useless usage of ssize_t 2014-03-30 10:18:51 +02:00
Patrick Gansterer
73882e49fc Remove websock-w32.h 2014-03-29 08:25:58 +01:00
James Devine
3f13ea2264 add ipv6 support
(changed to support runtime disable + integration by andy@warmcat.com)
2014-03-24 16:09:25 +08:00
Andrew Canaday
9769f4f293 libev port
merged by andy@warmcat.com via https://github.com/gaby64/libwebsockets-libev

To use, you need to both

 - cmake ---> -DLWS_USE_LIBEV=1

 - info->options must have LWS_SERVER_OPTION_LIBEV set when creating the context

this is so a single library can be built for distros to support apps that use
normal polling and apps that use libev polling.
2014-03-23 13:25:07 +08:00
Patrick Gansterer
1ee57f6fe8 Add libwebsocket_cancel_service() to let a pending libwebsocket_service() return
Use poll() with a pipe instead of ppoll() to allow the stop polling
on all UNIX platforms.
2014-03-08 09:31:49 +08:00
Patrick Gansterer
cb6ee152d2 Define libwebsocket_write_http as a macro instead of inline
This solves two problems:
a) We do not need to use the keyword inline in the public header.
b) We avoid a possible warning about an unused static function.
2014-03-03 19:50:42 +08:00
Andy Green
ae1a8be61a win32 provide empty declaration for inline
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-03-03 07:21:30 +08:00
Patrick Gansterer
148b945f7f Allow setting the HTTP proxy via creation info
If the user provides a proxy via the info object it is used
in favor over the http_proxy environment variable.
2014-02-28 09:39:21 +08:00
Patrick Gansterer
92792b4eef Avoid calls to gettimeofday()
Add a new function to get the current time in microseconds, since gettimeofday() does not exist on Windows.
Keep the current implementation for the test applications.
2014-02-27 21:04:18 +08:00
Patrick Gansterer
2ff6955046 Add missing LWS_VISIBLE to libwebsocket_set_timeout()
This aligns it with the style of all other function declarations.
2014-02-27 20:46:38 +08:00
Joakim Soderberg
7b7b7b2734 Fix windows compilation. 2014-02-27 07:15:24 +08:00
Michael Haberler
8284cf18ad document new extpoll apis 2014-02-15 20:35:05 +08:00
Michael Haberler
b309305a7e replace old extpoll callbacks with LWS_CALLBACK_CHANGE_MODE_POLL_FD 2014-02-15 20:18:24 +08:00
Michael Haberler
cb7330680e define struct libwebsocket_pollargs 2014-02-15 20:15:55 +08:00
Andy Green
76b6ea191c add outermost wsi lifetime callbacks
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-02-15 19:25:50 +08:00
Andy Green
09f005819a LWS_CALLBACK_USER
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-02-15 16:49:41 +08:00
Andy Green
e39e6ef926 libwebsocket_callback_all_protocol
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-02-15 16:36:38 +08:00
Gabriel Gritsch
890f8e992b add const http write helper
Since libwebsocket_write doesn't change the source buffer in HTTP protocol,
we can have a little helper to hide the harmless cast
2014-02-15 16:20:25 +08:00