Commit Graph

1219 Commits (master)

Author SHA1 Message Date
Andrea Pappacoda 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
1 year ago
yhirose fee8e97b4e
Rename fuzzing test corpus for #1264 1 year ago
yhirose 72d9ed4056 Added fuzzing corpus for #1264 1 year ago
Andrea Pappacoda 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:
1 year ago
yhirose 9452c0a4b6 Release v0.10.7 1 year ago
Yoshiki Matsuda 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
1 year ago
mylogin 696239d6e1
Link Windows crypto libs only when CPPHTTPLIB_OPENSSL_SUPPORT is set (#1254) 1 year ago
Andrea Pappacoda 6929d90353
build(meson): allow using OpenSSL 3.0 (#1256)
Following 0857eba17b cpp-httplib is fully compatible with OpenSSL versions newer than 1.1.1
1 year ago
yhirose 348d032029 Updated README 1 year ago
Andrea Pappacoda 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
1 year ago
Eli Schwartz 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
1 year ago
yhirose d87abeecf0 Release v0.10.6 1 year ago
yhirose 4e28e4f741 Fix #1251 1 year ago
yhirose 80a55cedeb Removed examples 1 year ago
yhirose d05c343602 Release v0.10.5 1 year ago
yhirose 33f67386fe Fix #1249 1 year ago
yhirose 56d8168dc4 clangformat 1 year ago
greenfish 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.
1 year ago
yhirose 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 <>
1 year ago
Kotarou 0857eba17b
replace deprecated OpenSSL functions with evp functions (#1241) 1 year ago
Andrea Pappacoda 020b0db090
build(meson): generate key_encrypted.pem (#1221)
8191fd8e6c only added one of the two files
2 years ago
Andrea Pappacoda bf0760fde4
fix: update user agent (#1218) 2 years ago
yhirose bb8e45383e Update README 2 years ago
yhirose a1df576e4f Fix #1212 2 years ago
yhirose 7fb0254794 Fix #1215 2 years ago
yhirose c82d1e52cc Fix #1214 2 years ago
yhirose 846151b605 Added a unit test case for large multipart form data 2 years ago
Alexandre Bouvier e44e31dd5b
Add soversion (#1209) 2 years ago
yhirose f7b9501662 clangformat 2 years ago
yhirose e12fe4cbbb Performance improvement 2 years ago
yhirose 49d2e1f135 Fix problem with InvalidPort test 2 years ago
Sebastien Blanchet 8191fd8e6c
Add optional private key password to SSLServer ctor (#1205) 2 years ago
yhirose d73395e1dc Release v0.10.3 2 years ago
au-ee 64d001162b
CPPHTTPLIB_NO_DEFAULT_USER_AGENT skips default user agent (#1201) 2 years ago
yhirose bb00a23116 Apply clangformat 2 years ago
yhirose 63d6e9b91b Removed and 2 years ago
Edwin Kofler 66eed5681a
Fix typo in Dockerfile (#1187) 2 years ago
Andrea Pappacoda 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

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.
2 years ago
Andrea Pappacoda 894fcc8e02
test: add missing "_Online" suffix (#1183)
This test fails reproducibly in a Debian build chroot, and they generally don't have internet access
2 years ago
Rockybilly 7f43f0f3ff
User-Agent update cpp-httplib/0.10.2 (#1181) 2 years ago
Gregor Jasny 87e03dd1ce
Report connection timeout as separate event (#1171) 2 years ago
yhirose e5cacb465d
Fix #1172 (#1173)
This change is based on RFC7230, § 3.5 'Message Parsing Robustness': "Although the line terminator for the start-line and header fields is the sequence CRLF, a recipient MAY recognize a single LF as a line terminator and ignore any preceding CR."
2 years ago
yhirose ee8371f753 Added 'PostLarge' unit test for #1169 2 years ago
yhirose 081723f983 Add another fuzz test corpus 2 years ago
yhirose b61f36579c Fix #1166 2 years ago
ArnaudBienner 33f53aa458
Fix set_content_provider example in (#1163) 2 years ago
yhirose 412ab5f063 Added example/Dockerfile.hello 2 years ago
yhirose 11e02e901c Fixed unit test 2 years ago
yhirose 65a8f4cf44 Added `hosted_at`. (Resolve #1113) 2 years ago
yhirose 27d128bbb4 Fix problems in #1154 2 years ago