Andy Green
3cf570ec52
esp32: group tracking
2017-05-16 19:35:55 +08:00
Andy Green
b778cc54ca
esp32: group mdns
2017-05-14 14:55:15 +08:00
Andy Green
b2f8bc5638
esp32: multi ap slots
2017-05-13 10:26:59 +08:00
Andy Green
54236bd437
esp32: multi ap slots plus PEM certs and parallel build fixes
2017-05-11 15:02:01 +08:00
Andy Green
a7def3ce44
LWS_WITH_STATS
2017-05-09 14:19:43 +08:00
Andy Green
2790d5b28c
esp32: add leds sine fade helper
2017-05-09 14:18:40 +08:00
Joel Winarske
991f6ec644
Subject: windows: fops write support
2017-04-20 07:24:09 +08:00
dspname
ca6242a1d3
windows: constify first arg of plat fops open
...
https://github.com/warmcat/libwebsockets/issues/871
2017-04-19 20:28:48 +08:00
Andy Green
6cae994750
adopt: LWS_SERVER_OPTION_ONLY_RAW to indicate a vhost only serves raw
2017-04-06 07:57:45 +08:00
Renyaow
4ae029c3a1
windows: _snprintf_s
...
https://github.com/warmcat/libwebsockets/issues/859
2017-04-05 01:55:38 +08:00
Andy Green
30195eb79d
esp32: dont require factory button if no ssl certs yet
2017-04-03 11:56:33 +08:00
Andy Green
00ae90978b
esp32: separate factory setup
2017-03-31 20:05:10 +08:00
paularmitt
422f56c9dc
windows: need LWS_INLINE
2017-03-31 19:57:24 +08:00
Aditya Tirumala
ec50ebac12
Subject: Libevent: Initial Support
...
* Added libevent support functionality into lib/libevent.c
* Added test-server-libevent for testing
2017-03-22 05:36:25 +08:00
Andy Green
ed27be42c9
docs: lws_callback_all_protocol: fix cut-n-paste error and explain it is probably not what you want
2017-03-15 07:28:51 +08:00
Andy Green
e769af41db
windows: don't use LWS_EXTERN outside of function declarations
2017-03-15 07:25:36 +08:00
Andy Green
102d40e6b6
esp32: openssl
2017-03-11 11:51:06 +08:00
Andy Green
e0572d3bef
esp32: move helper code into lws
2017-03-10 14:31:43 +08:00
Andy Green
3a09c3b7d6
esp32: align fops member name defines
2017-03-08 11:11:41 +08:00
Andy Green
4219a3281d
server-name: add_server_header add LWSAHH_FLAG_NO_SERVER_NAME
...
Also clean up usage of status code defines in lws
2017-03-08 07:51:47 +08:00
Andy Green
205ccedf6e
raw: enable server and client raw sockets
2017-03-07 16:06:05 +08:00
Andy Green
19cc7acb24
fops-zip
2017-03-05 15:32:55 +08:00
Andy Green
753f1d642c
junzip: style and migrate header into private-libwebsockets.h
...
Also introduce CMake LWS_WITH_ZIP_FOPS defaulting to ON that builds junzip.c and
make sure this is exported in lws_config.h (included by libwebsockets.h)
Improve lws handling of stdint.h import or simulate it.
2017-03-03 09:19:14 +08:00
Per Bothner
60f4569bb8
adopt: allow binding to parent at same time
...
- if protocol set, allocate own user_space
If the child wsi wants the parent wsi user_space, it can use
lws_wsi_user(lws_get_parent(child_wsi))
- raw file close processing handles parent-child relationship
2017-03-03 07:36:08 +08:00
Andy Green
1ada132932
fops: allow setting from context creation and introduce lws_select_fops_by_vfs_path
...
1) There's now a .fops pointer that can be set in the context creation info. If set, the array of
fops it points to (terminated by an entry with .open = NULL) is walked to find out the best vfs filesystem
path match (comparing the vfs path to fops.path_prefix) for which fops to use.
If none given (.fops is NULL in info) then behaviour is as before, fops are the platform-provided one only.
2) The built in fileserving now walks any array of fops looking for the best fops match automatically.
3) lws_plat_file_... apis are renamed to lws_vfs_file_...
2017-03-01 14:59:48 +08:00
Andy Green
be8d791b5e
adoption: make union for socket and file fds
...
This lets lws support adopting raw file FDs and raw socket fds.
A test plugin creates a FIFO and prints data sent on it, using
the lws event loop.
2017-03-01 10:01:53 +08:00
Andy Green
8bb3dffc86
fops: add path_prefix member
2017-03-01 10:01:53 +08:00
Lukas Geyer
16ee4b6f0d
client: allow change externally-defined wsi user_data
...
https://github.com/warmcat/libwebsockets/issues/819
AG: add explanation in doxygen comment and check user_space was externally set
2017-02-28 21:17:25 +08:00
Andy Green
1789d0a483
fops: refactor around lws_fops_fd_t
2017-02-26 08:15:42 +08:00
Andy Green
a5488f9c27
mbedtls: remove abortive attempt to avoid confusing people
...
Basically we support openssl api compatibles only.
If we ever try something different we need a shim making it openssl api or a proper abstraction layer added first.
2017-02-22 09:54:47 +08:00
Andy Green
0aed7a06d5
mbed3: sayonara
...
The port was technically worthwhile and laid the groundwork for ESP support.
But now it is just useless cruft like mbed3 itself...
2017-02-22 09:50:11 +08:00
Joel Winarske
390ba34400
ssl config for http client
2017-02-22 07:17:32 +08:00
Andy Green
297c0313fa
raw: adoption and processing
2017-02-21 07:47:35 +08:00
Andy Green
c7c4ae0aa4
ESP32 platform
...
This is enough for all the test app features to work on ESP32 without
SSL.
2017-02-18 17:27:22 +08:00
Andy Green
2e11efa84b
file_ops: add compression flags and convert open flags to pointer
...
ihttps://libwebsockets.org/pipermail/libwebsockets/2017-February/003127.html
2017-02-12 18:15:15 +08:00
Andy Green
21faff3deb
file_ops: use wrappers for names
2017-02-12 18:11:11 +08:00
Andy Green
5e25dc07c8
chunked http client: support in test-client and document
...
This improves the test client to
- dump http content if INFO log level enabled
- handle chunked content correctly
- document lws_http_client_read()
2017-02-09 09:17:23 +08:00
Andy Green
c8b20910ec
lwsl_visible
2017-02-09 09:11:17 +08:00
Martin Milata
be1f0a3a92
Subject: gcc format strings: Make GCC check format strings, fix found problems
2017-02-05 21:32:30 +08:00
Martin Milata
e96b69887f
docs: Correct string
2017-02-05 21:31:16 +08:00
Andy Green
ad945976f7
client: decruft extensions
...
https://github.com/warmcat/libwebsockets/issues/770
2017-02-03 10:39:37 +08:00
Andy Green
c2208640dd
logging: cleanup and introduce LLL_USER
2017-01-31 10:50:15 +08:00
Andy Green
716aaeeb8b
context new option LWS_SERVER_OPTION_JUST_USE_RAW_ORIGIN
...
https://github.com/warmcat/libwebsockets/issues/757
2017-01-23 19:52:27 +08:00
Denis Osvald
bcce73201f
ssl expose public wsi->ssl getter
...
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
2017-01-23 19:34:46 +08:00
Andy Green
51c96d8c2a
plat-optee and boringssl adaptations
2017-01-17 07:01:02 +08:00
Namowen
b837f93dcf
ssl: add LWS_CALLBACK_OPENSSL_PERFORM_SERVER_CERT_VERIFICATION
2017-01-10 09:31:23 +08:00
Alan Conway
f3ad9540fa
ssl-server: Add CONTEXT_PORT_NO_LISTEN_SERVER
...
Special port setting to disable listening for a server using socket adoption.
This contrasts with CONTEXT_PORT_NO_LISTEN which does the same for a client.
In particular, server-side SSL is not disabled by CONTEXT_PORT_NO_LISTEN_SERVER
as it is by CONTEXT_PORT_NO_LISTEN.
2016-12-21 09:32:44 +08:00
Alan Conway
acdf0c7066
server: expose lws_adopt_socket_vhost() as public API
...
Allows a socket to be adopted and associated with an existing vhost.
Also added corresponding lws_adopt_socket_vhost_readbuf()
2016-12-21 09:32:16 +08:00
Andy Green
be9fb919d1
context deprecation
...
1) This makes lwsws run a parent process with the original permissions.
But this process is only able to respond to SIGHUP, it doesn't do anything
else.
2) You can send this parent process a SIGHUP now to cause it to
- close listening sockets in existing lwsws processes
- mark those processes as to exit when the number of active connections
on the falls to zero
- spawn a fresh child process from scratch, using latest configuration
file content, latest plugins, etc. It can now reopen listening sockets
if it chooses to, or open different listen ports or whatever.
Notes:
1) lws_context_destroy() has been split into two pieces... the reason for
the split is the first part closes the per-vhost protocols, but since
they may have created libuv objects in the per-vhost protocol storage,
these cannot be freed until after the loop has been run.
That's the purpose of the second part of the context destruction,
lws_context_destroy2().
For compatibility, if you are not using libuv, the first part calls the
second part. However if you are using libuv, you must now call the
second part from your own main.c after the first part.
2016-12-20 14:37:07 +08:00
Andy Green
ed4acef481
RFC7233 HTTP Ranges support for server
...
This adds a serverside implementation of RFC7233 HTTP ranges.
- LWS_WITH_RANGES is on by default at cmake
- Accept-Ranges: bytes is added if LWS_WITH_RANGES is enabled
- Both single ranges and multipart (2+) ranges are supported
Test with curl like this
Single
$ $ curl -s -r 64-95 http://localhost:7681/libwebsockets.org-logo.png | hexdump -C
00000000 2e 01 fd 9d 12 27 00 00 00 19 74 45 58 74 53 6f |.....'....tEXtSo|
00000010 66 74 77 61 72 65 00 77 77 77 2e 69 6e 6b 73 63 |ftware.www.inksc|
Multipart
$ curl -s -r 64-95,128-143 http://localhost:7681/libwebsockets.org-logo.png | hexdump -C
00000000 5f 6c 77 73 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 |_lws..Content-Ty|
00000010 70 65 3a 20 69 6d 61 67 65 2f 70 6e 67 0d 0a 43 |pe: image/png..C|
00000020 6f 6e 74 65 6e 74 2d 52 61 6e 67 65 3a 20 62 79 |ontent-Range: by|
00000030 74 65 73 20 36 34 2d 39 35 2f 37 30 32 39 0d 0a |tes 64-95/7029..|
00000040 0d 0a 2e 01 fd 9d 12 27 00 00 00 19 74 45 58 74 |.......'....tEXt|
00000050 53 6f 66 74 77 61 72 65 00 77 77 77 2e 69 6e 6b |Software.www.ink|
00000060 73 63 5f 6c 77 73 0d 0a 43 6f 6e 74 65 6e 74 2d |sc_lws..Content-|
00000070 54 79 70 65 3a 20 69 6d 61 67 65 2f 70 6e 67 0d |Type: image/png.|
00000080 0a 43 6f 6e 74 65 6e 74 2d 52 61 6e 67 65 3a 20 |.Content-Range: |
00000090 62 79 74 65 73 20 31 32 38 2d 31 34 33 2f 37 30 |bytes 128-143/70|
000000a0 32 39 0d 0a 0d 0a 05 14 50 40 05 15 a5 c4 60 43 |29......P@....`C|
000000b0 91 c4 4a d4 c4 fc 5f 6c 77 73 0d 00 |..J..._lws..|
The corresponding header part is like this
0x0030: 4854 5450 2f31 2e31 2032 3036 HTTP/1.1.206
0x0040: 200d 0a73 6572 7665 723a 206c 7773 7773 ...server:.lwsws
0x0050: 0d0a 636f 6e74 656e 742d 7479 7065 3a20 ..content-type:.
0x0060: 6d75 6c74 6970 6172 742f 6279 7465 7261 multipart/bytera
0x0070: 6e67 6573 0d0a 6163 6365 7074 2d72 616e nges..accept-ran
0x0080: 6765 733a 2062 7974 6573 0d0a 636f 6e74 ges:.bytes..cont
0x0090: 656e 742d 6c65 6e67 7468 3a20 3138 380d ent-length:.188.
0x00a0: 0a63 6163 6865 2d63 6f6e 7472 6f6c 3a20 .cache-control:.
0x00b0: 7072 6976 6174 6520 6d61 782d 6167 653a private.max-age:
0x00c0: 2036 300d 0a63 6f6e 6e65 6374 696f 6e3a .60..connection:
0x00d0: 206b 6565 702d 616c 6976 650d 0a65 7461 .keep-alive..eta
0x00e0: 673a 2030 3030 3031 4237 3535 3444 3433 g:.00001B7554D43
0x00f0: 3033 330d 0a0d 0a 033....
2016-12-20 14:37:07 +08:00