net-scp 1.2.1 → 1.2.2.rc2

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.
@@ -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: []