net-sftp 2.1.3.rc2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e9a48b2b29a27705ffe23d92e2a9644c399326319a62056258a0406d11afff4
4
- data.tar.gz: 4658e8f758f33ae1fb9ac3025b03fd7c0d29fec7b4f0aa3b0e4c3b863b206886
3
+ metadata.gz: 64f5637e6c346349fb65a3346258e6a87d55219d651d3b48d042dde87d502099
4
+ data.tar.gz: e84621e188f86616e5a702650c2cb96210bc08d814c0c28c3cc8960dc042a73f
5
5
  SHA512:
6
- metadata.gz: 349388ac2986916128f034700d03c205e23ecbf9e6e04a14f99b2942cf3862a59cc1795a9b837aaa79b6bb383d7ff26ff8594b55239fa50c691dc453b3b8ad0f
7
- data.tar.gz: f7cfe5fb79f658ba817bf8b94d737a8b01147780ec167b51258384ba93c24bd94f0ee6c875f3f8c71f6637d61086c72e8e85413ff207c2e6c8bf76ce052258db
6
+ metadata.gz: 04252f3c3448dac1a637e9623ed2a5af6dbfb482d738ae407d44006c7c8d32b82a5ef4e477bb28ab6c666cf651349cf1ee685b58304073db03a3d7317a927ee7
7
+ data.tar.gz: 0da6c4055f0f7f488e772e3c4914fcabb2ea893823a9e0ad1ff5b12e0cbe7ad6c72f494c417a70f92c7989e26bff0f486628e17ad278d42a7f716b05267be8aa
checksums.yaml.gz.sig CHANGED
Binary file
data/.travis.yml CHANGED
@@ -1,14 +1,14 @@
1
1
  language: ruby
2
2
  sudo: false
3
3
  rvm:
4
- - 2.0.0
5
- - 2.1.0
6
- - 2.2.0
7
- - 2.3.0
8
- - 2.4.0
4
+ - 2.3.7
5
+ - 2.4.5
6
+ - 2.5.3
7
+ - 2.6.5
8
+ - 2.7.1
9
9
  - ruby-head
10
10
  - jruby-head
11
- - rbx-2
11
+ - rbx-3.107
12
12
 
13
13
  install: gem install net-ssh test-unit mocha
14
14
 
@@ -17,4 +17,4 @@ script: rake test
17
17
  matrix:
18
18
  allow_failures:
19
19
  - rvm: jruby-head
20
- - rvm: rbx-2
20
+ - rvm: rbx-3.107
data/CHANGES.txt CHANGED
@@ -1,3 +1,7 @@
1
+ === 3.0.0
2
+
3
+ * Pass protocol version via Net::SFTP.start [#107]
4
+ * Net-ssh 6.0 support [#106]
1
5
 
2
6
  === 2.1.2 / 07 May 2013
3
7
 
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  # TODO: add to gemspec
7
- gem "bundler", "~> 1.11"
7
+ gem "bundler", "~> 2.1"
8
8
  gem "rake", "~> 12.0"
9
9
 
10
10
  gem 'byebug', group: %i[development test] if !Gem.win_platform? && RUBY_ENGINE == "ruby"
data/Rakefile CHANGED
@@ -33,35 +33,6 @@ namespace :cert do
33
33
  end
34
34
  end
35
35
 
36
- if false
37
- begin
38
- require "jeweler"
39
- Jeweler::Tasks.new do |s|
40
- s.version = version
41
- s.name = name
42
- s.rubyforge_project = s.name
43
- s.summary = "A pure Ruby implementation of the SFTP client protocol"
44
- s.description = s.summary
45
- s.email = "net-ssh@solutious.com"
46
- s.homepage = "https://github.com/net-ssh/net-sftp"
47
- s.authors = ["Jamis Buck", "Delano Mandelbaum"]
48
-
49
- s.add_dependency 'net-ssh', ">=2.6.5"
50
-
51
- s.add_development_dependency 'test-unit'
52
- s.add_development_dependency 'mocha'
53
-
54
- s.license = "MIT"
55
-
56
- s.signing_key = File.join('/mnt/gem/', 'gem-private_key.pem')
57
- s.cert_chain = ['gem-public_cert.pem']
58
- end
59
- Jeweler::GemcutterTasks.new
60
- rescue LoadError
61
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
62
- end
63
- end
64
-
65
36
  require 'rake/testtask'
66
37
  Rake::TestTask.new do |t|
67
38
  t.libs = ["lib", "test"]
@@ -57,10 +57,10 @@ module Net; module SFTP; module Operations
57
57
  # it should be able to handle modest numbers of files in each directory.
58
58
  def glob(path, pattern, flags=0)
59
59
  flags |= ::File::FNM_PATHNAME
60
- path = path.chop if path[-1,1] == "/"
60
+ path = path.chop if path.end_with?('/') && path != '/'
61
61
 
62
62
  results = [] unless block_given?
63
- queue = entries(path).reject { |e| e.name == "." || e.name == ".." }
63
+ queue = entries(path).reject { |e| %w(. ..).include?(e.name) }
64
64
  while queue.any?
65
65
  entry = queue.shift
66
66
 
@@ -90,4 +90,4 @@ module Net; module SFTP; module Operations
90
90
  end
91
91
  end
92
92
 
93
- end; end; end
93
+ end; end; end
@@ -256,7 +256,7 @@ module Net; module SFTP; module Operations
256
256
  # operation was successful.
257
257
  def on_opendir(response)
258
258
  entry = response.request[:entry]
259
- raise "opendir #{entry.remote}: #{response}" unless response.ok?
259
+ raise StatusException.new(response, "opendir #{entry.remote}") unless response.ok?
260
260
  entry.handle = response[:handle]
261
261
  request = sftp.readdir(response[:handle], &method(:on_readdir))
262
262
  request[:parent] = entry
@@ -271,7 +271,7 @@ module Net; module SFTP; module Operations
271
271
  request = sftp.close(entry.handle, &method(:on_closedir))
272
272
  request[:parent] = entry
273
273
  elsif !response.ok?
274
- raise "readdir #{entry.remote}: #{response}"
274
+ raise StatusException.new(response, "readdir #{entry.remote}")
275
275
  else
276
276
  response[:names].each do |item|
277
277
  next if item.name == "." || item.name == ".."
@@ -297,7 +297,7 @@ module Net; module SFTP; module Operations
297
297
  def on_closedir(response)
298
298
  @active -= 1
299
299
  entry = response.request[:parent]
300
- raise "close #{entry.remote}: #{response}" unless response.ok?
300
+ raise StatusException.new(response, "close #{entry.remote}") unless response.ok?
301
301
  process_next_entry
302
302
  end
303
303
 
@@ -305,7 +305,7 @@ module Net; module SFTP; module Operations
305
305
  # to initiate the data transfer.
306
306
  def on_open(response)
307
307
  entry = response.request[:entry]
308
- raise "open #{entry.remote}: #{response}" unless response.ok?
308
+ raise StatusException.new(response, "open #{entry.remote}") unless response.ok?
309
309
 
310
310
  entry.handle = response[:handle]
311
311
  entry.sink = entry.local.respond_to?(:write) ? entry.local : ::File.open(entry.local, "wb")
@@ -333,7 +333,7 @@ module Net; module SFTP; module Operations
333
333
  request = sftp.close(entry.handle, &method(:on_close))
334
334
  request[:entry] = entry
335
335
  elsif !response.ok?
336
- raise "read #{entry.remote}: #{response}"
336
+ raise StatusException.new(response, "read #{entry.remote}")
337
337
  else
338
338
  entry.offset += response[:data].bytesize
339
339
  update_progress(:get, entry, response.request[:offset], response[:data])
@@ -346,7 +346,7 @@ module Net; module SFTP; module Operations
346
346
  def on_close(response)
347
347
  @active -= 1
348
348
  entry = response.request[:entry]
349
- raise "close #{entry.remote}: #{response}" unless response.ok?
349
+ raise StatusException.new(response, "close #{entry.remote}") unless response.ok?
350
350
  process_next_entry
351
351
  end
352
352
 
@@ -81,21 +81,35 @@ module Net; module SFTP; module Operations
81
81
  # Reads up to the next instance of +sep_string+ in the stream, and
82
82
  # returns the bytes read (including +sep_string+). If +sep_string+ is
83
83
  # omitted, it defaults to +$/+. If EOF is encountered before any data
84
- # could be read, #gets will return +nil+.
85
- def gets(sep_string=$/)
86
- delim = if sep_string.length == 0
84
+ # could be read, #gets will return +nil+. If the first argument is an
85
+ # integer, or optional second argument is given, the returning string
86
+ # would not be longer than the given value in bytes.
87
+ def gets(sep_or_limit=$/, limit=Float::INFINITY)
88
+ if sep_or_limit.is_a? Integer
89
+ sep_string = $/
90
+ lim = sep_or_limit
91
+ else
92
+ sep_string = sep_or_limit
93
+ lim = limit
94
+ end
95
+
96
+ delim = if sep_string && sep_string.length == 0
87
97
  "#{$/}#{$/}"
88
98
  else
89
99
  sep_string
90
100
  end
91
101
 
92
102
  loop do
93
- at = @buffer.index(delim)
103
+ at = @buffer.index(delim) if delim
94
104
  if at
95
- offset = at + delim.length
105
+ offset = [at + delim.length, lim].min
96
106
  @pos += offset
97
107
  line, @buffer = @buffer[0,offset], @buffer[offset..-1]
98
108
  return line
109
+ elsif lim < @buffer.length
110
+ @pos += lim
111
+ line, @buffer = @buffer[0,lim], @buffer[lim..-1]
112
+ return line
99
113
  elsif !fill
100
114
  return nil if @buffer.empty?
101
115
  @pos += @buffer.length
@@ -107,8 +121,8 @@ module Net; module SFTP; module Operations
107
121
 
108
122
  # Same as #gets, but raises EOFError if EOF is encountered before any
109
123
  # data could be read.
110
- def readline(sep_string=$/)
111
- line = gets(sep_string)
124
+ def readline(sep_or_limit=$/, limit=Float::INFINITY)
125
+ line = gets(sep_or_limit, limit)
112
126
  raise EOFError if line.nil?
113
127
  return line
114
128
  end
@@ -131,6 +145,15 @@ module Net; module SFTP; module Operations
131
145
  nil
132
146
  end
133
147
 
148
+ def size
149
+ stat.size
150
+ end
151
+
152
+ # Resets position to beginning of file
153
+ def rewind
154
+ self.pos = 0
155
+ end
156
+
134
157
  # Writes each argument to the stream, appending a newline to any item
135
158
  # that does not already end in a newline. Array arguments are flattened.
136
159
  def puts(*items)
@@ -81,6 +81,7 @@ module Net; module SFTP
81
81
  @input = Net::SSH::Buffer.new
82
82
  self.logger = session.logger
83
83
  @state = :closed
84
+ @pending_requests = {}
84
85
 
85
86
  connect(&block)
86
87
  end
@@ -46,17 +46,17 @@ module Net
46
46
  end
47
47
 
48
48
  # The major component of this version of the Net::SFTP library
49
- MAJOR = 2
49
+ MAJOR = 3
50
50
 
51
51
  # The minor component of this version of the Net::SFTP library
52
- MINOR = 1
52
+ MINOR = 0
53
53
 
54
54
  # The tiny component of this version of the Net::SFTP library
55
- TINY = 3
55
+ TINY = 0
56
56
 
57
57
  # The prerelease component of this version of the Net::SFTP library
58
58
  # nil allowed
59
- PRE = "rc2"
59
+ PRE = nil
60
60
 
61
61
  # The current version of the Net::SFTP library as a Version instance
62
62
  CURRENT = new(*[MAJOR, MINOR, TINY, PRE].compact)
data/lib/net/sftp.rb CHANGED
@@ -27,9 +27,17 @@ module Net
27
27
  # Net::SFTP.start("localhost", "user") do |sftp|
28
28
  # sftp.upload! "/local/file.tgz", "/remote/file.tgz"
29
29
  # end
30
- def self.start(host, user, options={}, &block)
31
- session = Net::SSH.start(host, user, options)
32
- sftp = Net::SFTP::Session.new(session, &block).connect!
30
+ #
31
+ # Extra parameters can be passed:
32
+ # - The Net::SSH connection options (see Net::SSH for more information)
33
+ # - The Net::SFTP connection options (only :version is supported, to let you
34
+ # set the SFTP protocol version to be used)
35
+ def self.start(host, user, ssh_options={}, sftp_options={}, &block)
36
+ session = Net::SSH.start(host, user, ssh_options)
37
+ # We only use a single option here, but this leaves room for more later
38
+ # without breaking the external API.
39
+ version = sftp_options.fetch(:version, nil)
40
+ sftp = Net::SFTP::Session.new(session, version, &block).connect!
33
41
 
34
42
  if block_given?
35
43
  sftp.loop
@@ -56,7 +64,7 @@ class Net::SSH::Connection::Session
56
64
  # SSH session. Blocks until the SFTP session is fully open, and then
57
65
  # returns the SFTP session.
58
66
  #
59
- # Net::SSH.start("localhost", "user", "password") do |ssh|
67
+ # Net::SSH.start("localhost", "user", :password => "password") do |ssh|
60
68
  # ssh.sftp.upload!("/local/file.tgz", "/remote/file.tgz")
61
69
  # ssh.exec! "cd /some/path && tar xf /remote/file.tgz && rm /remote/file.tgz"
62
70
  # end
@@ -1,21 +1,20 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZuZXRz
3
- c2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZFgNj
4
- b20wHhcNMTgwNjA2MTYwMzExWhcNMTkwNjA2MTYwMzExWjBBMQ8wDQYDVQQDDAZu
5
- ZXRzc2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZ
6
- FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGJ4TbZ9H+qZ08
7
- pQfJhPJTHaDCyQvCsKTFrL5O9z3tllQ7B/zksMMM+qFBpNYu9HCcg4yBATacE/PB
8
- qVVyUrpr6lbH/XwoN5ljXm+bdCfmnjZvTCL2FTE6o+bcnaF0IsJyC0Q2B1fbWdXN
9
- 6Off1ZWoUk6We2BIM1bn6QJLxBpGyYhvOPXsYoqSuzDf2SJDDsWFZ8kV5ON13Ohm
10
- JbBzn0oD8HF8FuYOewwsC0C1q4w7E5GtvHcQ5juweS7+RKsyDcVcVrLuNzoGRttS
11
- KP4yMn+TzaXijyjRg7gECfJr3TGASaA4bQsILFGG5dAWcwO4OMrZedR7SHj/o0Kf
12
- 3gL7P0axAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
13
- BBQF8qLA7Z4zg0SJGtUbv3eoQ8tjIzAfBgNVHREEGDAWgRRuZXRzc2hAc29sdXRp
14
- b3VzLmNvbTAfBgNVHRIEGDAWgRRuZXRzc2hAc29sdXRpb3VzLmNvbTANBgkqhkiG
15
- 9w0BAQsFAAOCAQEAFjJgcmMGxYyaDbqZCYNO8gDpk5tGQOKKGPf80Tw7/cLsjJAr
16
- kVxALHvP5JmLkOswFMwpyo0o2lpfc2u2QeltvWVLznJS/svXhNiIi4duf1oXaHrT
17
- iG1JbI1h6oNGkXBnSVLRMNlgVYMDf5LOxQBolWmuxMYvdssDJK1qEGDVO7Ex79pB
18
- u919R7oedV8+pXrIFXZro9dcYyOYAmRqlFh6bCjnFx/HkiUpTHAUMyLbbRpBngOC
19
- YBtB7WnyXXwkUAo0FUibVzXXSxU+wXhrfpOCo2ZOlQOspdOcGZjirOZoxUKSvMtn
20
- URWm7gw7y0UkzFg4iZOFuC84+4GZ08U3/gr9sg==
2
+ MIIDQDCCAiigAwIBAgIBATANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpuZXRz
3
+ c2gvREM9c29sdXRpb3VzL0RDPWNvbTAeFw0yMDA0MjYwNjI0NTFaFw0yMTA0MjYw
4
+ NjI0NTFaMCUxIzAhBgNVBAMMGm5ldHNzaC9EQz1zb2x1dGlvdXMvREM9Y29tMIIB
5
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxieE22fR/qmdPKUHyYTyUx2g
6
+ wskLwrCkxay+Tvc97ZZUOwf85LDDDPqhQaTWLvRwnIOMgQE2nBPzwalVclK6a+pW
7
+ x/18KDeZY15vm3Qn5p42b0wi9hUxOqPm3J2hdCLCcgtENgdX21nVzejn39WVqFJO
8
+ lntgSDNW5+kCS8QaRsmIbzj17GKKkrsw39kiQw7FhWfJFeTjddzoZiWwc59KA/Bx
9
+ fBbmDnsMLAtAtauMOxORrbx3EOY7sHku/kSrMg3FXFay7jc6BkbbUij+MjJ/k82l
10
+ 4o8o0YO4BAnya90xgEmgOG0LCCxRhuXQFnMDuDjK2XnUe0h4/6NCn94C+z9GsQID
11
+ AQABo3sweTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUBfKiwO2e
12
+ M4NEiRrVG793qEPLYyMwHwYDVR0RBBgwFoEUbmV0c3NoQHNvbHV0aW91cy5jb20w
13
+ HwYDVR0SBBgwFoEUbmV0c3NoQHNvbHV0aW91cy5jb20wDQYJKoZIhvcNAQELBQAD
14
+ ggEBAHZOpj9ZNefc4eoie/20zX4iOgk3i+Rmjo04sMYWEtj0+4zLHXqSjune7+hd
15
+ ruP+u5xmEy9ueGQ/0kcLlDDM+8eQo6gjCY4GIQtwAzVLsUVeejE4291/GyfPf24v
16
+ 1dLWRtPwth0nyN5EOwOPqeiYiLAr5lO3wHTgfIgFhvdZpcXG8zB6JojuFJjDpKvO
17
+ HBV0P82HXjocnjusBt1YykGCvK4cDnaRruZJh6w2XeYQJJjlbqbDfBSQVesg97yM
18
+ bwwLGaqsVz0cC6q3EpU57oyyTu529o0HnDatc94Cz8t9p6ogkKtSM+jwsnnC6wmI
19
+ MMzdZVhRg3QdHAGYfd+TfsS3Mps=
21
20
  -----END CERTIFICATE-----
data/net-sftp.gemspec CHANGED
@@ -31,16 +31,17 @@ Gem::Specification.new do |spec|
31
31
  spec.specification_version = 3
32
32
 
33
33
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
34
- spec.add_runtime_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
35
- spec.add_development_dependency(%q<test-unit>, [">= 0"])
34
+ spec.add_runtime_dependency(%q<net-ssh>, [">= 5.0.0", "< 7.0.0"])
35
+ spec.add_development_dependency(%q<minitest>, [">= 5"])
36
36
  spec.add_development_dependency(%q<mocha>, [">= 0"])
37
37
  else
38
- spec.add_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
39
- spec.add_dependency(%q<test-unit>, [">= 0"])
38
+ spec.add_dependency(%q<net-ssh>, [">= 5.0.0", "< 7.0.0"])
39
+ spec.add_dependency(%q<minitest>, [">= 5"])
40
40
  spec.add_dependency(%q<mocha>, [">= 0"])
41
41
  end
42
42
  else
43
- spec.add_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
43
+ spec.add_dependency(%q<net-ssh>, [">= 5.0.0", "< 7.0.0"])
44
+ spec.add_dependency(%q<minitest>, [">= 5"])
44
45
  spec.add_dependency(%q<test-unit>, [">= 0"])
45
46
  spec.add_dependency(%q<mocha>, [">= 0"])
46
47
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-sftp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3.rc2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamis Buck
@@ -12,27 +12,26 @@ bindir: exe
12
12
  cert_chain:
13
13
  - |
14
14
  -----BEGIN CERTIFICATE-----
15
- MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZuZXRz
16
- c2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZFgNj
17
- b20wHhcNMTgwNjA2MTYwMzExWhcNMTkwNjA2MTYwMzExWjBBMQ8wDQYDVQQDDAZu
18
- ZXRzc2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZ
19
- FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGJ4TbZ9H+qZ08
20
- pQfJhPJTHaDCyQvCsKTFrL5O9z3tllQ7B/zksMMM+qFBpNYu9HCcg4yBATacE/PB
21
- qVVyUrpr6lbH/XwoN5ljXm+bdCfmnjZvTCL2FTE6o+bcnaF0IsJyC0Q2B1fbWdXN
22
- 6Off1ZWoUk6We2BIM1bn6QJLxBpGyYhvOPXsYoqSuzDf2SJDDsWFZ8kV5ON13Ohm
23
- JbBzn0oD8HF8FuYOewwsC0C1q4w7E5GtvHcQ5juweS7+RKsyDcVcVrLuNzoGRttS
24
- KP4yMn+TzaXijyjRg7gECfJr3TGASaA4bQsILFGG5dAWcwO4OMrZedR7SHj/o0Kf
25
- 3gL7P0axAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
26
- BBQF8qLA7Z4zg0SJGtUbv3eoQ8tjIzAfBgNVHREEGDAWgRRuZXRzc2hAc29sdXRp
27
- b3VzLmNvbTAfBgNVHRIEGDAWgRRuZXRzc2hAc29sdXRpb3VzLmNvbTANBgkqhkiG
28
- 9w0BAQsFAAOCAQEAFjJgcmMGxYyaDbqZCYNO8gDpk5tGQOKKGPf80Tw7/cLsjJAr
29
- kVxALHvP5JmLkOswFMwpyo0o2lpfc2u2QeltvWVLznJS/svXhNiIi4duf1oXaHrT
30
- iG1JbI1h6oNGkXBnSVLRMNlgVYMDf5LOxQBolWmuxMYvdssDJK1qEGDVO7Ex79pB
31
- u919R7oedV8+pXrIFXZro9dcYyOYAmRqlFh6bCjnFx/HkiUpTHAUMyLbbRpBngOC
32
- YBtB7WnyXXwkUAo0FUibVzXXSxU+wXhrfpOCo2ZOlQOspdOcGZjirOZoxUKSvMtn
33
- URWm7gw7y0UkzFg4iZOFuC84+4GZ08U3/gr9sg==
15
+ MIIDQDCCAiigAwIBAgIBATANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpuZXRz
16
+ c2gvREM9c29sdXRpb3VzL0RDPWNvbTAeFw0yMDA0MjYwNjI0NTFaFw0yMTA0MjYw
17
+ NjI0NTFaMCUxIzAhBgNVBAMMGm5ldHNzaC9EQz1zb2x1dGlvdXMvREM9Y29tMIIB
18
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxieE22fR/qmdPKUHyYTyUx2g
19
+ wskLwrCkxay+Tvc97ZZUOwf85LDDDPqhQaTWLvRwnIOMgQE2nBPzwalVclK6a+pW
20
+ x/18KDeZY15vm3Qn5p42b0wi9hUxOqPm3J2hdCLCcgtENgdX21nVzejn39WVqFJO
21
+ lntgSDNW5+kCS8QaRsmIbzj17GKKkrsw39kiQw7FhWfJFeTjddzoZiWwc59KA/Bx
22
+ fBbmDnsMLAtAtauMOxORrbx3EOY7sHku/kSrMg3FXFay7jc6BkbbUij+MjJ/k82l
23
+ 4o8o0YO4BAnya90xgEmgOG0LCCxRhuXQFnMDuDjK2XnUe0h4/6NCn94C+z9GsQID
24
+ AQABo3sweTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUBfKiwO2e
25
+ M4NEiRrVG793qEPLYyMwHwYDVR0RBBgwFoEUbmV0c3NoQHNvbHV0aW91cy5jb20w
26
+ HwYDVR0SBBgwFoEUbmV0c3NoQHNvbHV0aW91cy5jb20wDQYJKoZIhvcNAQELBQAD
27
+ ggEBAHZOpj9ZNefc4eoie/20zX4iOgk3i+Rmjo04sMYWEtj0+4zLHXqSjune7+hd
28
+ ruP+u5xmEy9ueGQ/0kcLlDDM+8eQo6gjCY4GIQtwAzVLsUVeejE4291/GyfPf24v
29
+ 1dLWRtPwth0nyN5EOwOPqeiYiLAr5lO3wHTgfIgFhvdZpcXG8zB6JojuFJjDpKvO
30
+ HBV0P82HXjocnjusBt1YykGCvK4cDnaRruZJh6w2XeYQJJjlbqbDfBSQVesg97yM
31
+ bwwLGaqsVz0cC6q3EpU57oyyTu529o0HnDatc94Cz8t9p6ogkKtSM+jwsnnC6wmI
32
+ MMzdZVhRg3QdHAGYfd+TfsS3Mps=
34
33
  -----END CERTIFICATE-----
35
- date: 2018-06-14 00:00:00.000000000 Z
34
+ date: 2020-04-27 00:00:00.000000000 Z
36
35
  dependencies:
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: net-ssh
@@ -40,34 +39,34 @@ dependencies:
40
39
  requirements:
41
40
  - - ">="
42
41
  - !ruby/object:Gem::Version
43
- version: 2.6.5
42
+ version: 5.0.0
44
43
  - - "<"
45
44
  - !ruby/object:Gem::Version
46
- version: 5.0.0
45
+ version: 7.0.0
47
46
  type: :runtime
48
47
  prerelease: false
49
48
  version_requirements: !ruby/object:Gem::Requirement
50
49
  requirements:
51
50
  - - ">="
52
51
  - !ruby/object:Gem::Version
53
- version: 2.6.5
52
+ version: 5.0.0
54
53
  - - "<"
55
54
  - !ruby/object:Gem::Version
56
- version: 5.0.0
55
+ version: 7.0.0
57
56
  - !ruby/object:Gem::Dependency
58
- name: test-unit
57
+ name: minitest
59
58
  requirement: !ruby/object:Gem::Requirement
60
59
  requirements:
61
60
  - - ">="
62
61
  - !ruby/object:Gem::Version
63
- version: '0'
62
+ version: '5'
64
63
  type: :development
65
64
  prerelease: false
66
65
  version_requirements: !ruby/object:Gem::Requirement
67
66
  requirements:
68
67
  - - ">="
69
68
  - !ruby/object:Gem::Version
70
- version: '0'
69
+ version: '5'
71
70
  - !ruby/object:Gem::Dependency
72
71
  name: mocha
73
72
  requirement: !ruby/object:Gem::Requirement
@@ -147,8 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
146
  - !ruby/object:Gem::Version
148
147
  version: '0'
149
148
  requirements: []
150
- rubyforge_project:
151
- rubygems_version: 2.7.6
149
+ rubygems_version: 3.0.3
152
150
  signing_key:
153
151
  specification_version: 3
154
152
  summary: A pure Ruby implementation of the SFTP client protocol.
metadata.gz.sig CHANGED
Binary file