platform/upstream/libwebsockets.git
7 years agoper-vhost headers and lwsws conf support
Andy Green [Sat, 27 Aug 2016 09:07:06 +0000 (17:07 +0800)]
per-vhost headers and lwsws conf support

This l;ets you add per-vhost arbitrary headers on served files, eg

     "headers": [{
        "X-Content-Type-Options": "nosniff",
        "X-XSS-Protection": "1; mode=block",
        "x-frame-options": "SAMEORIGIN"
        }],

7 years agoUpdate badges in README.md
Patrick Gansterer [Fri, 26 Aug 2016 21:42:04 +0000 (23:42 +0200)]
Update badges in README.md

Fix the link to Appveyor and use SVG images.

7 years agoRemove unneeded #include <stdint.h>
Patrick Gansterer [Fri, 26 Aug 2016 08:49:29 +0000 (10:49 +0200)]
Remove unneeded #include <stdint.h>

This fixes the build for Visual Studio 2008.

7 years agotest html: js date uses ms
Andy Green [Tue, 23 Aug 2016 10:29:17 +0000 (18:29 +0800)]
test html: js date uses ms

7 years agocgi-retain-timeout-after-POST-send
Andy Green [Tue, 23 Aug 2016 06:20:11 +0000 (14:20 +0800)]
cgi-retain-timeout-after-POST-send

Sending the POST data isn't enough to let us off the hook for timeout checks, if we
are doing a CGI on it.

7 years agoquench logging
Andy Green [Sun, 21 Aug 2016 23:07:10 +0000 (07:07 +0800)]
quench logging

7 years agocgi: deal with all methods correctly
Andy Green [Fri, 19 Aug 2016 22:34:46 +0000 (06:34 +0800)]
cgi: deal with all methods correctly

7 years agouv: dont handle SIGSEGV, SIGFPE
Andy Green [Fri, 19 Aug 2016 21:47:29 +0000 (05:47 +0800)]
uv: dont handle SIGSEGV, SIGFPE

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

7 years agoRemove context from lws_context_per_thread for non-libuv builds
Patrick Gansterer [Sun, 14 Aug 2016 12:04:56 +0000 (14:04 +0200)]
Remove context from lws_context_per_thread for non-libuv builds

The variable is never read when built without libuv.

7 years agoAdd error handling for SSL_new() of clients
Patrick Gansterer [Sun, 14 Aug 2016 10:51:15 +0000 (12:51 +0200)]
Add error handling for SSL_new() of clients

Do not access wsi->ssl if SSL_new() failed and log the error.

7 years agoFix signature of lws_create_vhost() in README.coding.md
Patrick Gansterer [Sun, 14 Aug 2016 10:38:03 +0000 (12:38 +0200)]
Fix signature of lws_create_vhost() in README.coding.md

7 years agoAllow serving files without known mimetype
Patrick Gansterer [Sat, 13 Aug 2016 09:17:53 +0000 (11:17 +0200)]
Allow serving files without known mimetype

RFC2616 only says that any HTTP/1.1 message containing an entity-body
SHOULD include a Content-Type header field defining the media type of
that body.
RFC2119 defines SHOULD as: This word mean that there may exist valid
reasons in particular circumstances to ignore a particular item, but
the full implications must be understood and carefully weighed before
choosing a different course.

AG: this isn't an oversight, it's paranoia about sending out /etc/passwd
or /etc/shadow accidentally.

I agree it should be allowed if people really want to override it.  But
the default should remain like it is I think.

I adapted the patch to allow the extra mimetype "*": "" to be declared on
a mount, as a wildcard match that serves the file without a Content-Type.

7 years agoserver max protocol element 64
Andy Green [Wed, 10 Aug 2016 21:36:08 +0000 (05:36 +0800)]
server max protocol element 64

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

7 years agoclient-add-PUSH-http-body-capability
Andy Green [Mon, 8 Aug 2016 13:54:30 +0000 (21:54 +0800)]
client-add-PUSH-http-body-capability

Support HTTP body sending on client connections.

Add demo to test-client.

Run the normal test server, then

$ libwebsockets-test-client http://localhost:7681/formtest -o

It will post the string "hello" to the POST test using application/x-www-form-urlencoded

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

Also ensures any of the Client HTTP transient modes will call back LWS_CALLBACK_CLOSED_CLIENT_HTTP
if they close

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

7 years agoclient fixups after esp8266
Andy Green [Sun, 7 Aug 2016 00:33:08 +0000 (08:33 +0800)]
client fixups after esp8266

7 years agoesp8266 initial support
Andy Green [Sat, 23 Jul 2016 06:18:25 +0000 (14:18 +0800)]
esp8266 initial support

7 years agobase64 decode fix lengths
Andy Green [Wed, 3 Aug 2016 19:18:36 +0000 (03:18 +0800)]
base64 decode fix lengths

7 years agoah detach: don't print held time if actually detached
Andy Green [Tue, 19 Jul 2016 01:38:48 +0000 (09:38 +0800)]
ah detach: don't print held time if actually detached

Confusingly an ah held time was printed for a previously detached ah.

Clear down the time field when detaching the ah so this can't happen any more.

7 years agows ping pong on idle connections
Andy Green [Fri, 15 Jul 2016 05:41:38 +0000 (13:41 +0800)]
ws ping pong on idle connections

This adds a new member to the context creation info struct "ws_ping_pong_interval".

If nonzero, it sets the number of seconds that established ws connections are
allowed to be idle before a PING is forced to be sent.  If zero (the default) then
tracking of idle connection is disabled for backwards compatibility.

Timeouts cover both the period between decision to send the ping and it being
sent (because it needs the socket to become writeable), and the period between
the ping being sent and the PONG coming back.

INFO debug logs are issues when the timeout stuff is operating.

You can test the server side by running the test server hacked to set ws_ping_pong_interval
and debug log mask of 15.  Both the mirror protocol and the server-status protocol are
idle if nothing is happening and will trigger the PING / PONG testing.  (You can also
test using lwsws and /etc/lwsws/conf with "ws-pingpong-secs": "20" in the global section)

For client, run the test client with -n -P 20 for 20s interval.  -n stops the test client
writing using the mirror protocol, so it will be idle and trigger the PING / PONGs.

The timeout interval may be up to +10s late, as lws checks for affected connections every
10s.

7 years agoPlugin server-status cleanup
Andy Green [Wed, 13 Jul 2016 03:35:16 +0000 (11:35 +0800)]
Plugin server-status cleanup

7 years agoplugins-dim-webpage-when-connection-lost
Andy Green [Wed, 13 Jul 2016 00:45:22 +0000 (08:45 +0800)]
plugins-dim-webpage-when-connection-lost

7 years agoplugin table dirlisting
Andy Green [Sat, 25 Jun 2016 22:29:20 +0000 (06:29 +0800)]
plugin table dirlisting

7 years agodoxygen use sections
Andy Green [Wed, 13 Jul 2016 00:14:57 +0000 (08:14 +0800)]
doxygen use sections

7 years agoRecheck slot when an FD gets closed and make formatting consistent
Mike Messina [Mon, 11 Jul 2016 13:17:48 +0000 (21:17 +0800)]
Recheck slot when an FD gets closed and make formatting consistent

7 years agoUse one event for all sockets to avoid 64 limit and fix the single dispatch issue
mmessina [Mon, 11 Jul 2016 13:17:21 +0000 (21:17 +0800)]
Use one event for all sockets to avoid 64 limit and fix the single dispatch issue

7 years agoSNI-vhost-matching-fallback-to-wildcard
Andy Green [Mon, 11 Jul 2016 01:44:17 +0000 (09:44 +0800)]
SNI-vhost-matching-fallback-to-wildcard

7 years agoah change default header len to 4096 and pool size 4
Andy Green [Sun, 10 Jul 2016 23:48:53 +0000 (07:48 +0800)]
ah change default header len to 4096 and pool size 4

Users are starting to appear with clients sending more than the default max header
content buffer of 1024... with the advent of the ah pool the old reasons for keeping this
modest no longer apply, so up it to 4096 and reduce the default pool size to 4 from 16 to
keep the overall memory usage the same.

7 years agoEXTPOLL export LWS_POLLXXX and document .events must be .revents
Andy Green [Sun, 10 Jul 2016 23:28:23 +0000 (07:28 +0800)]
EXTPOLL export LWS_POLLXXX and document .events must be .revents

7 years agoclient ssl add flag to control server cert hostname check
Andy Green [Thu, 7 Jul 2016 00:14:26 +0000 (08:14 +0800)]
client ssl add flag to control server cert hostname check

7 years agodefer ESTABLISHED until after mode is WS_SERVING
Andy Green [Wed, 6 Jul 2016 09:42:19 +0000 (17:42 +0800)]
defer ESTABLISHED until after mode is WS_SERVING

7 years agolejp-conf: substitute _lws_ddir_ with install dir
Andy Green [Wed, 6 Jul 2016 02:48:41 +0000 (10:48 +0800)]
lejp-conf: substitute _lws_ddir_ with install dir

7 years agolejp_conf: pmo as alias for cgi-env
Andy Green [Tue, 5 Jul 2016 23:37:34 +0000 (07:37 +0800)]
lejp_conf: pmo as alias for cgi-env

Since cgi-env only applies for cgi types, we can
re-use it for generic per-mount options (pmo)

7 years agowin32-clean-and-use-do-while
Andy Green [Tue, 5 Jul 2016 10:40:40 +0000 (18:40 +0800)]
win32-clean-and-use-do-while

7 years agolws_get_mimetype
Andy Green [Sun, 3 Jul 2016 01:20:11 +0000 (09:20 +0800)]
lws_get_mimetype

7 years agopeer closes during partial buffered just hang up
Andy Green [Sat, 2 Jul 2016 01:23:15 +0000 (09:23 +0800)]
peer closes during partial buffered just hang up

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

7 years agoCLIENT_CONNECTION_ERROR add strings
Andy Green [Fri, 1 Jul 2016 00:54:39 +0000 (08:54 +0800)]
CLIENT_CONNECTION_ERROR add strings

This clears up a couple of issues with client connect.

 - if CLIENT_CONNECTION_ERROR is coming, which of the many
   ways the rejection may have happened is documented in the
   in argument.  It's still possible if it just got hung up on
   in will be NULL, but now it has MANY more canned strings
   describing the issue available at the callback

"getaddrinfo (ipv6) failed"
"unknown address family"
"getaddrinfo (ipv4) failed"
"set socket opts failed"
"insert wsi failed"
"lws_ssl_client_connect1 failed"
"lws_ssl_client_connect2 failed"
"Peer hung up"
"read failed"
"HS: URI missing"
"HS: Redirect code but no Location"
"HS: URI did not parse"
"HS: Redirect failed"
"HS: Server did not return 200"
"HS: OOM"
"HS: disallowed by client filter"
"HS: disallowed at ESTABLISHED"
"HS: ACCEPT missing"
"HS: ws upgrade response not 101"
"HS: UPGRADE missing"
"HS: Upgrade to something other than websocket"
"HS: CONNECTION missing"
"HS: UPGRADE malformed"
"HS: PROTOCOL malformed"
"HS: Cannot match protocol"
"HS: EXT: list too big"
"HS: EXT: failed setting defaults"
"HS: EXT: failed parsing defaults"
"HS: EXT: failed parsing options"
"HS: EXT: Rejects server options"
"HS: EXT: unknown ext"
"HS: Accept hash wrong"
"HS: Rejected by filter cb"
"HS: OOM"
"HS: SO_SNDBUF failed"
"HS: Rejected at CLIENT_ESTABLISHED"

 - until now the user code did not get the new wsi that was created
    in the client connection action until it returned.  However the
    client connection action may provoke callbacks like
    CLIENT_CONNECTION_ERROR before then, if multiple client connections
    are initiated it makes it unknown to user code which one the callback
    applies to.  The wsi is provided in the callback but it has not yet
    returned from the client connect api to give that wsi to the user code.

    To solve that there is a new member added to client connect info struct,
    pwsi, which lets you pass a pointer to a struct wsi * in the user code
    that will get filled in with the new wsi.  That happens before any
    callbacks could be provoked, and it is updated to NULL if the connect
    action fails before returning from the client connect api.

7 years agoremove polarssl mbedtls support
Andy Green [Thu, 30 Jun 2016 02:21:23 +0000 (10:21 +0800)]
remove polarssl mbedtls support

Just remove it from cmake

7 years agoreduce log spew and document test-server variants
Andy Green [Thu, 30 Jun 2016 02:11:59 +0000 (10:11 +0800)]
reduce log spew and document test-server variants

7 years agofix __x86_64__ check
Robin Rowe [Wed, 29 Jun 2016 18:02:08 +0000 (02:02 +0800)]
fix __x86_64__ check

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

7 years agotest-libev add server-status protocol
Andy Green [Tue, 28 Jun 2016 22:04:25 +0000 (06:04 +0800)]
test-libev add server-status protocol

7 years agoclient confirm server hostname in cert
Andy Green [Tue, 28 Jun 2016 11:50:40 +0000 (19:50 +0800)]
client confirm server hostname in cert

Openssl v1.0.2 and above have support for checking the hostname
the client side connected to against the hostname on the cert the
server presented.

This enables that feature if the necessary API is available in the
openssl version, meaning the connection will fail at ssl negotiation if the
cert isn't for the requested server

It's very easy to test, add a fake entry to /etc/hosts for the server IP with
a different name, using that will fail at ssl but using the correct dns name
matching the certificate will work.

7 years agowindows detect client connection error
Andy Piper [Tue, 28 Jun 2016 11:01:20 +0000 (19:01 +0800)]
windows detect client connection error

7 years agodlfcn h only if plugins
Andy Green [Sun, 26 Jun 2016 21:53:38 +0000 (05:53 +0800)]
dlfcn h only if plugins

Signed-off-by: None <andy@warmcat.com>
7 years agodocumentation convert to doxygen
Andy Green [Mon, 20 Jun 2016 09:05:31 +0000 (17:05 +0800)]
documentation convert to doxygen

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agoprotocol-lws-messageboard
Andy Green [Wed, 15 Jun 2016 04:24:38 +0000 (12:24 +0800)]
protocol-lws-messageboard

This is a simple messageboard built on top of lwsgs

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agolws_bind_protocol
Andy Green [Sat, 18 Jun 2016 01:00:04 +0000 (09:00 +0800)]
lws_bind_protocol

When using http/1.1+ keepalive and mounts, the relationship between
a connection and a protocol becomes dynamic.  The same connection might
visit different bits of the url space served by different mounts using
different protocols.

This patch ensures protocols can cleanly manage their per-connection
allocations by using the following callbacks when the protocol changes

 LWS_CALLBACK_HTTP_BIND_PROTOCOL
 LWS_CALLBACK_HTTP_DROP_PROTOCOL

For example if the pss wants to malloc stuff at runtime, it should do it
in LWS_CALLBACK_HTTP_BIND_PROTOCOL or later, and clean it up in
...DROP_PROTOCOL.

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agoprotocol generic sessions
Andy Green [Thu, 19 May 2016 07:28:31 +0000 (15:28 +0800)]
protocol generic sessions

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agolws_json_escape
Andy Green [Fri, 17 Jun 2016 02:05:23 +0000 (10:05 +0800)]
lws_json_escape

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agolejp conf report human readable errors
Andy Green [Fri, 17 Jun 2016 22:36:37 +0000 (06:36 +0800)]
lejp conf report human readable errors

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agolws_now_secs
Andy Green [Fri, 17 Jun 2016 01:41:22 +0000 (09:41 +0800)]
lws_now_secs

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agoModified the 64 connections "backup" so that there is no wait if any event
OndraCo [Thu, 16 Jun 2016 05:02:31 +0000 (13:02 +0800)]
Modified the 64 connections "backup" so that there is no wait if any event
is already ready.

7 years agoAdded a back-up in case of more than 64 connections.
OndraCo [Thu, 16 Jun 2016 05:02:20 +0000 (13:02 +0800)]
Added a back-up in case of more than 64 connections.

7 years agolws_callback_vhost_protocols
Andy Green [Wed, 15 Jun 2016 02:46:58 +0000 (10:46 +0800)]
lws_callback_vhost_protocols

This gives protocols a way to talk to each other via per-vhost callbacks,
one per protocol (including the sender).

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agolws_process_html_args
Andy Green [Sun, 12 Jun 2016 01:56:39 +0000 (09:56 +0800)]
lws_process_html_args

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agointroduce urlencode decode and sql escape public apis
Andy Green [Wed, 8 Jun 2016 02:07:02 +0000 (10:07 +0800)]
introduce urlencode decode and sql escape public apis

This adds

 - simple lws_urlencode()
 - simple lws_urldecode()
 - simple lws_sql_purify

Those expect the data to all be there and process it up until
the first '\0'.

There is also a larger opaque apis for handling POST_BODY urldecode.  To
enable these, you need to give cmake -DLWS_WITH_STATEFUL_URLDECODE=1 (or
arrange any larger feature that relies on it sets that in CMakeLists.txt)

 - stateful urldecode with parameter array

These have create / process / destroy semantics on a struct that maintains
decode state.

Stateful urldecode is capable of dealing with large POST data in multiple
POST_BODY callbacks cleanly, eg, file transfer by POST.

Stateful urldecode with parameter array wraps the above with a canned
callback that stores the urldecoded data and indexes them in a pointer
array matching an array of parameter names.

You may also pass it an optional callback when creating it, that will recieve
uploaded file content.

The test html is updated to support both urlencoded and multipart forms,
with some javascript to do clientside validation of an arbitrary 100KB
file size limit (there is no file size limit in the apis).

Signed-off-by: Andy Green <andy@warmcat.com>
7 years agofix for https connection code
Gadkari Mugdha [Mon, 13 Jun 2016 09:23:44 +0000 (17:23 +0800)]
fix for https connection code

8 years agoopenssl allow set clear of ssl options from info
Andy Green [Fri, 10 Jun 2016 00:37:26 +0000 (08:37 +0800)]
openssl allow set clear of ssl options from info

8 years agonon-openssl: only check for openssl ecdh in openssl builds
Karl Palsson [Mon, 6 Jun 2016 15:03:09 +0000 (15:03 +0000)]
non-openssl: only check for openssl ecdh in openssl builds

See also
https://github.com/warmcat/libwebsockets/issues/559

Signed-off-by: Karl Palsson <karlp@etactica.com>
8 years agoclient CONNECTION_ERROR also allow in LWSS_CLIENT_UNCONNECTED
Andy Green [Tue, 7 Jun 2016 09:20:36 +0000 (17:20 +0800)]
client CONNECTION_ERROR also allow in LWSS_CLIENT_UNCONNECTED

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolws_write escalate pending truncated to make the
Andy Green [Tue, 7 Jun 2016 08:46:41 +0000 (16:46 +0800)]
lws_write escalate pending truncated to make the

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agosmtp
Andy Green [Tue, 7 Jun 2016 01:49:59 +0000 (09:49 +0800)]
smtp

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoAndroid: update to use SDK Python script
Alexander Bruines [Mon, 6 Jun 2016 18:30:03 +0000 (20:30 +0200)]
Android: update to use SDK Python script

The latest Android SDK updates deprecate the shell script
 used to create a standalone toolchain. This patch updates the Makefile for
 the Android test-client to use the new Python script to create the standalone
 toolchains.

8 years agoARRAY_SIZE dont redefine
Andy Green [Mon, 6 Jun 2016 12:35:23 +0000 (20:35 +0800)]
ARRAY_SIZE dont redefine

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoavoid illegal sockfd on timeout
Andy Green [Fri, 3 Jun 2016 14:21:14 +0000 (22:21 +0800)]
avoid illegal sockfd on timeout

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoipv6only add lejp conf and flag docs
Andy Green [Sat, 4 Jun 2016 01:01:28 +0000 (09:01 +0800)]
ipv6only add lejp conf and flag docs

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoipv6 don't ignore info.iface
Denis Osvald [Sat, 4 Jun 2016 00:37:50 +0000 (08:37 +0800)]
ipv6 don't ignore info.iface

Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
8 years agoallow modifying ipv4 mapping option (IPV6_V6ONLY)
Denis Osvald [Sat, 4 Jun 2016 00:37:39 +0000 (08:37 +0800)]
allow modifying ipv4 mapping option (IPV6_V6ONLY)

Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
8 years agovhost creation print ipv6
Denis Osvald [Sat, 4 Jun 2016 00:37:31 +0000 (08:37 +0800)]
vhost creation print ipv6

Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
8 years agofixup! ipv6 move disable to vhost option
Denis Osvald [Sat, 4 Jun 2016 00:37:19 +0000 (08:37 +0800)]
fixup! ipv6 move disable to vhost option

client ipv6 check vhost not context

8 years agofixup! ipv6 move disable to vhost option
Denis Osvald [Fri, 3 Jun 2016 15:40:12 +0000 (17:40 +0200)]
fixup! ipv6 move disable to vhost option

fix missing backslash in multiline macro

8 years agoipv6 move disable to vhost option
Andy Green [Fri, 3 Jun 2016 13:19:40 +0000 (21:19 +0800)]
ipv6 move disable to vhost option

Server ipv6 support disable is now controlled by vhost->options rather
than context->options, allowing it to be set per-vhost.

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolws_get_urlarg_by_name
Andy Green [Fri, 3 Jun 2016 01:04:15 +0000 (09:04 +0800)]
lws_get_urlarg_by_name

Adds a convenient way to directly get the value of a URL
argument like ...?x=y&v=1, regardless of position in the
parameter list.

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoadd max_http_header_data2 and upgrade internal offsets from short to int
Andy Green [Thu, 2 Jun 2016 04:32:38 +0000 (12:32 +0800)]
add max_http_header_data2 and upgrade internal offsets from short to int

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

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoRevert changes in daemonize.c from commit 22d6f39e7fb270d0c011bae820d2f8adc8b19061
Martin C Drohmann [Wed, 1 Jun 2016 19:12:44 +0000 (12:12 -0700)]
Revert changes in daemonize.c from commit 22d6f39e7fb270d0c011bae820d2f8adc8b19061

8 years agoupdate document for lws_get_context
Young [Tue, 31 May 2016 13:50:22 +0000 (21:50 +0800)]
update document for lws_get_context

8 years agolwsl_timestamp month off by one
Fabian Kurz [Wed, 1 Jun 2016 00:32:18 +0000 (08:32 +0800)]
lwsl_timestamp month off by one

8 years agoAdroid test-server client
Alexander Bruines [Sat, 28 May 2016 11:31:35 +0000 (13:31 +0200)]
Adroid test-server client

8 years agolwsws conf.c migrate to lib
Andy Green [Thu, 26 May 2016 13:12:11 +0000 (21:12 +0800)]
lwsws conf.c migrate to lib

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoplugins add win modifiers before libwebsockets.h for dll export flag
Andy Green [Wed, 25 May 2016 23:51:58 +0000 (07:51 +0800)]
plugins add win modifiers before libwebsockets.h for dll export flag

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agowindows adapt plugin name format vs functions
Andy Green [Wed, 25 May 2016 13:43:58 +0000 (21:43 +0800)]
windows adapt plugin name format vs functions

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agowindows call plugins init on win32 plat
Andy Green [Wed, 25 May 2016 11:42:35 +0000 (19:42 +0800)]
windows call plugins init on win32 plat

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolws_get_peer_simple move to user api
Andy Green [Wed, 25 May 2016 00:04:52 +0000 (08:04 +0800)]
lws_get_peer_simple move to user api

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

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoupdate discard pre 2016 date if post 2016 date seen
Andy Green [Tue, 24 May 2016 09:44:35 +0000 (17:44 +0800)]
update discard pre 2016 date if post 2016 date seen

Otherwise lwsws started at boot on a system without an RTC
may feel it was started in 1970, and when the clock is set
by ntpd a little later, has been up for 16,000 days...

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolwsws fix settable conf dir and error paths
Andy Green [Sat, 21 May 2016 23:01:35 +0000 (07:01 +0800)]
lwsws fix settable conf dir and error paths

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoclean correct file comment at top and remove pointless LWS_CALLBACK_HTTP
Andy Green [Sat, 21 May 2016 07:18:30 +0000 (15:18 +0800)]
clean correct file comment at top and remove pointless LWS_CALLBACK_HTTP

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolws_ssl_client_connect2 remove duplicate close on error path
Andy Green [Thu, 19 May 2016 09:27:15 +0000 (17:27 +0800)]
lws_ssl_client_connect2 remove duplicate close on error path

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

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoreplace LWS_MAX_SOCKET_IO_BUF with context creation info pt_serv_buf_size
Andy Green [Thu, 19 May 2016 04:34:35 +0000 (12:34 +0800)]
replace LWS_MAX_SOCKET_IO_BUF with context creation info pt_serv_buf_size

This makes it easy for user code to choose the size of the per-thread
buffer used by various things in lws, including file transfer chunking.

Previously it was 4096, if you leave info.pt_serv_buf_size as zero that
is still the default.

With some caveats, you can increase transfer efficiency by increasing it
to, eg, 128KiB, if that makes sense for your memory situation.

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolwsws localhost example conf add testcgi
Andy Green [Tue, 17 May 2016 13:53:53 +0000 (21:53 +0800)]
lwsws localhost example conf add testcgi

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolejp string chunk 255
Andy Green [Tue, 17 May 2016 13:27:24 +0000 (21:27 +0800)]
lejp string chunk 255

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolejp check callback errors and use reject path
Andy Green [Tue, 17 May 2016 13:22:06 +0000 (21:22 +0800)]
lejp check callback errors and use reject path

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agodeprecate misnamed lws_vhost_get add lws_get_vhost
Andy Green [Tue, 17 May 2016 05:47:44 +0000 (13:47 +0800)]
deprecate misnamed lws_vhost_get add lws_get_vhost

All the other simple accessors begin lws_get_...

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agodeprecate duplicated lws_protocol_get
Andy Green [Tue, 17 May 2016 05:33:58 +0000 (13:33 +0800)]
deprecate duplicated lws_protocol_get

Use the identical lws_get_protocol()

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolwsws update example conf to be 7681 no ssl test server
Andy Green [Tue, 17 May 2016 00:54:42 +0000 (08:54 +0800)]
lwsws update example conf to be 7681 no ssl test server

It's going to be much easier to transition to lwsws
if the example config exactly matches what used to be
seen from the default test server.

# mkdir -p /etc/lwsws/conf.d /var/log/lwsws
# cp ./lwsws/etc-lwsws-conf-EXAMPLE /etc/lwsws/conf
# cp ./lwsws/etc-lwsws-conf.d-localhost-EXAMPLE /etc/lwsws/conf.d/test-server
# sudo lwsws

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agooutput size trimming with default rxbuf fix
Andy Green [Sun, 15 May 2016 00:59:48 +0000 (08:59 +0800)]
output size trimming with default rxbuf fix

5e203f78e21ee3313d763d8ee6d499fa0163f51a accidentally
trashed the "zero rz_buffer_size means 4096" handling
for tx chunking.

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agowin fix warnings from appveyor
Andy Green [Sun, 15 May 2016 00:29:37 +0000 (08:29 +0800)]
win fix warnings from appveyor

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agoappveyor libuv integration
Andy Green [Sat, 14 May 2016 02:34:12 +0000 (10:34 +0800)]
appveyor libuv integration

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolwsws conf mount extra mimetypes
Andy Green [Sat, 14 May 2016 02:00:21 +0000 (10:00 +0800)]
lwsws conf mount extra mimetypes

This patch adds the ability to provide extra mimtypes on a mount.

lwsws conf learns how to do them.

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolejp handle name elements starting with dot
Andy Green [Sat, 14 May 2016 02:22:19 +0000 (10:22 +0800)]
lejp handle name elements starting with dot

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agolwsws conf allow setting cipher list and ecdh curve
Andy Green [Sat, 14 May 2016 01:50:34 +0000 (09:50 +0800)]
lwsws conf allow setting cipher list and ecdh curve

Signed-off-by: Andy Green <andy@warmcat.com>
8 years agowin32 more build fixes
Andy Green [Fri, 13 May 2016 22:49:29 +0000 (06:49 +0800)]
win32 more build fixes

After alexgille

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

Signed-off-by: Andy Green <andy@warmcat.com>