summaryrefslogtreecommitdiff
path: root/lib/net
AgeCommit message (Collapse)Author
2021-11-22Bump net-protocol version to 0.1.1Hiroshi SHIBATA
2021-07-07Fix StartTLS stripping vulnerabilityShugo Maeda
This fixes CVE-2021-32066. Reported by Alexandr Savca in <https://hackerone.com/reports/1178562>.
2021-07-07Ignore IP addresses in PASV responses by default, and add new option use_pasv_ipYusuke Endoh
This fixes CVE-2021-31810. Reported by Alexandr Savca. Co-authored-by: Shugo Maeda <shugo@ruby-lang.org>
2021-06-10merge revision(s) 773c690f2553db31a9cc83a037f5449e0c1ea456:nagachika
[ruby/net-ftp] Bump version to 0.1.2 https://github.com/ruby/net-ftp/commit/895ba44b3c --- lib/net/ftp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2021-06-10merge revision(s) 1b2abb6590a653cb7b31d73c42edbaf2d0617b27:nagachika
[ruby/net-ftp] Replace "iff" with "if and only if" iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/net-ftp/commit/e920473618 --- lib/net/ftp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2021-06-10merge revision(s) 990baec41174a0b4cf7e285cf3185b4ab444437e:nagachika
[ruby/net-ftp] Close the passive connection data socket if there is an error setting up the transfer Previously, the connection leaked in this case. This uses begin/ensure and checking for an error in the ensure block. An alternative approach would be to not even perform the connection until after the RETR (or other) command has been sent. However, I'm not sure all FTP servers support that. The current behavior is: * Send (PASV/EPSV) * Connect to the host/port returned in 227/229 reply * Send (RETR/other command) Changing it to connect after the RETR could break things. FTP servers might expect that the client has already connected before sending the RETR. The alternative approach is more likely to introduce backwards compatibility issues, compared to the begin/ensure approach taken here. Fixes Ruby Bug 17027 https://github.com/ruby/net-ftp/commit/6e8535f076 --- lib/net/ftp.rb | 24 ++++++++++++++---------- test/net/ftp/test_ftp.rb | 39 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 12 deletions(-)
2021-06-10merge revision(s) a86c6cb34df0c44973efe6578ba1cd9150af22cf:nagachika
[ruby/net-ftp] Replace Timeout.timeout with socket timeout Timeout.timeout is inefficient since it spins up a new thread for each invocation, use Socket.tcp's connect_timeout option instead when we aren't using SOCKS (we can't replace Timeout.timeout for SOCKS yet since SOCKSSocket doesn't have a connect_timeout option). https://github.com/ruby/net-ftp/commit/d65910132f --- lib/net/ftp.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)
2021-04-29merge revision(s) ↵nagachika
4ae27d8075b2d138d13cb2b112f0ee50934b3017,2670509ebba5ba31a5bf34cf906943075446e005,8e2ac2140d1cd9c163c1556df58c020dc22ab269: [ruby/net-ftp] Reduce resource cosumption of Net::FTP::TIME_PARSER Reported by Alexandr Savca as a DoS vulnerability, but Net::FTP is a client library and the impact of the issue is low, so I have decided to fix it as a normal issue. Based on patch by nobu. https://github.com/ruby/net-ftp/commit/a93af636f8 --- lib/net/ftp.rb | 5 +++-- test/net/ftp/test_ftp.rb | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) [ruby/net-ftp] Add test cases https://github.com/ruby/net-ftp/commit/865232bb2a --- test/net/ftp/test_ftp.rb | 6 ++++++ 1 file changed, 6 insertions(+) test/net/ftp/test_ftp.rb: reduce the size of a long response "9" * 999999999 (about 1 GB) was too large for some CI servers. This commit changes the size to 999999 (about 1 MB). http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20210427T141707Z.fail.html.gz http://rubyci.s3.amazonaws.com/raspbian10-aarch64/ruby-master/log/20210427T145408Z.fail.html.gz --- test/net/ftp/test_ftp.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
2020-12-22Update library versions of the default gems.Hiroshi SHIBATA
They are followed up with https://github.com/ruby/ruby/commit/8fb02b7a97317090e3946e6f2d4a7d034f9699f1
2020-12-03digest gem is available nowHiroshi SHIBATA
2020-12-02Added dependencies for net-popHiroshi SHIBATA
2020-12-02Added dependencies for net-imapHiroshi SHIBATA
2020-12-02Added dependencies for net-ftpHiroshi SHIBATA
2020-12-02Added dependencies for net-httpHiroshi SHIBATA
2020-12-02Added dependencies for net-smtpHiroshi SHIBATA
2020-12-02Added dependencies for net-protocolHiroshi SHIBATA
2020-11-18[ruby/net-smtp] Bump version to 0.2.1Hiroshi SHIBATA
https://github.com/ruby/net-smtp/commit/6e5c09dcc4
2020-11-17Import net-smtp-0.2.0 from https://github.com/ruby/net-smtpHiroshi SHIBATA
2020-11-06Added dependency for net-protocolHiroshi SHIBATA
2020-10-27Separate `send` into `public_send` and `__send__`Nobuyoshi Nakada
2020-09-14[ruby/net-smtp] Add SNI support to net/smtpnicholas a. evans
https://github.com/ruby/net-smtp/commit/b706942392
2020-09-14[ruby/net-smtp] Net::SMTP.start arguments are keyword argumentsTOMITA Masahiro
The helo argument is not important, but the helo argument must be specified to specify the user and secret arguments. If helo, user, secret, and authtype arguments are keyword arguments, it is not necessary to specify the helo argument. https://github.com/ruby/net-smtp/commit/269774deac
2020-09-14[ruby/net-smtp] TLS should not check the host name by default.TOMITA Masahiro
In tlsconnect(), the host name is checked when @ssl_context.verify_mode is not OpenSSL::SSL::VERIFY_NONE, but the verify_mode of @ssl_context generated by default is nil. https://github.com/ruby/net-smtp/commit/bde75a15b5
2020-08-18Update the license for the default gems to dual licensesHiroshi SHIBATA
2020-08-18Added the missing licenses field to some default gemsHiroshi SHIBATA
2020-08-05Fixed the inconsistency gemspec location with net-* gems.Hiroshi SHIBATA
2020-08-03net-ftp is under `lib/net` instead of `lib/net/ftp`Hiroshi SHIBATA
2020-08-03Followed up b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 for net-ftp.Hiroshi SHIBATA
2020-07-30Extract version number from the sourceNobuyoshi Nakada
"requiring version.rb" strategy has some issues. - cannot work when cross-compiling - often introduces wrong namespace - must know the superclasses - costs at each runtime than at build-time etc. Notes: Merged: https://github.com/ruby/ruby/pull/3375
2020-07-28[ruby/net-ftp] Moved Net::Ftp::Version to Net::FTPNobuyoshi Nakada
On case-insensitive filesystem, generated Net/FTP.html is overwritten by Net/Ftp.html. https://github.com/ruby/net-ftp/commit/14a6ff5134
2020-07-27Use typewriter notation for var[:sym] correctlyaycabta
2020-06-11Drop to Ruby 2.4Hiroshi SHIBATA
2020-06-11[ruby/net-imap] Drop to Ruby 2.4Hiroshi SHIBATA
https://github.com/ruby/net-imap/commit/c3256e3848
2020-06-05Update docs in net/http.rbKir Shatrov
...to reflect that Net::HTTP.start accepts keep_alive_timeout as an option. Notes: Merged: https://github.com/ruby/ruby/pull/3185
2020-05-31Fix error raised by Net::HTTPResponse#inflater if the block raisesBenoit Daloze
* See https://bugs.ruby-lang.org/issues/13882#note-6 Notes: Merged: https://github.com/ruby/ruby/pull/3164
2020-05-27Improve documentation for Net::HTTPHeader#set_form [ci skip]Jeremy Evans
Fixes [Misc #16916]
2020-05-19Ignore exceptions when closing data connections [Bug #16780]Shugo Maeda
Patch by koshigoe (Masataka SUZUKI). Thanks!
2020-05-12Add missing `,`Kazuhiro NISHIYAMA
2020-05-12Expose SSLContext#extra_chain_cert in Net::HTTPStephen Touset
Currently, Net::HTTP can only send a single SSL certificate when it establishes a connection. Some use-cases involve sending an entire certificate chain to the destination; for this, SSLContext supports assigning to #extra_chain_cert=. This adds support in Net::HTTP for exposing this underlying SSLContext property to end-users. [Feature #9758]
2020-04-08The current net-http is only works with Ruby 2.6+Hiroshi SHIBATA
2020-03-12Add workaround for test-bundler failureKazuhiro NISHIYAMA
https://github.com/ruby/actions/runs/500526558?check_suite_focus=true#step:16:127 ``` Failures: 1) Bundler.setup when Bundler is bundled doesn't blow up Failure/Error: expect(err).to be_empty expected `"fatal: not a git repository (or any of the parent directories): .git\nfatal: not a git repository (o...the parent directories): .git\nfatal: not a git repository (or any of the parent directories): .git".empty?` to return true, got false Commands: $ /home/runner/work/actions/actions/snapshot-master/ruby \ -I/home/runner/work/actions/actions/snapshot-master/lib:/home/runner/work/actions/actions/snapshot-master/spec/bundler \ -rsupport/hax -rsupport/artifice/fail \ /home/runner/work/actions/actions/snapshot-master/libexec/bundle install --retry 0 Resolving dependencies... Using bundler 2.1.4 Bundle complete! 1 Gemfile dependency, 1 gem now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git # $? => 0 $ /home/runner/work/actions/actions/snapshot-master/ruby \ -I/home/runner/work/actions/actions/snapshot-master/lib:/home/runner/work/actions/actions/snapshot-master/spec/bundler \ -rsupport/hax -rsupport/artifice/fail \ /home/runner/work/actions/actions/snapshot-master/libexec/bundle exec ruby -e \ require\ \'bundler\'\;\ Bundler.setup fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git # $? => 0 # ./spec/bundler/runtime/setup_spec.rb:1056:in `block (3 levels) in <top (required)>' # ./spec/bundler/spec_helper.rb:111:in `block (3 levels) in <top (required)>' # ./spec/bundler/spec_helper.rb:111:in `block (2 levels) in <top (required)>' # ./spec/bundler/spec_helper.rb:78:in `block (2 levels) in <top (required)>' make: *** [yes-test-bundler] Error 1 ```
2020-03-10Fix an example committed to a wrong place [ci skip]Takashi Kokubun
2020-03-10Let Net::HTTP.get take request headers (#2957)Takashi Kokubun
* Let Net::HTTP.get take request headers * Add more test cases for no header usages * Add examples with request headers * Add a NEWS entry [ci skip] [Feature #16686] Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-03-08Specify explicit separator not to be affected by $;Nobuyoshi Nakada
2020-03-07Removed unnecessary `chomp`Nobuyoshi Nakada
As `String#split` with the default argument drops trailing newline as a separator, preceding `String#chomp` is futile.
2020-02-21Fixed net-ftp sync task and resync from standalone repoHiroshi SHIBATA
2020-02-21Promote net-http to the default gems.Hiroshi SHIBATA
test/net/http/test_https.rb: rename fixture methods to read_fixture because it conflicts with test-unit gem.
2020-02-21Promote net-ftp to default gemsHiroshi SHIBATA
2020-02-20Fallback to load version file in ruby core repositoryHiroshi SHIBATA
2020-02-20Promote net-imap to the default gemsHiroshi SHIBATA