Commit graph

6487 commits

Author SHA1 Message Date
shugo
30cc5ce4bd Add new options open_timeout and read_timeout to Net::FTP.new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-21 10:38:31 +00:00
shugo
4c839a2cec Use dynamic dispatch instead of is_a?.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-21 08:55:25 +00:00
rhe
4081b34d4c net/http: avoid writing/reading from unstarted SSL socket
When net/http connects to an HTTPS server through a CONNECT proxy, it
writes the CONNECT request to an unconnected OpenSSL::SSL::SSLSocket.

OpenSSL::SSL::SSLSocket traditionally fallbacks to a method call on the
underlying IO object if a read/write method is called before the TLS
connection is established. So it automagically works correctly, emitting
the "SSL session is not started yet" warning.

This is not obvious at first glance. The warning is also noisy. Let's
just write to the plain socket instead of relying on the SSLSocket's
behavior.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-21 05:02:58 +00:00
shugo
714d72c90c Remove an unused variable to suppress a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-20 09:11:44 +00:00
nobu
2283d14cc9 forwardable/impl.rb
* lib/forwardable/impl.rb (_valid_method?, _compile_method):
  extract to separate implementation specific part.
  [ruby-core:78138] [Bug #12938]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-20 02:12:48 +00:00
shugo
fb8628ecda remote_address should be called on @bare_sock.
Because @sock.remote_address fails if @sock is an SSLSocket.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-20 01:49:25 +00:00
shugo
f0dd33d549 shutdown(2) should not be called for SSLSocket.
SSLSocket#stop is a private method and cannot be called, but explicit calls
are not necessary because SSL_shutdown() is called from SSLSocket#close.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-20 01:44:07 +00:00
shugo
73199e1e82 Use Socket instead of TCPSocket/TCPServer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-19 11:01:55 +00:00
shugo
77403c88cd Expand abbreviated option names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-19 07:02:32 +00:00
shugo
5f03f753ee Shut down TLS connections gracefully.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-19 04:19:35 +00:00
shugo
b1bd36bf8e Remove garbage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-19 02:40:33 +00:00
svn
1029d32c7f * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-19 02:29:24 +00:00
shugo
eb8c73adbc Support TLS and hash styles options for Net::FTP.new.
If the :ssl options is specified, the control connection is protected with
TLS in the manner described in RFC 4217.  Data connections are also
protected with TLS unless the :private_data_connection is set to false.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-19 02:29:23 +00:00
nobu
f6e77b9d35 logger.rb: fix next rotate time
* lib/logger.rb (Logger::LogDevice#initialize): calculate next
  rotate time based on the mtime of the last existing file.
  [ruby-dev:49881] [Bug #12948]

Author: Tsukasa Oishi <tsukasa.oishi@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-16 06:59:42 +00:00
shugo
af36e316d7 ftp.rb: use Addrinfo interfaces
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-15 08:16:45 +00:00
nobu
9d6569ff40 ftp.rb: use Addrinfo
* lib/net/ftp.rb (sendport, makeport, makepasv, BufferedSocket):
  use Addrinfo interfaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-15 01:39:10 +00:00
nobu
9ec0f8b7cb net/ftp.rb: kwargs
* lib/net/ftp.rb (Net::FTP#open_socket): use keyword argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-14 07:59:50 +00:00
nobu
dad2382270 net/protocol.rb: kwargs
* lib/net/protocol.rb (Net::BufferedIO#initialize): add keyword
  arguments for initial attributes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-14 07:53:32 +00:00
akr
19e6276125 Enable the document for Kernel[#.]pp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-11 03:04:38 +00:00
a_matsuda
39edad0380 Fix undefined method 'dump' for nil:NilClass (NoMethodError)
Patch by: Dmitry Vorotilin <d.vorotilin@gmail.com> (@route)
Signed-off-by: Akira Matsuda <ronnie@dio.jp>

closes #1475

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-08 20:25:44 +00:00
a_matsuda
d0a6339903 Fix grammar errors
Patch by: Chris Tweedie <cltweedie@gmail.com> (@cltweedie)
Signed-off-by: Akira Matsuda <ronnie@dio.jp>

closes #1074

[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-08 19:55:59 +00:00
a_matsuda
41cc7eaa7e Update comment about default constant
Patch by: Dave Takahashi <dtcello@gmail.com> (@dtakahas)
Signed-off-by: Akira Matsuda <ronnie@dio.jp>

closes #1151

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-08 11:57:00 +00:00
nobu
493e488974 irb.rb: Binding#irb
* lib/irb.rb (Binding#irb): new method like Binding#pry.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-06 02:53:25 +00:00
nobu
5e214d40d5 irb.rb: IRB::Irb#run
* lib/irb.rb (IRB::Irb#run): split from IRB.start.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-06 02:49:49 +00:00
nobu
d903681a13 e2mmap.rb: remove old definition
* lib/e2mmap.rb (E2MM.def_exception): remove old definition if
  exists so that works multiple times.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-06 02:45:14 +00:00
nobu
a2acbf4b02 shell.rb: suppress warnings
* lib/shell.rb: initialize class instance variables and remove
  writer methods to be overwritten soon.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 23:58:02 +00:00
nobu
1b95e8ef9c e2mmap.rb: suppress a warning
* lib/e2mmap.rb (bind): eval with the location.  undefine
  predefined method before overwriting to suppress a warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 23:54:17 +00:00
a_matsuda
051ba7b0b4 Alias regist_scanner to register_scanner
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 16:56:52 +00:00
akr
7d27c0a2d8 fix Resolv::LOC::Coord.create.
* lib/resolv.rb (Resolv::LOC::Coord.create): fixed.
  [ruby-core:72567] [Bug #11912] fixed by Eric Wong and Kazuhiro
  NISHIYAMA.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 15:19:21 +00:00
shugo
88243c5303 * lib/net/http.rb (Net::HTTP.post): new convenience method to send a POST request.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 14:39:06 +00:00
naruse
8ec6fcb2f6 * lib/net/http.rb (transport_request): other than HTTPContinue
in 1xx (HTTPInformation) also needs to continue. [Bug #12890]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 14:08:16 +00:00
akr
5fa7cdbde5 Time.parse's "now" argument as nil works again.
* lib/time.rb (make_time): "now" argument as nil works again.
  This is broken since Ruby 2.2.
  Mathieu Jobin pointed a problem.
  e4b05d91eb (commitcomment-17421387)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 14:03:34 +00:00
knu
2d8841791f IPAddr#== and IPAddr#<=> no longer raise an exception if coercion fails
* lib/ipaddr.rb (IPAddr#==): If coercion fails, return false
  instead of passing through the exception. [ruby-core:77451]
  [Bug #12799]

* lib/ipaddr.rb (IPAddr#<=>): If coercion fails, return nil
  instead of passing through the exception. [ruby-core:77451]
  [Bug #12799]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 13:53:38 +00:00
nobu
dfe91fcd08 numeric.c: round to nearest even
* numeric.c (flo_round, int_round): support round-to-nearest-even
  semantics of IEEE 754 to match sprintf behavior, and add `half:`
  optional keyword argument for the old behavior.
  [ruby-core:76273] [Bug #12548]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 09:49:39 +00:00
knu
76977611dd Add Set#compare_by_identity and Set#compare_by_identity?
* lib/set.rb (Set#compare_by_identity, Set#compare_by_identity?):
  New methods. [Feature #12210]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 09:23:14 +00:00
svn
942bfc7b16 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 09:18:11 +00:00
hsbt
cdc527db34 * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0
Release note: b825775647/History.rdoc (500--2016-11-05)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 09:18:10 +00:00
akr
365c321585 extract_resources uses each_resource instead of each_answer.
* lib/resolv.rb (Resolv::DNS#extract_resources): Use each_resource
  instead of each_answer.
  [ruby-core:75461] [Bug#12372] reported by Rafael Fernandez Lopez.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 08:33:03 +00:00
shugo
73b3b10d8d * lib/net/smtp.rb (tlsconnect): support timeout for TLS handshake.
[ruby-core:76893] [Bug #12678]

* lib/net/protocol.rb (ssl_socket_connect): new method to implement
  timeout for TLS handshake.

* lib/net/http.rb (connect): use Net::Protocol#ssl_socket_connect.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 06:47:36 +00:00
knu
2da5ae4232 Fix the handling of the backslash in double quotes
* lib/shellwords.rb (Shellwords#shellsplit): Fix the handling of
  the backslash in double quotes to conform to the standard.
  [ruby-core:63807] [Bug #10055]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 04:58:48 +00:00
nobu
0785b3e1b7 fileutils.rb: fix error for non-existent entry
* lib/fileutils.rb (FileUtils::Entry_#copy): ensure that the
  source entry exists first, to fix error for non-existent entry.
  [ruby-core:77885] [Bug #12892]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-04 01:35:49 +00:00
nobu
587a24609b uri/generic.rb: Tidy up merge
* lib/uri/generic.rb (URI::Generic#merge): merge merge0.
  [GH-1469]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-31 02:08:54 +00:00
nobu
6ce158ba87 fix typo [ci skip]
* lib/rubygems/specification.rb: reapply 56225.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-30 12:08:00 +00:00
hsbt
9a21c28426 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
rubygems to 2.6.8.
  Release note of 2.6.8: 9fb8880976

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-30 06:32:48 +00:00
hsbt
13e474f035 * lib/uri/common.rb: added documentation for deprecated method.
[Misc #11960][ruby-core:72733][ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-20 08:03:01 +00:00
hsbt
d74bb0958d * lib/open-uri.rb: Improved documentation grammar for
open-uri#open option. [Misc #11329][ruby-core:69868][ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-20 07:19:58 +00:00
nobu
0687baaf57 optparse/kwargs.rb
* lib/optparse/kwargs.rb (OptionParser#define_by_keywords):
  [EXPERIMENTAL] extract command line option definitions from the
  information of keyword arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-14 13:26:13 +00:00
hsbt
990b23bbbc * lib/logger.rb: Improve Logger.new option documentation.
[Feature #12803][ruby-core:77467]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-14 09:01:01 +00:00
nobu
99ad512486 optparse.rb: hyphenize
* lib/optparse.rb (make_switch, parse_in_order): unify underscores
  to hyphens.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-14 08:20:26 +00:00
normal
1fc0c08694 webrick: use monotonic clock for timeouts
The monotonic clock is immune to system time changes and
a better option for implementing timing comparisons.

* lib/webrick/utils.rb (TimeoutHandler): use monotonic clock
  (watch): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-14 01:48:52 +00:00