summaryrefslogtreecommitdiff
path: root/lib/net
AgeCommit message (Collapse)Author
2022-04-20[ruby/net-http] Feature detect to make net/http usable with JRubyKarol Bucek
Handle missing session_new_cb= and do not call session_cache_mode=, as JRuby SSL does not support these methods. https://github.com/ruby/net-http/commit/3237ef4d8c
2022-04-20[ruby/net-http] Add ignore_eof access to HTTP and HTTPResponseJeremy Evans
The ignore_eof setting on HTTPResponse makes it so an EOFError is raised when reading bodies with a defined Content-Length, if the body read was truncated due to the socket be closed. The ignore_eof setting on HTTP sets the values used in responses that are created by the object. For backwards compatibility, the default is for both settings is true. However, unless you are specifically tested for and handling truncated responses, it's a good idea to set ignore_eof to false so that errors are raised for truncated responses, instead of those errors silently being ignored. Fixes [Bug #14972] https://github.com/ruby/net-http/commit/4d47e34995
2022-04-14[ruby/net-http] Update the content-length heading when decoding bodiesJeremy Evans
Previously, the content-encoding header was removed and the body was modified, but the content-length header was not modified, resulting in the content-length header not matching the body length. Don't delete content-length before yielding inflate body, as that causes a switch to read the entire body instead of reading in chunks. Fixes [Bug #16672] https://github.com/ruby/net-http/commit/58284e9710 Co-authored-by: st0012 <stan001212@gmail.com>
2022-04-12[ruby/net-http] Add HTTP#response_body_encoding for setting response body ↵Jeremy Evans
encoding This allows for the ability to opt-in to a method to set the encoding of response bodies. By setting the accessor to a String or Encoding instance, it will use the specified encoding. Setting the value of true will try to detect the encoding of the response body, either using the Content-Type header (assuming it specifies charset) or by scanning for a <meta> tag in the document that specifies the encoding. The default is false in which case no forcing of encoding will be done (same as before the patch). Implements [Feature #2567] Implements [Feature #15517] https://github.com/ruby/net-http/commit/6233e6b7c1 Co-authored-by: Yui Naruse <naruse@ruby-lang.org>
2022-04-03[ruby/net-http] Revert "Update the content-length heading when decoding bodies"Jeremy Evans
This reverts commit https://github.com/ruby/net-http/commit/a7cb30124cf1. This is causing errors in Ruby's CI, will revert for now and try again after testing a fix with Ruby's CI. https://github.com/ruby/net-http/commit/7b852b1feb
2022-04-02[ruby/net-http] Update the content-length heading when decoding bodiesJeremy Evans
Previously, the content-encoding header was removed and the body was modified, but the content-length header was not modified, resulting in the content-length header not matching the body length. Fixes [Bug #16672] https://github.com/ruby/net-http/commit/a7cb30124c
2022-04-01[ruby/net-protocol] Bump version to 0.1.3Hiroshi SHIBATA
https://github.com/ruby/net-protocol/commit/9cf40af499
2022-02-21Removed dependency of net-protocol. There is no plan to remove from stdlibHiroshi SHIBATA
2022-02-21Removed dependency of io-wait. There is no plan to remove from stdlibHiroshi SHIBATA
2022-02-03[ruby/net-http] Do not set SNI hostname if connecting to IP addressJeremy Evans
RFC 6066, section 3, explicitly disallows the use of an IP address as an SNI server name. So check if the connection is being made to an IP address using the resolv regexps, and do not set an SNI hostname in that case. Recent changes to LibreSSL make it more strictly follow RFC 6066, resulting an s.hostname= raising an error if passed an IP address. When such verions of LibreSSL are used, this change not only fixes the net/http tests, it also fixes tests for webrick and open-uri, which both make SSL connections to 127.0.0.1 using net/http in their tests. Avoid warning in the openssl extension by unsetting @ssl_context.verify_hostname if connecting to an IP address. Make changes so that the post_connection_check still happens when connecting to an IP address, which is necessary to keep checking that the certificate returned includes the IP address, which one of the tests depends on. Revert the previous change that modified the regexp used for checking the error message. https://github.com/ruby/net-http/commit/fa68e64bee
2022-02-02[ruby/net-protocol] Fix typo in gem description [ci skip]Olle Jonsson
https://github.com/ruby/net-protocol/commit/35d7b08a54
2022-02-02[ruby/net-protocol] Drop unused gemspec directivesOlle Jonsson
This gem exposes no executables. https://github.com/ruby/net-protocol/commit/3c4def2a64
2022-01-17[ruby/net-http] Rename `D` to `debug` in `Net::HTTP`Brandon Weaver
Renames `D` to `debug` in `Net::HTTP` and introduces an alias for backwards compatibility. This was done for readability reasons, in that `D` did not clearly reflect what the method was doing and can cause some confusion. https://github.com/ruby/net-http/commit/582d6e87d6
2022-01-05`res.response_body_permitted?` is not definedKazuhiro NISHIYAMA
`response_body_permitted?` is a method of request.
2021-11-17[ruby/net-http] gemspec: Drop unused directive "executables"Olle Jonsson
This gem exposes no executable files. https://github.com/ruby/net-http/commit/3b3743f6ce
2021-11-16[ruby/net-protocol] Update the required ruby versionNobuyoshi Nakada
https://github.com/ruby/net-protocol/commit/d4982420e6
2021-11-11[ruby/net-http] Send Accept-Encoding header on HEAD methodShohei Maeda
https://github.com/ruby/net-http/commit/9d95c5e3e6
2021-11-04[ruby/net-http] Warn deprecated old constantsNobuyoshi Nakada
https://github.com/ruby/net-http/commit/2a97b4729b
2021-11-04[ruby/net-http] Fix the typo in a constant nameNobuyoshi Nakada
https://github.com/ruby/net-http/commit/dada6007bf
2021-11-04[ruby/net-http] Reset keep_alive timer on new connectionKazuki Yamaguchi
The last_communicated timestamp is for HTTP persistent connection, to decide whether the current TCP connection may be reused for the subsequent requests or not. Naturally, the timer must be reset if the connection is recreated since it is no longer relevant. https://github.com/ruby/net-http/commit/0a013de42d
2021-10-30add missing http response code in doc180909
Notes: Merged: https://github.com/ruby/ruby/pull/4970
2021-10-21[ruby/net-http] Bump up net-http version to 0.2.0Hiroshi SHIBATA
https://github.com/ruby/net-http/commit/f3e65e2a31
2021-10-21[ruby/net-protocol] Bump up net-protocol version to 0.1.2Hiroshi SHIBATA
https://github.com/ruby/net-protocol/commit/088e52609a
2021-07-29[ruby/net-http] Enforce write timeout when body_stream is usedMiguel Teixeira
The existing implementation of `Net::HTTP#write_timeout` relies on `Net::BefferedIO` to trigger the `Net::WriteTimeout` error. This commit changes `send_request_with_body_stream` to remove the optimization that was making `Net::HTTP#write_timeout` not work when `body_stream` is used. Open issue: https://bugs.ruby-lang.org/issues/17933 https://github.com/ruby/net-http/commit/a0fab1ab52
2021-06-16[ruby/net-protocol] Get rid of `__send__`Nobuyoshi Nakada
Mitigate the security risk: https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html https://github.com/ruby/net-protocol/commit/a9970437e8
2021-05-31[ruby/net-protocol] Bump version to 0.1.1Hiroshi SHIBATA
https://github.com/ruby/net-protocol/commit/97c4b68528
2021-05-27Promote net-smtp to the bundled gemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4530
2021-05-27Promote net-pop to the bundled gemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4530
2021-05-27Promote net-imap to the bundled gemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4530
2021-05-27Promote net-ftp to the bundled gemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4530
2021-05-12[ruby/net-ftp] Bump version to 0.1.2Shugo Maeda
https://github.com/ruby/net-ftp/commit/895ba44b3c
2021-05-06[ruby/net-http] Do not require stringioKazuki Yamaguchi
It is not used in net/http library code since commit 15ccd0118c13 (r36473 in ruby svn trunk, 2012). require's in test suite are also cleaned up. https://github.com/ruby/net-http/commit/996d18a43f
2021-05-06Fixed the file path for net-imap.gemspecHiroshi SHIBATA
2021-05-06Move net-imap.gemspec to under the lib/net/imap directory.Hiroshi SHIBATA
2021-05-06[ruby/net-imap] Many documentation improvementsnicholas a. evans
* updated obsoleted RFCs to current versions * linked most references to their RFCs * linked extension commands to their RFCs * removed unidiomatic `()` from instance method links * escaped `IMAP` in a few places * converted all response structs to explicit classes: this makes much nicer rdoc output than listing them all under "constants" * grouped flags constants into their own sections https://github.com/ruby/net-imap/commit/9cd562ac84
2021-05-06[ruby/net-imap] Move send_*_data into net/imap/command_datanicholas a. evans
Partially implements #10. https://github.com/ruby/net-imap/commit/64d1080d63
2021-05-06[ruby/net-imap] Move flags to net/imap/flagsnicholas a. evans
Partially implements #10. https://github.com/ruby/net-imap/commit/2a9afa83bf
2021-05-06[ruby/net-imap] Move UTF7 & datetime formatting to net/imap/data_encodingnicholas a. evans
Partially implements #10. https://github.com/ruby/net-imap/commit/0d43c5e856
2021-05-06[ruby/net-imap] move command data formatters to net/imap/command_datanicholas a. evans
Partially implements #10. https://github.com/ruby/net-imap/commit/24e929fdd2
2021-05-06[ruby/net-imap] move response data structs to net/imap/response_datanicholas a. evans
Partially implements #10. https://github.com/ruby/net-imap/commit/746757b936
2021-05-06[ruby/net-imap] move ResponseParser to lib/net/imap/response_parsernicholas a. evans
Partially implements #10. https://github.com/ruby/net-imap/commit/c2408aac9a
2021-05-06[ruby/net-imap] Clean up authenticators rdocnicholas a. evans
Added RFC links to all SASL mechanism specifications. https://github.com/ruby/net-imap/commit/53ff4b0c09
2021-05-06[ruby/net-imap] Update AUTH=PLAIN to be a little closer to RFC4616nicholas a. evans
* Add authzid support * must not contain NULL chars * improve rdoc https://github.com/ruby/net-imap/commit/a587fc71b7
2021-05-06[ruby/net-imap] Move each authenticator to its own filenicholas a. evans
Also updates rdoc with SASL specifications and deprecations. Of these four, only `PLAIN` isn't deprecated! +@@authenticators+ was changed to a class instance var +@authenticators+. No one should have been using the class variable directly, so that should be fine. https://github.com/ruby/net-imap/commit/23f241b081
2021-04-28[ruby/net-imap] Fix typo intentionaly -> intentionally [ci skip]Ryuta Kamizono
https://github.com/ruby/net-imap/commit/4057c662e7
2021-04-28[ruby/net-http] Initialize OpenSSL early before creating TCPSocketJeremy Evans
OpenSSL make take some time to initialize, and it would be best to take that time before connecting instead of after. From joshc on Redmine. Fixes Ruby Bug #9459 https://github.com/ruby/net-http/commit/14e09fba24
2021-04-28[ruby/net-http] Fix the regexp used to clean the hostJean Boussier
Introduced in https://github.com/ruby/ruby/commit/c1652035644 `/s` marks the regexp as encoded with Windows-31J which makes little sense. Nurse thinks the intent was to use `/m` for a multi-line regexp. https://github.com/ruby/net-http/commit/6c15342cdf
2021-04-28[ruby/net-http] Decode user and password from env configured proxyLukas Eipert
If someone sets an env variable defining a http_proxy, containing a username / password with percent-encoded characters, then the resulting base64 encoded auth header will be wrong. For example, suppose a username is `Y\X` and the password is `R%S] ?X`. Properly URL encoded the proxy url would be: http://Y%5CX:R%25S%5D%20%3FX@proxy.example:8000 The resulting proxy auth header should be: `WVxYOlIlU10gP1g=`, but the getters defined by ruby StdLib `URI` return a username `Y%5CX` and password `R%25S%5D%20%3FX`, resulting in `WSU1Q1g6UiUyNVMlNUQlMjAlM0ZY`. As a result the proxy will deny the request. Please note that this is my first contribution to the ruby ecosystem, to standard lib especially and I am not a ruby developer. References: - https://gitlab.com/gitlab-org/gitlab/-/issues/289836 - https://bugs.ruby-lang.org/projects/ruby-master/repository/trunk/revisions/58461 - https://bugs.ruby-lang.org/issues/17542 https://github.com/ruby/net-http/commit/e57d4f38aa
2021-04-28[ruby/net-http] Replace Timeout.timeout in Net:HTTP#connectmohamed
Use Socket.tcp's connect_timeout option instead https://github.com/ruby/net-http/commit/753cae3bbc
2021-04-28[ruby/net-smtp] mod: bump to a new VERSION that could be checked for ↵Tom Freudenberg
testings >0.2.1 https://github.com/ruby/net-smtp/commit/8f2c9323e2