Commit graph

2010 commits

Author SHA1 Message Date
Andy Green
748a2210bd cgi lifecycle logging
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-21 17:50:58 +08:00
hgrundy
d02028bf25 Update libwebsockets.h
Fix for FreeBSD
2016-04-21 17:50:55 +08:00
Andy Green
5c3a3c5e95 access_log reset transaction size when using keepalive
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-20 05:58:01 +08:00
Andy Green
912c42f291 ah try for ah when adopting socket to vhost
https://github.com/warmcat/libwebsockets/issues/496

Even if no ah available, we will be on the ah waiting list and get triggered
when one is freed and we're next in line.

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-19 10:10:53 +08:00
Andy Green
5f947cdcd9 windows another uv_poll_init
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-19 09:10:08 +08:00
Lucas Terra
1759e32c7b Conditionally define snprintf on Windows
snprintf is already defined in MSVC 2015. If you redefine it <stdio.h> will cry about it and abort the compilation.
2016-04-19 08:23:13 +08:00
Roger A. Light
c6496b2510 Script and config to make tracking ABI/API changes easy.
AG: enhance the script a bit and fix the make instructions
2016-04-19 06:48:51 +08:00
Andy Green
c673125ce0 client http
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-18 20:05:43 +08:00
Andy Green
451cee5d47 polarssl implementation
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-18 20:05:43 +08:00
Lucas Terra
19f61e59b0 Fix inet_ntop linking error on Windows 2016-04-18 20:05:43 +08:00
Andy Green
980614035f plugin lws server status
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-18 20:05:43 +08:00
Andy Green
4714cf02f4 vh doubly linked list for wsi on same protocol
This trades off a couple of wsi pointers for vastly increased speed
for the callback when writeable "all protocol" variants when there
are many kinds of wsi active.

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-16 08:40:35 +08:00
Andy Green
7e2c3851bf redirects need fake content metadata
Chrome deals with it without on desktop, but Android chrome
waits for the connection to time out before actioning the
redirect, since it feels there might be html payload coming.

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-15 20:09:36 +08:00
Andy Green
b21c20b5ff context settable server string
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-15 13:58:24 +08:00
Andy Green
cec2fd55a8 lws normalize http response
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-15 13:58:24 +08:00
Andy Green
2f0bc93d46 lws access log option and lwsws conf
This adds the ability to store apache-compatible logs to a file given at
vhost-creation time.

lwsws conf can set it per-vhost using "access-log": "<filepath>"

The feature defaults to disabled at cmake, it can be set independently but
LWS_WITH_LWSWS set it on.

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-15 13:58:24 +08:00
Justin Chen
30cdb3ac8f recv treat zero return as error
https://github.com/warmcat/libwebsockets/issues/475
2016-04-15 13:58:24 +08:00
Andy Green
f3e9c7347e json dump vhost
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-15 13:57:22 +08:00
Andy Green
57f2007105 vhost collect rx tx stats
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-15 13:57:20 +08:00
Andy Green
868b9f2ecb strict transport security vhost option flag and lwsws conf support
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 21:27:38 +08:00
Andy Green
a1ab201436 lwsws conf unix sockets support vhost conf option
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 21:27:38 +08:00
Andy Green
144594dd43 unix sockets make vhost option
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 21:27:38 +08:00
Andy Green
1042b34127 lwsws conf move interface to be vhost attribute
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 21:27:38 +08:00
Andy Green
cc3c6fb047 vhost should have his own options
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 21:27:38 +08:00
Alexander Bruines
ddd9bfaaac Add testapps support for client certs and CRLs
AG: plumb into cmake to avoid travis mac blowing up
2016-04-14 20:59:16 +08:00
Yeonjun Lim
44182452c8 Support for abstract socket 2016-04-14 20:59:16 +08:00
Yeonjun Lim
3c6a8c1a24 Add unix domain socket 2016-04-14 20:59:16 +08:00
Andy Green
b46e4a866d vhost keepalive timeout
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 20:59:16 +08:00
Andy Green
5b95081000 ssl server init failure info
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 20:59:16 +08:00
Andy Green
5e799a45cc ssl store vhost in ssl private data not context
Only used by the ssl verify callback

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-14 20:59:16 +08:00
Andy Green
f5efa74cb7 cgi post
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-13 11:53:40 +08:00
Andy Green
22d6f39e7f http2 update integration
https://github.com/warmcat/libwebsockets/issues/489

This

1) fixes the vhost changes on master

2) works around the ah pool changes

3) fixes some other build problems that appeared

4) hacks out physical flow control for internal streams

5) updates the advertised protocol to h2 needed by, eg, chrome 51

That gets it able to serve small (<4K, ie, one packet) files over http2

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-13 11:53:40 +08:00
Andy Green
a5e73a1a4b lwsws cgi integration
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-13 11:53:40 +08:00
Andy Green
6e7b79b263 lwsws specifically signed char return lejp
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-13 11:53:40 +08:00
Andy Green
0a183545b2 lwsws conf and plugins convert to libuv apis
After discussion here

https://libwebsockets.org/pipermail/libwebsockets/2016-April/002268.html

scandir usage in

 - lwsws conf.c
 - lws plugin support

and

 - lws plugin apis for dl

are converted to us libuv apis so they can work cross-platform easily.

lws itself remains not requiring libuv, although it's an option.

 - LWS_WITH_LWSWS
 - LWS_WITH_PLUGINS

now force LWS_WITH_LIBUV if selected... both of these are new features
only in master atm and both are off by default in CMake.

There's a complication libuv can be too old to offer the necessary apis,
this is the case in Travis Trusty instance.  In that case, UV_VERSION_MAJOR ==0,
then the unix-only plugin implementation is used instead.

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-13 11:53:40 +08:00
Andy Green
e01a551a17 vhost if explicit vhosts only enable protocols with pvo mentions
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-13 11:53:16 +08:00
Andy Green
d459a6fadc lwsws redirect and correct vhost selection before accept
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-08 18:38:06 +08:00
Andy Green
37098ae2a2 lwsws protocol filter and options
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-08 16:13:14 +08:00
Meir Yanovich
efcf496b45 windows snprintf is _snprintf
https://github.com/warmcat/libwebsockets/issues/411#issuecomment-207290650
2016-04-08 16:11:27 +08:00
Galen Ma
da77a6007d android fix rlimit
https://github.com/warmcat/libwebsockets/issues/488
2016-04-08 16:02:59 +08:00
Andy Green
c5376b141a extensions add api for user code option manipulation
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-08 09:45:49 +08:00
Andy Green
150233d61f urldecode forbid malformed
And update attack.sh to confirm the new test cases

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-07 10:08:35 +08:00
Andy Green
fd12fc2781 plugins also link lwsws against websockets_shared
Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-07 09:38:08 +08:00
Denis Osvald
8d21c350fc plugins link libwebsockets dynamically
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
2016-04-07 09:38:08 +08:00
Andy Green
020770566e plugins
This adds support for dynamically loaded plugins at runtime, which
can expose their own protocols or extensions transparently.

With these changes lwsws defaults to OFF in cmake, and if enabled it
automatically enables plugins and libuv support.

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-07 09:38:08 +08:00
Andy Green
09998e3ad8 libuv add idle processing to force service where needed
https://github.com/warmcat/libwebsockets/issues/485

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-07 09:38:08 +08:00
Andy Green
e8009155ba lws_service_adjust_timeout optimize
Make it exit quicker if something is pending

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-07 09:38:08 +08:00
Andy Green
513580d1bd revert 622d9f2 ssl pending handcrank
https://github.com/warmcat/libwebsockets/issues/483

Signed-off-by: Andy Green <andy@warmcat.com>
2016-04-05 19:43:07 +08:00
Meir Yanovich
2e15d0ad57 win32 libuv build notes 2016-04-05 19:19:46 +08:00
Meir Yanovich
d5ff4bf1bc win32 needs strange strftime args 2016-04-05 19:15:34 +08:00