songbuhuang
2c981f7670
clean: unreachable cruft
...
Signed-off-by: songbuhuang <544824346@qq.com>
2022-09-18 08:17:25 +01:00
Andy Green
af64c7fc4f
http proxy: fix host
2022-09-18 08:17:20 +01:00
qdztxc
173c84a595
ws: tell caller we closed wsi on handshake failure
...
https://github.com/warmcat/libwebsockets/issues/2681
2022-07-12 09:47:56 +01:00
Marco Gratzke
c28b390e77
spa: file upload fix
2022-07-04 14:23:02 +01:00
Paul Shark
8fe3950acd
http: server: correct plugin name in error
2022-06-14 07:37:11 +01:00
Richard Shi
5d56f7651f
http: compression: fix selection
...
https://github.com/warmcat/libwebsockets/issues/2633
2022-05-04 08:43:26 +01:00
Andy Green
f8132e23dc
nsc: fall back to internal headers when no stash
2022-03-25 08:18:29 +00:00
Andy Green
2de67dd0ae
file_ops: vfs: support prefix matches and use of bound ops members
...
VFS needs some small updates... pass in the bound fops as well as the
context fops to the member callbacks. ZIP_FOPS only cared about doing
operations on the platform / context vfs to walk the ZIP file, but other
uses are valid where we are doing operation inside the bound VFS itself.
Also, stash a cx pointer into file ops struct for convenience.
2022-03-15 10:28:09 +00:00
Andy Green
6829dba9a1
http: server: mounts: dont assume Basic Auth if no FILE_OPS
2022-03-15 10:28:09 +00:00
Andy Green
32698a2f4b
lejp-conf: provide matches for block start paths
...
Also valgrind shows we should zero down the lejp context to avoid problems
with the wildcard stack
2022-03-15 10:28:09 +00:00
Andy Green
8cc4c1713d
http: proxy server: move C99 VLA to heap
2022-03-15 10:28:09 +00:00
yogpstop
2148becb3a
http: lws_add_http_header_by_name: add colon if needed
2022-01-27 13:08:35 +00:00
Andy Green
8dc438ce2c
http: access_log: fix nwsi check
...
h2 logging often lacked the IP as it checked the af on the sa46_peer of the
child stream when it meant to check the nwsi one.
2022-01-16 10:48:16 +00:00
Vitaliy Orazov
05997f4503
http: proxying: allow for large headers
...
set the buffer size (rpath) for header processing during
proxying equal to the value in max_http_header_data
2021-12-13 19:02:56 +00:00
Joerg Wendel
fe8170dcdc
http: server: added no-cache handling to mounts
2021-12-13 19:02:56 +00:00
DerKleinePunk
e88a1b1b32
http: cookie_get
...
The loop check shouldn't care about bl any more, since we snipped bl from n
already.
2021-12-02 09:21:27 +00:00
Vitaliy Orazov
5747203406
http proxy: support PUT, PATCH and DELETE methods
2021-11-29 15:18:16 +00:00
Ilya Smelykh
d425691d9f
client: flag defeating default cache-control headers added
2021-11-11 16:55:20 +00:00
Andy Green
3ede7bae26
http: remove stray debug log
2021-11-11 11:52:48 +00:00
Andy Green
81b481ef2f
h2: coverity: check for OOM on dynamic table alloc
...
It can fail, we should check it.
2021-11-09 07:45:58 +00:00
Ron Frederick
b5b7e793d4
server: SO_REUSEPORT: enable with LWS_MAX_SMP > 1
...
Either explicit option selection, or multiple SMP service threads, should
enable SO_REUSEPORT
https://github.com/warmcat/libwebsockets/issues/2470
2021-10-30 06:19:37 +01:00
Andy Green
66afd3da78
coverity: client_reset: no longer any way to get NULL *pwsi
...
Coverity belatedly noticed that client_reset no longer changes *pwsi
2021-10-17 12:03:07 +01:00
Orefkov Aleksander
abef9ba252
http: spa: fetch any params
...
Added the ability to get additional form parameters with unknown names in the form parameters parser lws_spa. The example of using the form parameters parser has been updated. Fixed bug of double freeing memory in the example.
2021-10-15 08:47:52 +01:00
Andy Green
27fac9dd86
warn: avoid one toolchain false positive
2021-09-09 15:27:41 +01:00
xionghui
365328c4d3
http server: allow serving files with special unicode path
2021-09-09 15:27:27 +01:00
Austen Stone
f6954e432c
http: custom hdr: add custom name iterator
2021-08-31 05:45:40 +01:00
Andy Green
572e7e03e5
http: hdr: sync lws_hdr_total_length with lws_hdr_copy
2021-08-31 05:45:40 +01:00
Yichen Gu
b31c5d6ffe
http: cookies: support cookie jar in and out
2021-08-21 17:44:40 +01:00
Andy Green
6953958fc3
http: redirect: make sure we keep wsi opaque
2021-08-19 10:01:53 +01:00
Andy Green
5b8a597c1d
server: http-proxy: fix POST
2021-08-19 05:31:15 +01:00
Andy Green
a7e4724a5e
http: date: use timegm
2021-08-13 05:25:00 +01:00
Andy Green
d18d7a3643
http: redir: to tls from none
2021-07-30 11:32:27 +01:00
Yucong Sun
e5944a7da2
h2: server: file serving chunk restricted to max frame size from SETTINGS
2021-07-23 04:22:06 +01:00
Andy Green
ee510154a0
fi: wsi: fault to fake peer hangup after a delay range
...
Example usage, client
$ valgrind ./bin/lws-minimal-secure-streams-stress-client -c 4 --budget 40
proxy
$ valgrind ./lws-minimal-secure-streams-proxy --fault-injection "ss=mintest/wsi/timedclose(20%),ss=mintest/wsi/timedclose_ms(0..100)"
2021-07-04 10:29:54 +01:00
Andy Green
5d8cf03221
logs: log contexts
2021-07-01 05:20:53 +01:00
Andy Green
8e76634ed3
logs: introduce log_cx
2021-07-01 05:20:53 +01:00
David Jeffers
c90feba3f6
gcc: gcc8 only recognizes fallthu
...
Later gcc is more accepting, but there's at least one gcc8 toolchain that only likes
to hear "fallthru", or it will flag it
2021-06-24 17:32:57 +01:00
Andy Green
cf2dbdc6a0
vhost: create multiple listen sockets per AF
...
On some platforms AF_INET and AF_INET6 must be listened for on separate
sockets. Adapt the vhost server creation code to use the new support for
multiple listen sockets per vhost to create up to two listen sockets for
AF_INET and AF_INET6.
It refactors how the decision about the AF is made and propagated so
there's only one place for it.
2021-06-22 16:25:50 +01:00
Andy Green
6163c96727
vhost: allow multiple listen sockets
...
Some platforms need two sockets with AF_INET and AF_INET6 to listen to both
protocols.
This patch changes the single listen socket each vhost could previously
handle to become an lws_dll2 and adapts the related code to handle them as
a linked-list rather than as a singleton.
The next patch adapts the listen / server code to create multiple listen
wsi for vhosts listening on multiple ip protocols.
2021-06-22 15:55:47 +01:00
Andy Green
272dba8307
http: redo redirects to follow close flow
...
Until now although we can follow redirects, and they can promote the
protocol from h1->h2, we couldn't handle h2 wsi reuse since there are many
states in the wsi affected by being h2.
This wipes the related states in lws_wsi_reset() and follows the generic
wsi close flow before deviating into the redirect really close to the end,
ensuring we cleaned out evidence of our previous life properly.
h2->h2 redirects work properly after this.
The max number of redirects is increased from 3 -> 4 since this was seen in
the wild with www and then geographic-based redirects.
2021-06-22 15:55:29 +01:00
Andy Green
f8f1749be9
client: add option for allowing redirect tls downgrades
2021-06-22 15:55:29 +01:00
Jed Lu
2abf4115a8
ss: direct protocol string
2021-06-11 14:44:10 +01:00
Andy Green
ad3aa5339e
TCP_FASTOPEN
2021-05-25 08:13:13 +01:00
Andy Green
19d59f9977
listen: ip bind: force ipv4 if given ipv4 numeric iface
2021-05-06 20:51:43 +01:00
Marco Gratzke
32c4d2cb29
spa: parser should tolerate additional headers
2021-04-27 11:54:06 +01:00
Per Bothner
018d443863
http: mimetypes: add mjs as builtin
2021-04-12 06:36:24 +01:00
Andy Green
24abd699f6
http: parser: straighten out %00 legality
...
https://github.com/warmcat/libwebsockets/issues/2262
This adds a README explaining what can be expected if your URLs contain
%00, and adds a safe helper for urlargs-by-name that is length-based.
Contains fix for extra NUL on some headers
https://github.com/warmcat/libwebsockets/issues/2267
2021-04-10 09:21:33 +01:00
Andy Green
b28b03eee1
smp: hold pt lock for lws_client_reset removing fds
...
https://github.com/warmcat/libwebsockets/issues/2268
2021-04-10 06:14:12 +01:00
Andy Green
51490ae6e6
Fault injection
...
add lws_xos: xoshiro256 PRNG
2021-04-05 10:55:04 +01:00
Andy Green
7451702722
tls-sessions: serialization
2021-04-04 05:45:53 +01:00