mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
update llhttp to v6.0.7; README typo.
This commit is contained in:
@@ -244,8 +244,9 @@ source directories which contain your modifications</em>.</p>
|
||||
<p>The above script installs the executable file “<code>uxplay</code>”
|
||||
to <code>/usr/local/bin</code>, (and installs a manpage to somewhere
|
||||
like <code>/usr/local/share/man/man1</code> and README files to
|
||||
somewhere like <code>/usr/local/share/doc/uxplay</code>). It can also be
|
||||
found in the build directory after the build processs.</p>
|
||||
somewhere like <code>/usr/local/share/doc/uxplay</code>). The uxplay
|
||||
executable can also be found in the build directory after the build
|
||||
processs, if you wish to test before installing.</p>
|
||||
<p><strong>Finally, run uxplay in a terminal window</strong>. Use Ctrl-C
|
||||
(or close the window) to terminate it when done. If it is not seen by
|
||||
the iOS client’s drop-down “Screen Mirroring” panel, check that your
|
||||
@@ -478,7 +479,7 @@ options to be added.</p>
|
||||
<p><strong>-vd <em>decoder</em></strong> chooses the GStreamer
|
||||
pipeline’s h264 decoder element, instead of letting decodebin pick it
|
||||
for you. Software decoding is done by avdec_h264; various hardware
|
||||
decoders include: vaapi264dec, nvdec, nvh264dec, v4l2h264dec (these
|
||||
decoders include: vaapih264dec, nvdec, nvh264dec, v4l2h264dec (these
|
||||
require that the appropriate hardware is available). Using quotes “…”
|
||||
allows some parameters to be included with the decoder name.</p>
|
||||
<p><strong>-vc <em>converter</em></strong> chooses the GStreamer
|
||||
@@ -810,7 +811,7 @@ be set. The “features” code and other settings are set in
|
||||
<code>UxPlay/lib/dnssdint.h</code>.</p>
|
||||
<h1 id="changelog">ChangeLog</h1>
|
||||
<p>1.55 2022-07-04 Remove the bt709 fix from -v4l2 and create a new
|
||||
-bt709 option (previous “-v4l2” is now “-v4l2 -bt709”. This allows the
|
||||
-bt709 option (previous “-v4l2” is now “-v4l2 -bt709”). This allows the
|
||||
currently-required -bt709 option to be used on its own on RPi without
|
||||
-v4l2 (sometimes this give better results).</p>
|
||||
<p>1.54 2022-06-25 Add support for “Cover Art” display in Audio-only
|
||||
|
||||
@@ -217,8 +217,8 @@ the source directories which contain your modifications_.
|
||||
The above script installs the executable file "`uxplay`" to `/usr/local/bin`, (and installs a manpage to
|
||||
somewhere like `/usr/local/share/man/man1` and README
|
||||
files to somewhere like `/usr/local/share/doc/uxplay`).
|
||||
It can also be found in the build directory after the build
|
||||
processs.
|
||||
The uxplay executable can also be found in the build directory after the build
|
||||
processs, if you wish to test before installing.
|
||||
|
||||
**Finally, run uxplay in a terminal window**. Use Ctrl-C (or close the window) to terminate it when done. If it is not seen by the
|
||||
iOS client's drop-down "Screen Mirroring" panel, check that your DNS-SD
|
||||
@@ -418,7 +418,7 @@ which will not work if a firewall is running.
|
||||
|
||||
**-vd _decoder_** chooses the GStreamer pipeline's h264 decoder element, instead of letting
|
||||
decodebin pick it for you. Software decoding is done by avdec_h264; various hardware decoders
|
||||
include: vaapi264dec, nvdec, nvh264dec, v4l2h264dec (these require that the appropriate hardware is
|
||||
include: vaapih264dec, nvdec, nvh264dec, v4l2h264dec (these require that the appropriate hardware is
|
||||
available). Using quotes "..." allows some parameters to be included with the decoder name.
|
||||
|
||||
**-vc _converter_** chooses the GStreamer pipeline's videoconverter element, instead of the default
|
||||
@@ -690,7 +690,7 @@ The "features" code and other settings are set in `UxPlay/lib/dnssdint.h`.
|
||||
|
||||
# ChangeLog
|
||||
1.55 2022-07-04 Remove the bt709 fix from -v4l2 and create a new -bt709 option (previous
|
||||
"-v4l2" is now "-v4l2 -bt709". This allows the currently-required -bt709
|
||||
"-v4l2" is now "-v4l2 -bt709"). This allows the currently-required -bt709
|
||||
option to be used on its own on RPi without -v4l2 (sometimes this give better results).
|
||||
|
||||
1.54 2022-06-25 Add support for "Cover Art" display in Audio-only (ALAC) mode. Reverted a change
|
||||
|
||||
@@ -240,8 +240,9 @@ modifications*.
|
||||
The above script installs the executable file "`uxplay`" to
|
||||
`/usr/local/bin`, (and installs a manpage to somewhere like
|
||||
`/usr/local/share/man/man1` and README files to somewhere like
|
||||
`/usr/local/share/doc/uxplay`). It can also be found in the build
|
||||
directory after the build processs.
|
||||
`/usr/local/share/doc/uxplay`). The uxplay executable can also be found
|
||||
in the build directory after the build processs, if you wish to test
|
||||
before installing.
|
||||
|
||||
**Finally, run uxplay in a terminal window**. Use Ctrl-C (or close the
|
||||
window) to terminate it when done. If it is not seen by the iOS client's
|
||||
@@ -490,7 +491,7 @@ default is h264parse. Using quotes "..." allows options to be added.
|
||||
|
||||
**-vd *decoder*** chooses the GStreamer pipeline's h264 decoder element,
|
||||
instead of letting decodebin pick it for you. Software decoding is done
|
||||
by avdec_h264; various hardware decoders include: vaapi264dec, nvdec,
|
||||
by avdec_h264; various hardware decoders include: vaapih264dec, nvdec,
|
||||
nvh264dec, v4l2h264dec (these require that the appropriate hardware is
|
||||
available). Using quotes "..." allows some parameters to be included
|
||||
with the decoder name.
|
||||
@@ -845,7 +846,7 @@ code and other settings are set in `UxPlay/lib/dnssdint.h`.
|
||||
# ChangeLog
|
||||
|
||||
1.55 2022-07-04 Remove the bt709 fix from -v4l2 and create a new -bt709
|
||||
option (previous "-v4l2" is now "-v4l2 -bt709". This allows the
|
||||
option (previous "-v4l2" is now "-v4l2 -bt709"). This allows the
|
||||
currently-required -bt709 option to be used on its own on RPi without
|
||||
-v4l2 (sometimes this give better results).
|
||||
|
||||
|
||||
@@ -253,6 +253,14 @@ void llhttp_set_lenient_keep_alive(llhttp_t* parser, int enabled) {
|
||||
}
|
||||
}
|
||||
|
||||
void llhttp_set_lenient_transfer_encoding(llhttp_t* parser, int enabled) {
|
||||
if (enabled) {
|
||||
parser->lenient_flags |= LENIENT_TRANSFER_ENCODING;
|
||||
} else {
|
||||
parser->lenient_flags &= ~LENIENT_TRANSFER_ENCODING;
|
||||
}
|
||||
}
|
||||
|
||||
/* Callbacks */
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,8 @@ int llhttp__after_headers_complete(llhttp_t* parser, const char* p,
|
||||
return 2;
|
||||
} else if (parser->flags & F_TRANSFER_ENCODING) {
|
||||
if (parser->type == HTTP_REQUEST &&
|
||||
(parser->lenient_flags & LENIENT_CHUNKED_LENGTH) == 0) {
|
||||
(parser->lenient_flags & LENIENT_CHUNKED_LENGTH) == 0 &&
|
||||
(parser->lenient_flags & LENIENT_TRANSFER_ENCODING) == 0) {
|
||||
/* RFC 7230 3.3.3 */
|
||||
|
||||
/* If a Transfer-Encoding header field
|
||||
|
||||
1370
lib/llhttp/llhttp.c
1370
lib/llhttp/llhttp.c
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
|
||||
#define LLHTTP_VERSION_MAJOR 6
|
||||
#define LLHTTP_VERSION_MINOR 0
|
||||
#define LLHTTP_VERSION_PATCH 6
|
||||
#define LLHTTP_VERSION_PATCH 7
|
||||
|
||||
#ifndef LLHTTP_STRICT_MODE
|
||||
# define LLHTTP_STRICT_MODE 0
|
||||
@@ -59,6 +59,7 @@ enum llhttp_errno {
|
||||
HPE_OK = 0,
|
||||
HPE_INTERNAL = 1,
|
||||
HPE_STRICT = 2,
|
||||
HPE_CR_EXPECTED = 25,
|
||||
HPE_LF_EXPECTED = 3,
|
||||
HPE_UNEXPECTED_CONTENT_LENGTH = 4,
|
||||
HPE_CLOSED_CONNECTION = 5,
|
||||
@@ -100,7 +101,8 @@ typedef enum llhttp_flags llhttp_flags_t;
|
||||
enum llhttp_lenient_flags {
|
||||
LENIENT_HEADERS = 0x1,
|
||||
LENIENT_CHUNKED_LENGTH = 0x2,
|
||||
LENIENT_KEEP_ALIVE = 0x4
|
||||
LENIENT_KEEP_ALIVE = 0x4,
|
||||
LENIENT_TRANSFER_ENCODING = 0x8
|
||||
};
|
||||
typedef enum llhttp_lenient_flags llhttp_lenient_flags_t;
|
||||
|
||||
@@ -172,6 +174,7 @@ typedef enum llhttp_method llhttp_method_t;
|
||||
XX(0, OK, OK) \
|
||||
XX(1, INTERNAL, INTERNAL) \
|
||||
XX(2, STRICT, STRICT) \
|
||||
XX(25, CR_EXPECTED, CR_EXPECTED) \
|
||||
XX(3, LF_EXPECTED, LF_EXPECTED) \
|
||||
XX(4, UNEXPECTED_CONTENT_LENGTH, UNEXPECTED_CONTENT_LENGTH) \
|
||||
XX(5, CLOSED_CONNECTION, CLOSED_CONNECTION) \
|
||||
@@ -374,8 +377,6 @@ LLHTTP_EXPORT
|
||||
void llhttp_init(llhttp_t* parser, llhttp_type_t type,
|
||||
const llhttp_settings_t* settings);
|
||||
|
||||
#if defined(__wasm__)
|
||||
|
||||
LLHTTP_EXPORT
|
||||
llhttp_t* llhttp_alloc(llhttp_type_t type);
|
||||
|
||||
@@ -400,8 +401,6 @@ int llhttp_get_status_code(llhttp_t* parser);
|
||||
LLHTTP_EXPORT
|
||||
uint8_t llhttp_get_upgrade(llhttp_t* parser);
|
||||
|
||||
#endif // defined(__wasm__)
|
||||
|
||||
/* Reset an already initialized parser back to the start state, preserving the
|
||||
* existing parser type, callback settings, user data, and lenient flags.
|
||||
*/
|
||||
@@ -556,6 +555,19 @@ void llhttp_set_lenient_chunked_length(llhttp_t* parser, int enabled);
|
||||
*/
|
||||
void llhttp_set_lenient_keep_alive(llhttp_t* parser, int enabled);
|
||||
|
||||
/* Enables/disables lenient handling of `Transfer-Encoding` header.
|
||||
*
|
||||
* Normally `llhttp` would error when a `Transfer-Encoding` has `chunked` value
|
||||
* and another value after it (either in a single header or in multiple
|
||||
* headers whose value are internally joined using `, `).
|
||||
* This is mandated by the spec to reliably determine request body size and thus
|
||||
* avoid request smuggling.
|
||||
* With this flag the extra value will be parsed normally.
|
||||
*
|
||||
* **(USE AT YOUR OWN RISK)**
|
||||
*/
|
||||
void llhttp_set_lenient_transfer_encoding(llhttp_t* parser, int enabled);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user