1
0
mirror of synced 2025-04-23 09:45:32 +03:00

335 Commits

Author SHA1 Message Date
yhirose
88c961f37e Removed std::atomic<Error> error_ 2020-12-01 15:17:34 +00:00
David Wu
02d3cd5909 Fix multiple threading bugs including #699 and #697 2020-11-29 12:29:15 -05:00
yhirose
a5c239c174 Fix #765 2020-11-21 16:35:31 -05:00
yhirose
c2afc5ca44 Added chunked content provider support on client 2020-11-21 08:46:50 -05:00
yhirose
cee062d4c9 Fixed unit tests due to the change in #763 2020-11-19 21:04:46 -05:00
yhirose
f086bf5310 Fix #738 2020-11-08 18:16:23 -05:00
yhirose
6613d7b7ad Fixed warnings 2020-11-08 17:59:11 -05:00
miketsts
b6b2eaf5bc
Add unit test SSLConnectTimeout (#741)
Add unit test for issue #682 fixed in PR #728, which does not contain
the test of its own.

The test creates a fake SSL server, inherited from SSLServer, which
does not create an SSL context. When an SSL client attempts to send it
a request, it gets a timeout error. Prior to PR #728, the client would
wait indefinitely

Co-authored-by: Michael Tseitlin <michael.tseitlin@concertio.com>
2020-11-07 09:41:20 -05:00
yhirose
eb4b7c70a9 Fix #737 2020-11-07 09:33:22 -05:00
yhirose
041122908c Fix problem with invalid range 2020-11-05 00:20:59 -05:00
Omkar Jadhav
e1f781a21a
[oss-fuzz] Enable msan for fuzz tests (#734)
* Disable openssl as we're not using it in fuzz tests

* Increase timeout in ClientStop test
2020-11-04 11:30:56 -05:00
Omkar Jadhav
72b81badad
Fix issues reported by oss-fuzz (#729)
* Fix oss-fuzz issue #26529

* Add test for oss-fuzz issue  #26598

* Fix oss-fuzz issue  #26632

* Revert change and add new test cases
2020-11-03 11:36:02 -05:00
yhirose
17428a8fbf Fixed warning 2020-11-03 09:16:28 -05:00
Daniel Ottiger
6e1879dfae
ssl-verify-host: fix verifying ip addresses containing zero's (#732)
* ssl-verify-host: fix verifying ip addresses containing zero's

If the subject alternate name contained an ip address with an zero
(like 10.42.0.1) it could not successfully verify.
It is because in c++ strings are null-terminated
and therefore strlen(name) would return a wrong result.
As I can not see why we can not trust the length returned by openssl,
lets drop this check.

* ssl-verify-host: add test case

lets try to validate against 127.0.0.1

Co-authored-by: Daniel Ottiger <daniel.ottiger@ch.schindler.com>
2020-11-02 20:27:34 -05:00
yhirose
3b29cd0bdc Fix #698 2020-10-25 12:14:54 -04:00
yhirose
0ed70c4d9f Fixed unit test errors 2020-10-21 14:34:27 -04:00
Omkar Jadhav
bc4a613b6d
Fix suffix-byte-range issue (#711) 2020-10-20 11:11:27 -04:00
yhirose
4bb001351c Fix #705 2020-10-19 22:13:24 -04:00
yhirose
316add860b Added ReadTimeoutSSL test 2020-10-08 22:55:09 -04:00
Omkar Jadhav
143b2dd15a
Fix memory leak due caused due to X509_STORE (#671)
* Fix memory leak due caused due to X509_STORE

* Add test for repro and address sanitizer to compiler flags

* Add comment

* Sync

* Associate ca_store with ssl context within set_ca_cert_store()

* Split SlowPost test

* Fix #674

Co-authored-by: yhirose <yuji.hirose.bug@gmail.com>
2020-10-02 13:17:37 -04:00
yhirose
d87082f04b Split SlowPost test 2020-09-29 19:17:34 -04:00
yhirose
559c407552 Adjusted SlowRequest test 2020-09-25 18:13:10 -04:00
tmahring
e9575bcb78
don't replace plus with space in headers (#649)
* don't replace plus with space in headers

* fixed forward handling with changed header parsing

* add test for boundaries containing plus chars
2020-09-10 20:27:01 -04:00
yhirose
9d12b3f20e Fixed warnings and refactoring 2020-09-03 20:33:30 -04:00
Omkar Jadhav
852a374748
Fix server crash caused due to regex complexity while matching headers. (#632)
* Fix parsing to parse query string with single space char.

When passed ' ' as a query string, the server crashes cause of illegal memory access done in httplib::detail::split. Have added checks to make sure the split function has a valid string with length > 0.

* Fix parsing to parse query string with single space char.

* Fix server crash caused due to regex complexity while matching headers.

While parsing content-type header in multipart form request the server crashes due to the exhaustion of max iterations performed while matching the input string with content-type regex.
Have removed the regex which might use backtracking while matching and replaced it with manual string processing. Have added tests as well.

* Remove magic number

Co-authored-by: Ivan Fefer <fefer.ivan@gmail.com>

Co-authored-by: yhirose <yhirose@users.noreply.github.com>
Co-authored-by: Ivan Fefer <fefer.ivan@gmail.com>
2020-09-03 13:17:52 -04:00
Ivan Fefer
3b5bab3308
Fix gzip_decompressor in case of one chunk being exactly equal to buffer size (#636)
* add larget chunks test

* revert test

* Fix gzip decoder in case of chunk being equal to buffer size

* add test
2020-09-03 12:20:02 -04:00
Omkar Jadhav
b0fd4befb1
Fix query parsing issues (#629)
* Fix parsing to parse query string with single space char.

When passed ' ' as a query string, the server crashes cause of illegal memory access done in httplib::detail::split. Have added checks to make sure the split function has a valid string with length > 0.

* Fix parsing to parse query string with single space char.
2020-08-28 09:43:28 -04:00
yhirose
e5dd410256 Added set_content_provider without content length 2020-08-15 05:53:49 -04:00
yhirose
dc5f9ba164
Better error handling on client (#601) 2020-08-08 20:50:24 -04:00
yhirose
04002d57bd Added set_default_headers (Fix #600) 2020-08-03 22:05:37 -04:00
yhirose
ae54e833ea Code cleanup 2020-07-31 23:48:42 -04:00
yhirose
a5b4cfadb9 Brotli suport on server. Fix #578 2020-07-31 10:23:57 -04:00
yhirose
3e906a9b8c Fix #591 2020-07-30 18:26:18 -04:00
yhirose
797d1f27e8 Fix #357 2020-07-29 23:12:05 -04:00
yhirose
12540fe8d3 Brotli support on client 2020-07-25 20:44:02 -04:00
yhirose
9ca1fa8b18 Fix #576 2020-07-25 09:37:57 -04:00
yhirose
15c4106a36 Added a unit test 2020-07-22 08:07:59 -04:00
yhirose
b476b55771 Fix #557 2020-07-20 17:04:50 -04:00
yhirose
c4f3f9529b
Fix #534 (#546) 2020-07-02 21:57:50 -04:00
yhirose
ce502a73e1 Fix #531 2020-06-22 14:56:18 -04:00
yhirose
010e4479f4 Fixed test errors due to httpbin.org 2020-06-22 14:53:20 -04:00
yhirose
7cd25fbd63 Fix #499 2020-06-16 17:46:23 -04:00
yhirose
0cc108d45e Updated ClientStop test 2020-06-13 23:18:59 -04:00
yhirose
e022b8b80b Refactoring to make it ready for KeepAlive connection on Client 2020-06-13 21:42:23 -04:00
yhirose
34282c79a9 Changd thread count in ClientStop 2020-06-13 01:45:08 -04:00
yhirose
f80b6bd980 Added Endpoint structure in Client 2020-06-13 01:26:57 -04:00
yhirose
5af7222217 Fixed Client::stop problem with more than one requests on threads 2020-06-12 11:04:37 -04:00
yhirose
24bdb736f0 Fix #506 2020-06-09 19:58:01 -04:00
yhirose
3eaa769a2d Fix #481, #483, #487 2020-05-26 18:34:32 -04:00
yhirose
630f3465a9 Deprecated set_timeout_sec, added set_connection_timeout. 2020-05-23 18:00:24 -04:00