2298 Commits

Author SHA1 Message Date
HoneyryderChuck
6baca35422 support has been removed 2023-09-20 17:57:41 +01:00
HoneyryderChuck
b4c5e75705 drop faraday adapter support for faraday lower than v1 2023-09-20 17:57:41 +01:00
HoneyryderChuck
d859c3a1eb remove support for older (< v1) versions of dddtrace in the datadog plugin 2023-09-20 17:57:41 +01:00
HoneyryderChuck
b7f5a3dfad adding release notes with latest updates 2023-09-20 17:57:41 +01:00
HoneyryderChuck
8cd1aac99c remove deprecated APIs 2023-09-20 17:57:39 +01:00
HoneyryderChuck
f0f6b5f7e2 removed punycode ruby implementation inherited from domain_name
it's IDNA 2003 compliant only, and people can already load idnx
optionally.
2023-09-20 17:57:05 +01:00
HoneyryderChuck
acbc22e79f test against jruby 9.4 2023-09-20 17:57:05 +01:00
HoneyryderChuck
134bef69e0 removed overrides and refinements of methods prior to 2.7 2023-09-20 17:57:05 +01:00
HoneyryderChuck
477c3601fc eliminated blocks testing for ruby < 2.7 2023-09-20 17:57:05 +01:00
HoneyryderChuck
f0dabb9a83 rearranged deps to adapt to the new constraints 2023-09-20 17:57:05 +01:00
HoneyryderChuck
7407adefb9 set min ruby gemspec constraint 2023-09-20 17:57:05 +01:00
HoneyryderChuck
91bfa84c12 removed ruby < 2.7 from CI 2023-09-20 17:57:05 +01:00
HoneyryderChuck
7473af6d9d removed punycode ruby implementation inherited from domain_name
it's IDNA 2003 compliant only, and people can already load idnx
optionally.
2023-09-20 17:57:05 +01:00
HoneyryderChuck
4292644870 Merge branch 'issue-247' into 'master'
fix Session class assertions not prepared for class overrides

Closes #247

See merge request os85/httpx!274
2023-09-19 16:07:08 +00:00
HoneyryderChuck
2e11ee5b32 fix Session class assertions not prepared for class overrides
Some plugins override the Session class, however there may be instances
of the original Session around, therefore the assertions need to somehow
point to the original Session class to stil be able to work.

Closes #247
2023-09-19 09:33:01 +01:00
HoneyryderChuck
0c8398b3db bumped version to 0.24.5 v0.24.5 2023-09-17 22:53:35 +01:00
HoneyryderChuck
52e738b586 Merge branch 'issue-246' into 'master'
fix bug in DoH impl when the request returned no answer

Closes #246

See merge request os85/httpx!273
2023-09-14 18:44:29 +00:00
HoneyryderChuck
c0afc295a5 fix bug in DoH impl when the request returned no answer (Closes #246) 2023-09-14 13:32:04 +01:00
HoneyryderChuck
ed7c56f12c
Merge branch 'test-for-no-sni-and-san-check' into 'master'
Test for no sni and san check

See merge request os85/httpx!272
2023-09-10 20:11:58 +00:00
HoneyryderChuck
be7075beb8 fix for san check in order to support IPv6 SAN check 2023-09-10 01:09:56 +01:00
HoneyryderChuck
f9a6aab475 add the no-sni-with-san-check test 2023-09-08 23:29:12 +01:00
HoneyryderChuck
cc441b33d8 force variable that may be nil to array for Array#& v0.24.4 2023-09-06 22:52:19 +01:00
HoneyryderChuck
b8d97cc414 bump version to 0.24.4 2023-09-06 22:40:42 +01:00
HoneyryderChuck
eab39a5f99
Merge branch 'issue-243' into 'master'
TLS: support session resumption

Closes #243

See merge request os85/httpx!271
2023-09-06 21:40:10 +00:00
HoneyryderChuck
5ffab53364 disable http2 goaway test for jurby (ssl socket hanging on reconnection, can't figure out the reason yet) 2023-09-06 22:09:56 +01:00
HoneyryderChuck
b24421e18c forcing hostname verification for jruby, since it's turned off by default
https://github.com/jruby/jruby-openssl/issues/284
2023-09-06 22:09:56 +01:00
HoneyryderChuck
487a747544 allow reuse of previously closed connections within the scope of a session
when closed, connections are now placed in a place called eden_connections; whenever a connection is matched for, after checking the live connections and finding none, a match is looked in eden connections; the match is accepted **if** the IP is considered fresh (the input is validated in the cache, or input was an ip or in /etc/hosts, or it's an external socket) and, if a TLS connection, the stored TLS session did not expire; if these conditions do not match, the connection is dropped from the eden and a new connection will started instead; this will therefore allow reusing ruby objects, reusing TLS sessions, and still respect the DNs cache
2023-09-06 22:09:56 +01:00
HoneyryderChuck
ef2f0cc998 ssl: support session resumption on reconnections with same session
when connections get reset due to max number of requests being reached,
the same TLS session is going to be reused, as long as it's valid.

This change is ported from the same feature in net-http, including [the
tls 1.3
improvements](ddf5c52b5f)
2023-09-06 22:09:56 +01:00
HoneyryderChuck
f03d9bb648 fix: ssl handshake correct handling of ip addresses
besides not setting session sni hostname, which it was already doing,
the verify_hostname is set to false to avoid warnings, and the
post_connection_check is still allowed to proceed, to check that the
certificate returned includes the IP address.

port of the similar net-http change found
[here](fa68e64bee)

also ommitting certain steps in the initializer if the ssl socket is
initiated outside of the httpx context and passed as an option.
2023-09-06 22:09:56 +01:00
HoneyryderChuck
0f234c2d7b moved rbs out of the general group 2023-09-05 23:02:51 +01:00
HoneyryderChuck
f4171e3cf5 Merge branch 'fix/digest-improvements' into 'master'
Fix/digest improvements

See merge request os85/httpx!256
2023-08-16 00:24:32 +00:00
HoneyryderChuck
9c831205e0 linting 2023-08-16 01:08:41 +01:00
HoneyryderChuck
a429a6af22 .digest_auth can now support prior hashed ha1 password via :hashed
kwarg

this is something common to store in htdigest files for example, and is
a format supported by webrick as well.
2023-08-16 00:35:46 +01:00
HoneyryderChuck
73484df323 add tests for -sess digest auth 2023-08-08 23:11:02 +01:00
Jonas Müller
819e11f680 Fix typo in README.md 2023-08-04 14:04:56 +01:00
HoneyryderChuck
9b2c8e773d faraday test fix: old faraday does not support stringio inputs 2023-08-01 10:36:54 +01:00
HoneyryderChuck
607fa42672 fix faraday test again... 2023-08-01 10:06:05 +01:00
HoneyryderChuck
0ce42ba694 use string in faraday test 2023-08-01 09:51:29 +01:00
HoneyryderChuck
463bf15ba8 bump version to 0.24.3 v0.24.3 2023-07-31 19:21:26 +01:00
HoneyryderChuck
835a851dd6 Merge branch 'faraday-tests' 2023-07-31 19:14:58 +01:00
HoneyryderChuck
1b9422e828 supporting faraday bind request option 2023-07-31 16:09:59 +01:00
HoneyryderChuck
2ef2b5f797 fix: set ssl verify to none when verify field is false (and ignore when nil) 2023-07-31 16:09:59 +01:00
HoneyryderChuck
7be554dc62 fix: faraday timeouts not being correctly mapped to httpx timeouts 2023-07-31 16:09:59 +01:00
HoneyryderChuck
b7a850f6da turn httpx timeout errors into faraday errors 2023-07-31 16:09:59 +01:00
HoneyryderChuck
b7d421fdcd fix for accessing wrong ivar 2023-07-31 16:09:59 +01:00
HoneyryderChuck
93b4ac8542 added tests to faraday adapter, for timeout and proxy based features 2023-07-31 16:09:59 +01:00
HoneyryderChuck
892dd6d37f bump version to 0.24.2 v0.24.2 2023-07-30 23:35:27 +01:00
HoneyryderChuck
6ae05006c6 fixes and improvements on the faraday adapter
* implement `Faraday::Adapter#build_connection´ (adapter seems to
  expect it)
* implement `Faraday::Adapter#close` (adapter seems to expect it)
* use `Faraday::Adapter#request_timeout` to translate faraday timeouts
  to httpx timeouts;
* ensure that the same HTTPX sesion object gets reused

In the process, also had to tweak the parallel manager, by
reimplementing the faraday APIs I was required to implement in the first
place, in order to obe able to reuse something (which just shows that
this faraday parallel API was poorly thought out).
2023-07-28 23:45:33 +01:00
HoneyryderChuck
f0167925ec fixing cheatsheet indication 2023-07-28 23:45:03 +01:00
HoneyryderChuck
afead02c46 eliminate deprecated MiniTest module 2023-07-27 00:02:11 +01:00