Adrien Béraud
5a2a20a32f
http: migrate from http-parser to llhttp
2024-05-31 06:58:09 -04:00
Lanius-collaris
318d02c55a
update http, dht_proxy_client
...
http: simplify Connection::async_connect()
dht_proxy_client: add listenKeepIdle setting
2024-05-25 23:57:52 -04:00
Lanius-collaris
a69da52f89
update http.h, http.cpp
2024-05-25 23:57:52 -04:00
Lanius-collaris
88d65a55a7
http: allow to modify keepalive option
2024-05-25 23:57:52 -04:00
Lanius-collaris
dffe7d91ee
return to 386943de
2024-05-25 23:57:52 -04:00
Lanius-collaris
da638b3ae6
cleanup
2024-05-25 23:57:52 -04:00
Lanius-collaris
379568ae0d
Update http.cpp
2024-05-25 23:57:52 -04:00
Lanius-collaris
24adfbf2c4
Adjust TCP keepalive options for listen op
2024-05-25 23:57:52 -04:00
Adrien Beraud
5abbef547b
use new log format
2024-03-22 13:49:44 -04:00
Adrien Beraud
a37e42af37
Request: cancel resolver on cancel
2024-03-22 13:49:44 -04:00
Adrien Beraud
cc6cce6157
http: allow to cancel resolver
2024-03-22 13:49:44 -04:00
Adrien Béraud
7ca39b4a20
http: use OCSP_check_validity to check OCSP validity
2024-03-17 15:56:48 -04:00
Adrien Béraud
55688a25aa
http: don't encode whole url
...
url encoding should be used for url components
by users of the library,
otherwise characters like '/' get escaped.
2023-08-30 17:58:45 -04:00
Adrien Béraud
ed6c5381d8
http: remove incorrect static usage
2023-07-29 00:02:48 -04:00
Léo Banno-Cloutier
2f2ed9bca7
url_encode: escape url query
...
For routes such as /api/auth/directory/search, when searching for names such as
"Léo", jams would not respond to the request
since the URL contained invalid characters defined in RFC3986. `url_encode`
turns such characters into their equivalent escaped characters.
2023-07-25 10:28:22 -04:00
Adrien Béraud
fafd2f0233
update copyright year
2023-06-02 23:16:04 -04:00
Adrien Béraud
2654970499
logger: remove OPENDHT_LOG, rename to logger.h
2023-05-18 12:31:42 -04:00
Adrien Béraud
9e60a681f3
use ostringstream instead of stringstream where possible
2023-03-23 16:50:19 -04:00
Sébastien Blin
8b022d0022
Merge branch 'master' into fix/request_timeout
2022-08-11 13:49:44 -04:00
Sébastien Blin
5399dbdfbc
proxy_client: reconnect account if local ip changes
...
When switching between two network interfaces, local address will
change but not the public ip. This generally cause the client to
not correctly updates its candidates.
In this patch, we inject in the proxy client the local candidates
and use it to check if the network changed.
2022-08-11 12:32:44 -04:00
Sébastien Blin
0e3bca1dde
http: modify timeout behaviour
...
In the previous version, the timeout for the connection could be
set only after async_connect while the request is sending.
This means if async_connect is slow (it can happen as if there is
an ipv6 endpoint, it can try to resolve it during dozens of seconds
before falling back on ipv4).
In this patch, it moves the timeout callback in the request. This
callback will be set just before async_connect, to be sure that we
are using the callback while connecting.
2022-08-11 11:17:30 -04:00
Adrien Béraud
c3ad33687e
misc: fix various warnings
2022-07-17 14:41:41 -04:00
Adrien Béraud
c59f951e5a
update copyright
2022-03-10 19:51:25 -05:00
Sébastien Blin
14d882d220
http: add support for TCP keep alive and handle broken pipes
2021-05-03 10:09:31 -04:00
Adrien Béraud
72725dc5c1
http: make OCSP check optional
2020-11-24 15:34:19 -05:00
Adrien Béraud
6441a09e09
ocsp: fix memleaks
2020-11-20 14:42:55 -05:00
Kateryna Kostiuk
8c852c20e7
os_cert: do not load for iOS
2020-11-18 15:47:10 -05:00
Adrien Béraud
81cdd9650b
os_cert: cleanup
2020-11-17 14:37:03 -05:00
Adrien Béraud
88b2439deb
http: use string for body, fix log arguments
2020-11-14 18:07:05 -05:00
Adrien Béraud
9d937bb277
http: factor setting CA source
2020-11-12 19:00:02 -05:00
Andreas Traczyk
1621515b3c
http: use local cache to store pre-decoded certs
...
- pre-decode certs from DER->PEM and store them so http connections
can add them the ssl context x509 store
- fixes the windows build by adding the crypto/x509 header
2020-11-12 18:58:18 -05:00
Adrien Béraud
c2a4f667a7
http: look for CA path in env
2020-11-12 12:53:03 -05:00
Adrien Béraud
065be0621d
ssl: fix build on non-MSVC platforms
2020-10-28 14:06:08 -04:00
Andreas Traczyk
6c085ed975
http: load ca certs from platform specific stores into x509 store
2020-10-28 12:23:53 -04:00
Adrien Béraud
4c5776f9d2
http: add support for OCSP verification
2020-10-28 12:23:53 -04:00
Adrien Béraud
c84fac6823
http: add Request::await
2020-10-28 12:23:53 -04:00
Adrien Béraud
67adc09d52
http: add non-Linux exception for current libressl limitation
2020-07-03 16:33:12 -04:00
Adrien Béraud
9dc0ce7392
http: cleanup
2020-06-29 23:06:42 -04:00
Adrien Béraud
1a025c5cea
http: log peer subject name during TLS certificate verification
2020-06-29 20:52:53 -04:00
Adrien Béraud
732e9af439
http: set SNI when using TLS
2020-06-29 19:17:16 -04:00
Adrien Béraud
4e5666fc3a
http: add verify path for Android
2020-06-29 19:17:16 -04:00
Adrien Béraud
cfa21df8b3
http: cleanup, always verify host in TLS mode
2020-06-29 12:12:22 -04:00
Adrien Béraud
f72bfc9df2
http: use hostname for certificate authentication
2020-06-19 15:21:34 -04:00
Adrien Béraud
c221cfdafe
http/Request: add get json constructor
2020-06-15 17:47:32 -04:00
Adrien Béraud
187c7dbce3
http: preserve headers during redirect
2020-03-25 23:00:16 -04:00
Adrien Béraud
f445b2536d
http: handle redirects
2020-02-12 16:45:25 -05:00
Adrien Béraud
6c43efa4da
http: use proper target in requests
2020-02-04 16:21:24 -05:00
Adrien Béraud
3ba43c80a2
http: add weak_ptr to Request in Response
2020-01-15 11:45:26 -05:00
Adrien Béraud
16333f4224
http: add mutex to Request, Connection
2020-01-15 11:45:03 -05:00
Adrien Béraud
616d6fe4b8
update copyright date
2020-01-03 15:14:32 -05:00