net-ssh 3.0.0.rc1 → 3.0.1.rc1
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -2
- data/CHANGES.txt +6 -0
- data/lib/net/ssh.rb +2 -1
- data/lib/net/ssh/connection/session.rb +5 -3
- data/lib/net/ssh/transport/session.rb +2 -0
- data/lib/net/ssh/version.rb +1 -1
- data/net-ssh.gemspec +4 -3
- data/test/configs/proxy_remote_user +2 -0
- data/test/connection/test_session.rb +7 -4
- data/test/start/test_options.rb +7 -0
- data/test/test_config.rb +6 -0
- metadata +3 -2
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 3d164d026393607b9458300322c53263a7ec5177
         | 
| 4 | 
            +
              data.tar.gz: 3e413fdc16491481a5409b5f9d372d40c5092382
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3f502d0b2b3b64c5b99a36ebc05c0b8c4e894264809f10fd60ee46ac30254ef26332fde43ba48975c997f74fb2401f028e301cb9ff6f3fbfe0285a3583d403ca
         | 
| 7 | 
            +
              data.tar.gz: 3542a91dfa1c82d56c3f4364582733f3ffe571eb46ef56599b78e677a8fc06e865ab27ca825892b52d8bf39d4f6d53fbc1c8fa2399cd2728da5a4b95506263a3
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data.tar.gz.sig
    CHANGED
    
    | @@ -1,2 +1,2 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
            � | 
| 1 | 
            +
            u���8�
         | 
| 2 | 
            +
            +d���frN�D�Eb[t�E��z"�F�q/�Vt!y)�e��;/JC�yv�{β�K�2%�i���ᑓ�y�߫2i3[,��wE
         | 
    
        data/CHANGES.txt
    CHANGED
    
    | @@ -1,3 +1,9 @@ | |
| 1 | 
            +
            === 3.0.1.rc1
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * Breaking change from 2.* series: exec! without block now returns empty string instread of nil if command has no output [https://github.com/net-ssh/net-ssh/pull/273]
         | 
| 4 | 
            +
            * Support remote_user as %r in proxy commands [Dominic Scheirlinck]
         | 
| 5 | 
            +
            * Raise Net::SSH::ConnectionTimeout from connection timeout [Carl Hoerberg]
         | 
| 6 | 
            +
             | 
| 1 7 | 
             
            === 3.0.0.rc1
         | 
| 2 8 |  | 
| 3 9 | 
             
            * SemVer: Major version change because of dropping of ruby 1.9
         | 
    
        data/lib/net/ssh.rb
    CHANGED
    
    | @@ -62,7 +62,7 @@ module Net | |
| 62 62 | 
             
                # Net::SSH.start for a description of each option.
         | 
| 63 63 | 
             
                VALID_OPTIONS = [
         | 
| 64 64 | 
             
                  :auth_methods, :bind_address, :compression, :compression_level, :config,
         | 
| 65 | 
            -
                  :encryption, :forward_agent, :hmac, :host_key,
         | 
| 65 | 
            +
                  :encryption, :forward_agent, :hmac, :host_key, :remote_user,
         | 
| 66 66 | 
             
                  :keepalive, :keepalive_interval, :keepalive_maxcount, :kex, :keys, :key_data,
         | 
| 67 67 | 
             
                  :languages, :logger, :paranoid, :password, :port, :proxy,
         | 
| 68 68 | 
             
                  :rekey_blocks_limit,:rekey_limit, :rekey_packet_limit, :timeout, :verbose,
         | 
| @@ -169,6 +169,7 @@ module Net | |
| 169 169 | 
             
                # * :user => the user name to log in as; this overrides the +user+
         | 
| 170 170 | 
             
                #   parameter, and is primarily only useful when provided via an SSH
         | 
| 171 171 | 
             
                #   configuration file.
         | 
| 172 | 
            +
                # * :remote_user => used for substitution into the '%r' part of a ProxyCommand
         | 
| 172 173 | 
             
                # * :user_known_hosts_file => the location of the user known hosts file.
         | 
| 173 174 | 
             
                #   Set to an array to specify multiple user known hosts files.
         | 
| 174 175 | 
             
                #   Defaults to %w(~/.ssh/known_hosts ~/.ssh/known_hosts2).
         | 
| @@ -351,19 +351,21 @@ module Net; module SSH; module Connection | |
| 351 351 | 
             
                end
         | 
| 352 352 |  | 
| 353 353 | 
             
                # Same as #exec, except this will block until the command finishes. Also,
         | 
| 354 | 
            -
                # if  | 
| 354 | 
            +
                # if no block is given, this will return all output (stdout and stderr)
         | 
| 355 355 | 
             
                # as a single string.
         | 
| 356 356 | 
             
                #
         | 
| 357 357 | 
             
                #   matches = ssh.exec!("grep something /some/files")
         | 
| 358 358 | 
             
                def exec!(command, &block)
         | 
| 359 | 
            -
                  block  | 
| 359 | 
            +
                  block_or_concat = block || Proc.new do |ch, type, data|
         | 
| 360 360 | 
             
                    ch[:result] ||= ""
         | 
| 361 361 | 
             
                    ch[:result] << data
         | 
| 362 362 | 
             
                  end
         | 
| 363 363 |  | 
| 364 | 
            -
                  channel = exec(command, & | 
| 364 | 
            +
                  channel = exec(command, &block_or_concat)
         | 
| 365 365 | 
             
                  channel.wait
         | 
| 366 366 |  | 
| 367 | 
            +
                  channel[:result] ||= "" unless block
         | 
| 368 | 
            +
             | 
| 367 369 | 
             
                  return channel[:result]
         | 
| 368 370 | 
             
                end
         | 
| 369 371 |  | 
| @@ -85,6 +85,8 @@ module Net; module SSH; module Transport | |
| 85 85 |  | 
| 86 86 | 
             
                  @algorithms = Algorithms.new(self, options)
         | 
| 87 87 | 
             
                  wait { algorithms.initialized? }
         | 
| 88 | 
            +
                rescue Errno::ETIMEDOUT
         | 
| 89 | 
            +
                  raise Net::SSH::ConnectionTimeout
         | 
| 88 90 | 
             
                end
         | 
| 89 91 |  | 
| 90 92 | 
             
                # Returns the host (and possibly IP address) in a format compatible with
         | 
    
        data/lib/net/ssh/version.rb
    CHANGED
    
    
    
        data/net-ssh.gemspec
    CHANGED
    
    | @@ -2,17 +2,17 @@ | |
| 2 2 | 
             
            # DO NOT EDIT THIS FILE DIRECTLY
         | 
| 3 3 | 
             
            # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
         | 
| 4 4 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 5 | 
            -
            # stub: net-ssh 3.0. | 
| 5 | 
            +
            # stub: net-ssh 3.0.1.rc1 ruby lib
         | 
| 6 6 |  | 
| 7 7 | 
             
            Gem::Specification.new do |s|
         | 
| 8 8 | 
             
              s.name = "net-ssh"
         | 
| 9 | 
            -
              s.version = "3.0. | 
| 9 | 
            +
              s.version = "3.0.1.rc1"
         | 
| 10 10 |  | 
| 11 11 | 
             
              s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
         | 
| 12 12 | 
             
              s.require_paths = ["lib"]
         | 
| 13 13 | 
             
              s.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
         | 
| 14 14 | 
             
              s.cert_chain = ["net-ssh-public_cert.pem"]
         | 
| 15 | 
            -
              s.date = "2015-09- | 
| 15 | 
            +
              s.date = "2015-09-19"
         | 
| 16 16 | 
             
              s.description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2."
         | 
| 17 17 | 
             
              s.email = "net-ssh@solutious.com"
         | 
| 18 18 | 
             
              s.extra_rdoc_files = [
         | 
| @@ -134,6 +134,7 @@ Gem::Specification.new do |s| | |
| 134 134 | 
             
                "test/configs/negative_match",
         | 
| 135 135 | 
             
                "test/configs/nohost",
         | 
| 136 136 | 
             
                "test/configs/numeric_host",
         | 
| 137 | 
            +
                "test/configs/proxy_remote_user",
         | 
| 137 138 | 
             
                "test/configs/send_env",
         | 
| 138 139 | 
             
                "test/configs/substitutes",
         | 
| 139 140 | 
             
                "test/configs/wild_cards",
         | 
| @@ -473,6 +473,11 @@ module Connection | |
| 473 473 | 
             
                  assert_equal "some data", session.exec!("ls")
         | 
| 474 474 | 
             
                end
         | 
| 475 475 |  | 
| 476 | 
            +
                def test_exec_bang_without_block_should_return_empty_string_for_empty_command_output
         | 
| 477 | 
            +
                  prep_exec('ls', :stdout, '')
         | 
| 478 | 
            +
                  assert_equal "", session.exec!('ls')
         | 
| 479 | 
            +
                end
         | 
| 480 | 
            +
             | 
| 476 481 | 
             
                private
         | 
| 477 482 |  | 
| 478 483 | 
             
                  def prep_exec(command, *data)
         | 
| @@ -488,10 +493,8 @@ module Connection | |
| 488 493 |  | 
| 489 494 | 
             
                        t2.return(CHANNEL_SUCCESS, :long, p[:remote_id])
         | 
| 490 495 |  | 
| 491 | 
            -
                         | 
| 492 | 
            -
                           | 
| 493 | 
            -
                          datum = data[index+1]
         | 
| 494 | 
            -
             | 
| 496 | 
            +
                        data.each_slice(2) do |type, datum|
         | 
| 497 | 
            +
                          next if datum.empty?
         | 
| 495 498 | 
             
                          if type == :stdout
         | 
| 496 499 | 
             
                            t2.return(CHANNEL_DATA, :long, p[:remote_id], :string, datum)
         | 
| 497 500 | 
             
                          else
         | 
    
        data/test/start/test_options.rb
    CHANGED
    
    | @@ -45,6 +45,13 @@ module NetSSH | |
| 45 45 | 
             
                    Net::SSH.start('localhost', 'testuser', options)
         | 
| 46 46 | 
             
                  end
         | 
| 47 47 | 
             
                end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                def test_start_should_accept_remote_user_option
         | 
| 50 | 
            +
                  assert_nothing_raised do
         | 
| 51 | 
            +
                    options = { :remote_user => 'foo' }
         | 
| 52 | 
            +
                    Net::SSH.start('localhost', 'testuser', options)
         | 
| 53 | 
            +
                  end
         | 
| 54 | 
            +
                end
         | 
| 48 55 | 
             
              end
         | 
| 49 56 | 
             
            end
         | 
| 50 57 |  | 
    
        data/test/test_config.rb
    CHANGED
    
    | @@ -213,6 +213,12 @@ class TestConfig < Test::Unit::TestCase | |
| 213 213 | 
             
                assert_equal [/^GIT_.*$/, /^LANG$/, /^LC_.*$/], net_ssh[:send_env]
         | 
| 214 214 | 
             
              end
         | 
| 215 215 |  | 
| 216 | 
            +
              def test_load_with_remote_user
         | 
| 217 | 
            +
                config = Net::SSH::Config.load(config(:proxy_remote_user), "behind-proxy")
         | 
| 218 | 
            +
                net_ssh = Net::SSH::Config.translate(config)
         | 
| 219 | 
            +
                assert net_ssh[:proxy]
         | 
| 220 | 
            +
              end
         | 
| 221 | 
            +
             | 
| 216 222 | 
             
              private
         | 
| 217 223 |  | 
| 218 224 | 
             
                def config(name)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: net-ssh
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3.0. | 
| 4 | 
            +
              version: 3.0.1.rc1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jamis Buck
         | 
| @@ -31,7 +31,7 @@ cert_chain: | |
| 31 31 | 
             
              MbvRpzgROzyfw1qYi4dnIyMwTtXFFcZ0a2jpxHPkcTYFK6TzvFgDLAP0Y/u9jqUQ
         | 
| 32 32 | 
             
              eZ7/3CdSi/isZHEw
         | 
| 33 33 | 
             
              -----END CERTIFICATE-----
         | 
| 34 | 
            -
            date: 2015-09- | 
| 34 | 
            +
            date: 2015-09-19 00:00:00.000000000 Z
         | 
| 35 35 | 
             
            dependencies:
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: test-unit
         | 
| @@ -185,6 +185,7 @@ files: | |
| 185 185 | 
             
            - test/configs/negative_match
         | 
| 186 186 | 
             
            - test/configs/nohost
         | 
| 187 187 | 
             
            - test/configs/numeric_host
         | 
| 188 | 
            +
            - test/configs/proxy_remote_user
         | 
| 188 189 | 
             
            - test/configs/send_env
         | 
| 189 190 | 
             
            - test/configs/substitutes
         | 
| 190 191 | 
             
            - test/configs/wild_cards
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |