net-scp 1.2.1 → 1.2.2.rc2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 27dd49f9e8b959458486f4f0b53f64277f5391df771d22acc12979a931ca9b61
4
+ data.tar.gz: 6f3bdee6b3229534c6f8f6c36162e261c7548f5b0d20ac6ef9ac19198856efe5
5
+ SHA512:
6
+ metadata.gz: 7bc0c7dc88dba9607d57656a77ab0b0814a68f6c666c62399042a222bc85b1cc7b784642ccc96fb2449b91cf93c37bfe5de016133071d1e2d5355b49f0d6edad
7
+ data.tar.gz: 6aead6bae2577284ce351ae334a57bcd795b12cd751640f8c2a69c02fd6836da18778720819f2c163716f8920f539aff6191ede6349617f4a4903fb0cd98af23
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,6 @@
1
+ coverage
2
+ pkg
3
+ doc
4
+ *.swp
5
+
6
+ .DS_Store
@@ -1,8 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.9.3"
4
- - "2.0.0"
5
- - "2.1.0"
3
+ - "2.2.6"
4
+ - "2.3.3"
5
+ - "2.4.0"
6
+ - "ruby-head"
6
7
 
7
8
 
8
9
  install: gem install jeweler test-unit mocha net-ssh
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in mygem.gemspec
4
+ gemspec
5
+
6
+ # TODO: add to gemspec
7
+ gem "bundler", "~> 1.11"
8
+ gem "rake", "~> 12.0"
9
+
10
+ gem 'byebug', group: %i[development test] if !Gem.win_platform? && RUBY_ENGINE == "ruby"
11
+
12
+ if ENV["CI"]
13
+ gem 'codecov', require: false, group: :test
14
+ gem 'simplecov', require: false, group: :test
15
+ end
@@ -42,7 +42,7 @@ In a nutshell:
42
42
  data = Net::SCP::download!("remote.host.com", "username", "/remote/path")
43
43
 
44
44
  # use a persistent connection to transfer files
45
- Net::SCP.start("remote.host.com", "username", :ssh => { :password => "password" }) do |scp|
45
+ Net::SCP.start("remote.host.com", "username", :password => "password") do |scp|
46
46
  # upload a file to a remote server
47
47
  scp.upload! "/local/path", "/remote/path"
48
48
 
data/Rakefile CHANGED
@@ -2,40 +2,64 @@ require "rubygems"
2
2
  require "rake"
3
3
  require "rake/clean"
4
4
  require "rdoc/task"
5
+ require "bundler/gem_tasks"
5
6
 
6
- task :default => ["build"]
7
+ desc "When releasing make sure NET_SSH_BUILDGEM_SIGNED is set"
8
+ task :check_NET_SSH_BUILDGEM_SIGNED do
9
+ raise "NET_SSH_BUILDGEM_SIGNED should be set to release" unless ENV['NET_SSH_BUILDGEM_SIGNED']
10
+ end
11
+
12
+ Rake::Task[:release].enhance [:check_NET_SSH_BUILDGEM_SIGNED]
13
+ Rake::Task[:release].prerequisites.unshift(:check_NET_SSH_BUILDGEM_SIGNED)
14
+
15
+ task default: ["build"]
7
16
  CLEAN.include [ 'pkg', 'rdoc' ]
8
17
  name = "net-scp"
9
18
 
10
- $:.unshift File.join(File.dirname(__FILE__), 'lib')
11
- require "net/scp/version"
12
- version = Net::SCP::Version::STRING.dup
19
+ require_relative "lib/net/scp/version"
20
+ version = Net::SCP::Version::CURRENT
21
+
22
+ namespace :cert do
23
+ desc "Update public cert from private - only run if public is expired"
24
+ task :update_public_when_expired do
25
+ require 'openssl'
26
+ require 'time'
27
+ raw = File.read "net-scp-public_cert.pem"
28
+ certificate = OpenSSL::X509::Certificate.new raw
29
+ raise Exception, "Not yet expired: #{certificate.not_after}" unless certificate.not_after < Time.now
30
+ sh "gem cert --build netssh@solutious.com --days 365*5 --private-key /mnt/gem/net-ssh-private_key.pem"
31
+ sh "mv gem-public_cert.pem net-scp-public_cert.pem"
32
+ sh "gem cert --add net-scp-public_cert.pem"
33
+ end
34
+ end
13
35
 
14
- begin
15
- require "jeweler"
16
- Jeweler::Tasks.new do |s|
17
- s.version = version
18
- s.name = name
19
- s.rubyforge_project = s.name
20
- s.summary = "A pure Ruby implementation of the SCP client protocol"
21
- s.description = s.summary
22
- s.email = "net-ssh@solutious.com"
23
- s.homepage = "https://github.com/net-ssh/net-scp"
24
- s.authors = ["Jamis Buck", "Delano Mandelbaum"]
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 SCP client protocol"
44
+ s.description = s.summary
45
+ s.email = "net-ssh@solutious.com"
46
+ s.homepage = "https://github.com/net-ssh/net-scp"
47
+ s.authors = ["Jamis Buck", "Delano Mandelbaum"]
25
48
 
26
- s.add_dependency 'net-ssh', ">=2.6.5"
49
+ s.add_dependency 'net-ssh', ">=2.6.5"
27
50
 
28
- s.add_development_dependency 'test-unit'
29
- s.add_development_dependency 'mocha'
51
+ s.add_development_dependency 'test-unit'
52
+ s.add_development_dependency 'mocha'
30
53
 
31
- s.license = "MIT"
54
+ s.license = "MIT"
32
55
 
33
- s.signing_key = File.join('/mnt/gem/', 'gem-private_key.pem')
34
- s.cert_chain = ['gem-public_cert.pem']
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"
35
62
  end
36
- Jeweler::GemcutterTasks.new
37
- rescue LoadError
38
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
39
63
  end
40
64
 
41
65
  require 'rake/testtask'
@@ -56,5 +80,3 @@ RDoc::Task.new do |rdoc|
56
80
  rdoc.rdoc_files.include(file) if File.exists?(file)
57
81
  }
58
82
  end
59
-
60
-
@@ -194,7 +194,7 @@ module Net
194
194
  include Net::SSH::Loggable
195
195
  include Upload, Download
196
196
 
197
- # Starts up a new SSH connection and instantiates a new SCP session on
197
+ # Starts up a new SSH connection and instantiates a new SCP session on
198
198
  # top of it. If a block is given, the SCP session is yielded, and the
199
199
  # SSH session is closed automatically when the block terminates. If no
200
200
  # block is given, the SCP session is returned.
@@ -293,7 +293,7 @@ module Net
293
293
  # * :preserve - the atime and mtime of the file should be preserved.
294
294
  # * :verbose - the process should result in verbose output on the server
295
295
  # end (useful for debugging).
296
- #
296
+ #
297
297
  # This method will return immediately, returning the Net::SSH::Connection::Channel
298
298
  # object that will support the download. To wait for the download to finish,
299
299
  # you can either call the #wait method on the channel, or otherwise run
@@ -343,7 +343,7 @@ module Net
343
343
  # (See Net::SCP::Upload and Net::SCP::Download).
344
344
  def start_command(mode, local, remote, options={}, &callback)
345
345
  session.open_channel do |channel|
346
-
346
+
347
347
  if options[:shell]
348
348
  escaped_file = shellescape(remote).gsub(/'/) { |m| "'\\''" }
349
349
  command = "#{options[:shell]} -c '#{scp_command(mode, options)} #{escaped_file}'"
@@ -362,10 +362,10 @@ module Net
362
362
  channel[:stack ] = []
363
363
  channel[:error_string] = ''
364
364
 
365
- channel.on_close { |ch| send("#{channel[:state]}_state", channel); raise Net::SCP::Error, "SCP did not finish successfully (#{channel[:exit]}): #{channel[:error_string]}" if channel[:exit] != 0 }
366
- channel.on_data { |ch, data| channel[:buffer].append(data) }
367
- channel.on_extended_data { |ch, type, data| debug { data.chomp } }
368
- channel.on_request("exit-status") { |ch, data| channel[:exit] = data.read_long }
365
+ channel.on_close { |ch2| send("#{channel[:state]}_state", channel); raise Net::SCP::Error, "SCP did not finish successfully (#{channel[:exit]}): #{channel[:error_string]}" if channel[:exit] != 0 }
366
+ channel.on_data { |ch2, data| channel[:buffer].append(data) }
367
+ channel.on_extended_data { |ch2, type, data| debug { data.chomp } }
368
+ channel.on_request("exit-status") { |ch2, data| channel[:exit] = data.read_long }
369
369
  channel.on_process { send("#{channel[:state]}_state", channel) }
370
370
  else
371
371
  channel.close
@@ -395,7 +395,7 @@ module Net
395
395
  def await_response_state(channel)
396
396
  return if channel[:buffer].available == 0
397
397
  c = channel[:buffer].read_byte
398
- raise "#{c.chr}#{channel[:buffer].read}" if c != 0
398
+ raise Net::SCP::Error, "#{c.chr}#{channel[:buffer].read}" if c != 0
399
399
  channel[:next], channel[:state] = nil, channel[:next]
400
400
  send("#{channel[:state]}_state", channel)
401
401
  end
@@ -20,7 +20,7 @@ module Net; class SCP
20
20
  elsif channel[:local].respond_to?(:write) && channel[:options][:preserve]
21
21
  lwarn { ":preserve option is ignored when downloading to an in-memory buffer" }
22
22
  channel[:options].delete(:preserve)
23
- elsif channel[:options][:recursive] && !File.exists?(channel[:local])
23
+ elsif channel[:options][:recursive] && !File.exist?(channel[:local])
24
24
  Dir.mkdir(channel[:local])
25
25
  end
26
26
 
@@ -128,9 +128,9 @@ module Net; class SCP
128
128
 
129
129
  channel[:local] = File.join(channel[:local], directive[:name])
130
130
 
131
- if File.exists?(channel[:local]) && !File.directory?(channel[:local])
132
- raise "#{channel[:local]} already exists and is not a directory"
133
- elsif !File.exists?(channel[:local])
131
+ if File.exist?(channel[:local]) && !File.directory?(channel[:local])
132
+ raise Net::SCP::Error, "#{channel[:local]} already exists and is not a directory"
133
+ elsif !File.exist?(channel[:local])
134
134
  Dir.mkdir(channel[:local], directive[:mode] | 0700)
135
135
  end
136
136
 
@@ -162,4 +162,4 @@ module Net; class SCP
162
162
  end
163
163
  end
164
164
 
165
- end; end
165
+ end; end
@@ -1,18 +1,68 @@
1
- require 'net/ssh/version'
1
+ module Net
2
+ module SCP
3
+ # A class for describing the current version of a library. The version
4
+ # consists of three parts: the +major+ number, the +minor+ number, and the
5
+ # +tiny+ (or +patch+) number.
6
+ #
7
+ # Two Version instances may be compared, so that you can test that a version
8
+ # of a library is what you require:
9
+ #
10
+ # require 'net/scp/version'
11
+ #
12
+ # if Net::SCP::Version::CURRENT < Net::SCP::Version[2,1,0]
13
+ # abort "your software is too old!"
14
+ # end
15
+ class Version
16
+ include Comparable
2
17
 
3
- module Net; class SCP
18
+ # A convenience method for instantiating a new Version instance with the
19
+ # given +major+, +minor+, and +tiny+ components.
20
+ def self.[](major, minor, tiny, pre = nil)
21
+ new(major, minor, tiny, pre)
22
+ end
4
23
 
5
- # Describes the current version of the Net::SCP library.
6
- class Version < Net::SSH::Version
7
- MAJOR = 1
8
- MINOR = 2
9
- TINY = 1
24
+ attr_reader :major, :minor, :tiny
10
25
 
11
- # The current version, as a Version instance
12
- CURRENT = new(MAJOR, MINOR, TINY)
26
+ # Create a new Version object with the given components.
27
+ def initialize(major, minor, tiny, pre = nil)
28
+ @major, @minor, @tiny, @pre = major, minor, tiny, pre
29
+ end
13
30
 
14
- # The current version, as a String instance
15
- STRING = CURRENT.to_s
16
- end
31
+ # Compare this version to the given +version+ object.
32
+ def <=>(version)
33
+ to_i <=> version.to_i
34
+ end
35
+
36
+ # Converts this version object to a string, where each of the three
37
+ # version components are joined by the '.' character. E.g., 2.0.0.
38
+ def to_s
39
+ @to_s ||= [@major, @minor, @tiny, @pre].compact.join(".")
40
+ end
41
+
42
+ # Converts this version to a canonical integer that may be compared
43
+ # against other version objects.
44
+ def to_i
45
+ @to_i ||= @major * 1_000_000 + @minor * 1_000 + @tiny
46
+ end
47
+
48
+ # The major component of this version of the Net::SSH library
49
+ MAJOR = 1
50
+
51
+ # The minor component of this version of the Net::SSH library
52
+ MINOR = 2
17
53
 
18
- end; end
54
+ # The tiny component of this version of the Net::SSH library
55
+ TINY = 2
56
+
57
+ # The prerelease component of this version of the Net::SSH library
58
+ # nil allowed
59
+ PRE = "rc2"
60
+
61
+ # The current version of the Net::SSH library as a Version instance
62
+ CURRENT = new(*[MAJOR, MINOR, TINY, PRE].compact)
63
+
64
+ # The current version of the Net::SSH library as a String
65
+ STRING = CURRENT.to_s
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZuZXRz
3
+ c2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZFgNj
4
+ b20wHhcNMTgwNjA0MTA0OTQwWhcNMTkwNjA0MTA0OTQwWjBBMQ8wDQYDVQQDDAZu
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
+ 9w0BAQsFAAOCAQEAXnNaYXWVr/sCsfZdza+yBBOobYPgjOgDRfqNO2YX8RFEyDNB
16
+ AxBCQIF4OeUaoMbTQTVh24MwaDHpDTgqBAEfSs9h41lZewQaw4QUGJ6yxNVzO194
17
+ 2vYohv9vHpodBukIpUFGk40vQq8nOq2MzVyCb911wnt5d0ZQg+UJf5tdMYvRvATa
18
+ F/dkTaqhq3wq/JJRghq8fJUqWN5aBtMQb/61z5J3mKAUJsUN2/VdDph2fRPDpECa
19
+ uWREKzWwXbaB96/ZyzoyP7FsQBLgdDL++g2nF0neCENc5Wj5IlQZiH0a2+X3jAgm
20
+ 7UnoE3CP9Tk5GHVUina5gPyzl0VI4s4pYCPehQ==
21
+ -----END CERTIFICATE-----
@@ -1,69 +1,48 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
1
 
6
- Gem::Specification.new do |s|
7
- s.name = "net-scp"
8
- s.version = "1.2.1"
2
+ require_relative 'lib/net/scp/version'
9
3
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Jamis Buck", "Delano Mandelbaum"]
12
- s.cert_chain = ["gem-public_cert.pem"]
13
- s.date = "2014-04-30"
14
- s.description = "A pure Ruby implementation of the SCP client protocol"
15
- s.email = "net-ssh@solutious.com"
16
- s.extra_rdoc_files = [
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "net-scp"
6
+ spec.version = Net::SCP::Version::STRING
7
+ spec.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
8
+ spec.email = ["net-ssh@solutious.com"]
9
+
10
+ if ENV['NET_SSH_BUILDGEM_SIGNED']
11
+ spec.cert_chain = ["net-scp-public_cert.pem"]
12
+ spec.signing_key = "/mnt/gem/net-ssh-private_key.pem"
13
+ end
14
+
15
+ spec.summary = %q{A pure Ruby implementation of the SCP client protocol.}
16
+ spec.description = %q{A pure Ruby implementation of the SCP client protocol}
17
+ spec.homepage = "https://github.com/net-ssh/net-scp"
18
+ spec.license = "MIT"
19
+ spec.required_rubygems_version = Gem::Requirement.new(">= 0") if spec.respond_to? :required_rubygems_version=
20
+
21
+ spec.extra_rdoc_files = [
17
22
  "LICENSE.txt",
18
23
  "README.rdoc"
19
24
  ]
20
- s.files = [
21
- ".travis.yml",
22
- "CHANGES.txt",
23
- "LICENSE.txt",
24
- "Manifest",
25
- "README.rdoc",
26
- "Rakefile",
27
- "gem-public_cert.pem",
28
- "lib/net/scp.rb",
29
- "lib/net/scp/download.rb",
30
- "lib/net/scp/errors.rb",
31
- "lib/net/scp/upload.rb",
32
- "lib/net/scp/version.rb",
33
- "lib/uri/open-scp.rb",
34
- "lib/uri/scp.rb",
35
- "net-scp.gemspec",
36
- "setup.rb",
37
- "test/common.rb",
38
- "test/test_all.rb",
39
- "test/test_download.rb",
40
- "test/test_scp.rb",
41
- "test/test_upload.rb"
42
- ]
43
- s.homepage = "https://github.com/net-ssh/net-scp"
44
- s.licenses = ["MIT"]
45
- s.require_paths = ["lib"]
46
- s.rubyforge_project = "net-scp"
47
- s.rubygems_version = "1.8.23"
48
- s.signing_key = "/mnt/gem/gem-private_key.pem"
49
- s.summary = "A pure Ruby implementation of the SCP client protocol"
50
25
 
51
- if s.respond_to? :specification_version then
52
- s.specification_version = 3
26
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
27
+ spec.bindir = "exe"
28
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ spec.require_paths = ["lib"]
30
+
31
+ if spec.respond_to? :specification_version then
32
+ spec.specification_version = 3
53
33
 
54
34
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
- s.add_runtime_dependency(%q<net-ssh>, [">= 2.6.5"])
56
- s.add_development_dependency(%q<test-unit>, [">= 0"])
57
- s.add_development_dependency(%q<mocha>, [">= 0"])
35
+ spec.add_runtime_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
36
+ spec.add_development_dependency(%q<test-unit>, [">= 0"])
37
+ spec.add_development_dependency(%q<mocha>, [">= 0"])
58
38
  else
59
- s.add_dependency(%q<net-ssh>, [">= 2.6.5"])
60
- s.add_dependency(%q<test-unit>, [">= 0"])
61
- s.add_dependency(%q<mocha>, [">= 0"])
39
+ spec.add_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
40
+ spec.add_dependency(%q<test-unit>, [">= 0"])
41
+ spec.add_dependency(%q<mocha>, [">= 0"])
62
42
  end
63
43
  else
64
- s.add_dependency(%q<net-ssh>, [">= 2.6.5"])
65
- s.add_dependency(%q<test-unit>, [">= 0"])
66
- s.add_dependency(%q<mocha>, [">= 0"])
44
+ spec.add_dependency(%q<net-ssh>, [">= 2.6.5", "< 5.0.0"])
45
+ spec.add_dependency(%q<test-unit>, [">= 0"])
46
+ spec.add_dependency(%q<mocha>, [">= 0"])
67
47
  end
68
48
  end
69
-
metadata CHANGED
@@ -1,108 +1,104 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-scp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
5
- prerelease:
4
+ version: 1.2.2.rc2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jamis Buck
9
8
  - Delano Mandelbaum
9
+ - Miklós Fazekas
10
10
  autorequire:
11
- bindir: bin
11
+ bindir: exe
12
12
  cert_chain:
13
- - !binary |-
14
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROakNDQWg2Z0F3SUJB
15
- Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJCTVE4d0RRWURWUVFEREFaa1pX
16
- eGgKYm04eEdUQVhCZ29Ka2lhSmsvSXNaQUVaRmdsemIyeDFkR2x2ZFhNeEV6
17
- QVJCZ29Ka2lhSmsvSXNaQUVaRmdOagpiMjB3SGhjTk1UUXdORE13TVRjek5q
18
- STJXaGNOTVRVd05ETXdNVGN6TmpJMldqQkJNUTh3RFFZRFZRUUREQVprClpX
19
- eGhibTh4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x6YjJ4MWRHbHZkWE14RXpB
20
- UkJnb0praWFKay9Jc1pBRVoKRmdOamIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFF
21
- QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEZGJlRmpNNjcrVHhycQorOEhhRDR3
22
- S0VpYWNSb0I4cHMxN1Z6dDlUQlV5b01NajVLVHRGaXB0ci8rWlR1Zy9ZZFlC
23
- cXVNcHJQc0tsWU0yCk5vRzZCenZEY3ZRSzF6cmRIbnlWb3NJREtBSGsyd255
24
- Ti9wc1ppa1MxYm85blVIQ1M1aEpkUEVuUVp4L014VFoKK0dqdVJzaUJ4UFlC
25
- WG5xT2JMaFI4M0xCZVdzYXVXVHVvNWdKdDFEWXhEVFZyTG9CK1orY2VNVisz
26
- dmgwSEJDYgppd2Vna3g5R1dHNDVoNXdUa3NVSXB6T01CM1ZzSEd0R21CakN2
27
- ZENnTEoySDZiOFU5cm1MN2NodW5qZHFmTmYzCnpQdG5IMzJjL3pyRnplV0pU
28
- eUgyczhJYSszRDZ2dW0yeGpqbjhGbkxnM1Y0ek9mNXg1OThHRkJKWURRdjd6
29
- WC8KclY5ZUN6SERBZ01CQUFHak9UQTNNQWtHQTFVZEV3UUNNQUF3SFFZRFZS
30
- ME9CQllFRkErQnVjOHlTRXcycUtucQpWSDR3aDhLQW02aFVNQXNHQTFVZER3
31
- UUVBd0lFc0RBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQVlzTTBNNDJoClpF
32
- VVh2ci9pMThna3dIS0xGREtEQWNpbWdDb1M1K3N5RzZya3VTT25LR1FvbHlL
33
- VE5jek5NNGdXSkpQSDVhVnEKbVcyQnRxcElvbTRZUlliOW0zZkROTnM2a2NC
34
- NURlZFk5VVBoVnZKOFhUVEIyWUx4THFsN1VKaWQ5Wk9pcVd6QwpPVG0wNnc3
35
- emtBVC9sZHQ0NnA2QnF5VXk2UFc0UU1nMEJxN1NNZlJVUlZycDJsdmhRdkJk
36
- QzdvRFI5Q0dFQlpDCi9DaSsrWkVoL1FSOXF5MTFBSGNpRUlYbk5reXRpZHla
37
- dExyNE1XaHRiVjQ2OHk2c2hwUFlkS1UvdUNJTlNndnQKRnBNQU01Tml0OEw4
38
- bkh3ZjNJSVVQZzdsc01DUnpPa1EvRkQ4N0JJM1YzU25GTm9UQ2RHZ25HajNq
39
- Zlc0elJsTAppRnlhcmVGUEE4NGJ0UT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
40
- LS0tLS0K
41
- date: 2014-04-30 00:00:00.000000000 Z
13
+ - |
14
+ -----BEGIN CERTIFICATE-----
15
+ MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZuZXRz
16
+ c2gxGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZFgNj
17
+ b20wHhcNMTgwNjA0MTA0OTQwWhcNMTkwNjA0MTA0OTQwWjBBMQ8wDQYDVQQDDAZu
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
+ 9w0BAQsFAAOCAQEAXnNaYXWVr/sCsfZdza+yBBOobYPgjOgDRfqNO2YX8RFEyDNB
29
+ AxBCQIF4OeUaoMbTQTVh24MwaDHpDTgqBAEfSs9h41lZewQaw4QUGJ6yxNVzO194
30
+ 2vYohv9vHpodBukIpUFGk40vQq8nOq2MzVyCb911wnt5d0ZQg+UJf5tdMYvRvATa
31
+ F/dkTaqhq3wq/JJRghq8fJUqWN5aBtMQb/61z5J3mKAUJsUN2/VdDph2fRPDpECa
32
+ uWREKzWwXbaB96/ZyzoyP7FsQBLgdDL++g2nF0neCENc5Wj5IlQZiH0a2+X3jAgm
33
+ 7UnoE3CP9Tk5GHVUina5gPyzl0VI4s4pYCPehQ==
34
+ -----END CERTIFICATE-----
35
+ date: 2018-06-14 00:00:00.000000000 Z
42
36
  dependencies:
43
37
  - !ruby/object:Gem::Dependency
44
38
  name: net-ssh
45
39
  requirement: !ruby/object:Gem::Requirement
46
- none: false
47
40
  requirements:
48
- - - ! '>='
41
+ - - ">="
49
42
  - !ruby/object:Gem::Version
50
43
  version: 2.6.5
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: 5.0.0
51
47
  type: :runtime
52
48
  prerelease: false
53
49
  version_requirements: !ruby/object:Gem::Requirement
54
- none: false
55
50
  requirements:
56
- - - ! '>='
51
+ - - ">="
57
52
  - !ruby/object:Gem::Version
58
53
  version: 2.6.5
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 5.0.0
59
57
  - !ruby/object:Gem::Dependency
60
58
  name: test-unit
61
59
  requirement: !ruby/object:Gem::Requirement
62
- none: false
63
60
  requirements:
64
- - - ! '>='
61
+ - - ">="
65
62
  - !ruby/object:Gem::Version
66
63
  version: '0'
67
64
  type: :development
68
65
  prerelease: false
69
66
  version_requirements: !ruby/object:Gem::Requirement
70
- none: false
71
67
  requirements:
72
- - - ! '>='
68
+ - - ">="
73
69
  - !ruby/object:Gem::Version
74
70
  version: '0'
75
71
  - !ruby/object:Gem::Dependency
76
72
  name: mocha
77
73
  requirement: !ruby/object:Gem::Requirement
78
- none: false
79
74
  requirements:
80
- - - ! '>='
75
+ - - ">="
81
76
  - !ruby/object:Gem::Version
82
77
  version: '0'
83
78
  type: :development
84
79
  prerelease: false
85
80
  version_requirements: !ruby/object:Gem::Requirement
86
- none: false
87
81
  requirements:
88
- - - ! '>='
82
+ - - ">="
89
83
  - !ruby/object:Gem::Version
90
84
  version: '0'
91
85
  description: A pure Ruby implementation of the SCP client protocol
92
- email: net-ssh@solutious.com
86
+ email:
87
+ - net-ssh@solutious.com
93
88
  executables: []
94
89
  extensions: []
95
90
  extra_rdoc_files:
96
91
  - LICENSE.txt
97
92
  - README.rdoc
98
93
  files:
99
- - .travis.yml
94
+ - ".gitignore"
95
+ - ".travis.yml"
100
96
  - CHANGES.txt
97
+ - Gemfile
101
98
  - LICENSE.txt
102
99
  - Manifest
103
100
  - README.rdoc
104
101
  - Rakefile
105
- - gem-public_cert.pem
106
102
  - lib/net/scp.rb
107
103
  - lib/net/scp/download.rb
108
104
  - lib/net/scp/errors.rb
@@ -110,36 +106,31 @@ files:
110
106
  - lib/net/scp/version.rb
111
107
  - lib/uri/open-scp.rb
112
108
  - lib/uri/scp.rb
109
+ - net-scp-public_cert.pem
113
110
  - net-scp.gemspec
114
111
  - setup.rb
115
- - test/common.rb
116
- - test/test_all.rb
117
- - test/test_download.rb
118
- - test/test_scp.rb
119
- - test/test_upload.rb
120
112
  homepage: https://github.com/net-ssh/net-scp
121
113
  licenses:
122
114
  - MIT
115
+ metadata: {}
123
116
  post_install_message:
124
117
  rdoc_options: []
125
118
  require_paths:
126
119
  - lib
127
120
  required_ruby_version: !ruby/object:Gem::Requirement
128
- none: false
129
121
  requirements:
130
- - - ! '>='
122
+ - - ">="
131
123
  - !ruby/object:Gem::Version
132
124
  version: '0'
133
125
  required_rubygems_version: !ruby/object:Gem::Requirement
134
- none: false
135
126
  requirements:
136
- - - ! '>='
127
+ - - ">="
137
128
  - !ruby/object:Gem::Version
138
129
  version: '0'
139
130
  requirements: []
140
- rubyforge_project: net-scp
141
- rubygems_version: 1.8.23
131
+ rubyforge_project:
132
+ rubygems_version: 2.7.6
142
133
  signing_key:
143
134
  specification_version: 3
144
- summary: A pure Ruby implementation of the SCP client protocol
135
+ summary: A pure Ruby implementation of the SCP client protocol.
145
136
  test_files: []