1
0
mirror of synced 2025-06-13 18:41:30 +03:00
Commit Graph

1230 Commits

Author SHA1 Message Date
5e6f973b99 Release v0.10.9 v0.10.9 2022-07-08 17:40:05 -04:00
7ed77b02ad Disable YouTubeNoSSLDigest 2022-07-08 17:40:05 -04:00
127a64d5a0 Skip preamble and epilogue in multipart/form-data (Fix #1317) (#1320)
* fix: skip MIME preamble (#1317)

* Skip epilogue in multipart/form-data

Co-authored-by: Gavin1937 <71205842+Gavin1937@users.noreply.github.com>
2022-07-08 17:26:50 -04:00
caa31aafda Accept large data transfer over SSL (Fix #1261, Close #1312) 2022-07-02 07:50:33 -04:00
dae318495f Revert "Accept large data transfer over SSL (#1261)"
This reverts commit 307b729549.
2022-07-02 07:18:59 -04:00
305a7abcb9 fix: update CPPHTTPLIB_VERSION to 0.10.8 (#1305) 2022-06-08 16:44:10 -04:00
219d13b718 Fix #1303 v0.10.8 2022-06-07 09:52:08 -04:00
df20c27696 resolve http server can't send file large than 2GB (Fix #1290) (#1294)
* resolve problem: http server can't send file large than 2GB.
add unit test for http server send large file.
add /bigobj compile option to msvc x64.

* disable unit test "ServerLargeContentTest" due to out-of-memory on GitHub Actions.
2022-05-27 11:56:20 -04:00
a5a62768c0 Fix #1292 (#1296) 2022-05-27 11:54:43 -04:00
4001637beb Added CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH 2022-05-26 10:16:32 -04:00
47044c05a8 Fix compile error with MINGW-64 GCC-12.1.0 (#1283) 2022-05-24 07:16:54 -04:00
a449d82723 build(cmake): minor tweaks (#1274)
- Enable THREADS_PREFER_PTHREAD_FLAG to use -pthread where supported
- Remove low-level compile features (closes #1272)
- Remove unneeded DESTINATION options where possible
2022-05-17 07:02:44 -04:00
fee8e97b4e Rename fuzzing test corpus for #1264 2022-05-03 14:53:59 -04:00
72d9ed4056 Added fuzzing corpus for #1264 2022-05-02 18:06:14 -04:00
1be1b3a86d build(meson): don't require python3 (#1267)
Thanks to abf3a67dd0 the use of python3
isn't required anymore to configure the build, so I moved the
find_program('python3') inside the "if compile" block.

This makes it possible to configure cpp-httplib on systems where python
isn't available with tools like muon: https://sr.ht/~lattis/muon/
2022-04-30 17:40:47 -04:00
9452c0a4b6 Release v0.10.7 v0.10.7 2022-04-28 10:21:14 -04:00
307b729549 Accept large data transfer over SSL (#1261)
* Add large data transfer test

* Replace `SSL_read` and `SSL_write` with `ex` functions

* Reflect review comment

* Fix return value of `SSLSocketStream::read/write`

* Fix return value in the case of `SSL_ERROR_ZERO_RETURN`

* Disable `LargeDataTransfer` test due to OoM in CI
2022-04-27 21:08:39 -04:00
696239d6e1 Link Windows crypto libs only when CPPHTTPLIB_OPENSSL_SUPPORT is set (#1254) 2022-04-20 22:04:55 -04:00
6929d90353 build(meson): allow using OpenSSL 3.0 (#1256)
Following 0857eba17b cpp-httplib is fully compatible with OpenSSL versions newer than 1.1.1
2022-04-20 21:39:52 -04:00
348d032029 Updated README 2022-04-19 23:02:30 -04:00
d1d3fcdfd5 build(meson): mark *_encrypted_pem as test deps (#1255)
Meson only runs required targets. The key_encrypted_pem and
cert_encrypted_pem targets added in 020b0db090
and 8191fd8e6c weren't added to the list
of targets required by the test target, so the generation of the
encrypted certs was skipped, resulting in the failure of
BindServerTest.BindAndListenSeparatelySSLEncryptedKey.
2022-04-19 07:12:00 -04:00
abf3a67dd0 meson: fix regression that broke extracting version (#1253)
* meson: fix regression that broke extracting version

In commit 33f67386fe the code that
heuristically parsed the version broke due to the version being moved
around into a more easily accessible define.

While we are at it, pass the exact path of httplib.h to un-break usage
as a meson subproject. This was broken in commit
8ecdb11979 which checked the return code
of trying to get the version; it was always broken, but formerly failed
in silence and resulted in no version number.

* meson: use the compiler builtins to extract the version from the header

As a convenient string define, it is now possible to ask the
preprocessor what the version of cpp-httplib is. This can be used from
meson too, in order to avoid encoding C++ file structure into python
regexes.
2022-04-19 07:11:51 -04:00
d87abeecf0 Release v0.10.6 v0.10.6 2022-04-17 17:34:48 -04:00
4e28e4f741 Fix #1251 2022-04-17 11:53:41 -04:00
80a55cedeb Removed Repl.it examples 2022-04-16 21:11:17 -04:00
d05c343602 Release v0.10.5 v0.10.5 2022-04-16 21:02:30 -04:00
33f67386fe Fix #1249 2022-04-16 08:54:56 -04:00
56d8168dc4 clangformat 2022-04-16 08:52:55 -04:00
5d87cc0558 resolve compiler warnings (#1246)
* resolve compiler warnings

- check `WSAStartup` return.
- `const` is not suitable for `std::move`.

* resolve compiler warnings

- bool startup => bool is_valid_.
- remove `const` not removed.
2022-04-14 11:46:10 -04:00
cb41947eb4 Fix #1235 (#1243)
* Fix #1235

* fix BindIPAddress error (#1242)

* Code cleanup

* Added a unit test

* Commented out 'SSLClientTest.SetInterfaceWithINET6'

* Fixed incorrect return value from if2ip

* Removed if_nametoindex call

Co-authored-by: Kotarou <2918558+CyberKoo@users.noreply.github.com>
2022-04-13 21:32:46 -04:00
0857eba17b replace deprecated OpenSSL functions with evp functions (#1241) 2022-04-11 13:40:58 -04:00
020b0db090 build(meson): generate key_encrypted.pem (#1221)
8191fd8e6c only added one of the two files
2022-03-20 12:21:45 -04:00
bf0760fde4 fix: update user agent (#1218) 2022-03-18 18:12:51 -04:00
bb8e45383e Update README v0.10.4 2022-03-17 08:38:15 -04:00
a1df576e4f Fix #1212 2022-03-16 22:00:40 -04:00
7fb0254794 Fix #1215 2022-03-16 12:50:13 -04:00
c82d1e52cc Fix #1214 2022-03-16 10:56:33 -04:00
846151b605 Added a unit test case for large multipart form data 2022-03-16 09:37:13 -04:00
e44e31dd5b Add soversion (#1209) 2022-03-03 21:06:08 -05:00
f7b9501662 clangformat 2022-02-27 14:31:22 -05:00
e12fe4cbbb Performance improvement 2022-02-27 14:30:49 -05:00
49d2e1f135 Fix problem with InvalidPort test 2022-02-27 14:29:34 -05:00
8191fd8e6c Add optional private key password to SSLServer ctor (#1205) 2022-02-27 14:16:15 -05:00
d73395e1dc Release v0.10.3 v0.10.3 2022-02-22 10:21:27 -05:00
64d001162b CPPHTTPLIB_NO_DEFAULT_USER_AGENT skips default user agent (#1201) 2022-02-22 09:39:26 -05:00
bb00a23116 Apply clangformat 2022-02-09 17:16:47 -05:00
63d6e9b91b Removed up.sh and down.sh 2022-02-09 17:16:18 -05:00
66eed5681a Fix typo in Dockerfile (#1187) 2022-02-06 09:15:15 -05:00
8ecdb11979 build(meson): always install a pkg-config file (#1182)
A pkg-config file was previously installed only if cpp-httplib was being
built as a compiled library.

Since architecture-independent .pc files
can exist in /usr/share/pkgconfig, it can be useful to install one even
when installing the header-only version (for example, it could be used
by third party projects to easily find out if cpp-httplib is installed
and its version, using something like Meson's `dependency()` or CMake's
`pkg_check_modules()`).

The change makes the Meson build behave a bit more like the CMake one,
as it also always installs a CMake Config file, but here the pkg-config
file gets installed to the correct architecture-independent directory
(`datadir` represents /usr/share on Linux and simiar systems).

Lastly, I made some minor cleanups.
2022-02-03 19:50:49 -05:00
894fcc8e02 test: add missing "_Online" suffix (#1183)
This test fails reproducibly in a Debian build chroot, and they generally don't have internet access
2022-01-30 12:34:52 -05:00