summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #421 from mfazekas/read-data-return-before-raiseignore-disconnect-exception-when-all-closedMiklós Fazekas2016-08-142-2/+23
|\ | | | | non blocking next_packet shall return the available data before raisi…
| * non blocking next_packet shall return the available data before raising ↵Miklos Fazekas2016-08-142-2/+23
| | | | | | | | disconnect
* | Merge pull request #418 from mfazekas/beta2-preparev4.0.0.beta2Miklós Fazekas2016-08-083-3/+7
|\ \ | |/ |/| Fixed raiseUnlessLoaded undefined ERROR issue
| * Fixed raiseUnlessLoaded undefined ERROR issueMiklos Fazekas2016-08-083-3/+7
|/
* Merge pull request #410 from mfazekas/try-jruby-9.1.2.0v4.0.0.beta1Miklós Fazekas2016-07-233-6/+6
|\ | | | | Try jruby 9.1.2.0
| * Try 9.1.2.0Miklos Fazekas2016-07-233-6/+6
| |
* | Merge pull request #409 from mfazekas/fix-240-iv-errorMiklós Fazekas2016-07-232-1/+2
|\ \ | |/ | | Fixed 2.4.0 preview error
| * Fixed 2.4.0 preview errorMiklos Fazekas2016-07-232-1/+2
| |
* | Merge pull request #408 from mfazekas/prepare-400betaMiklós Fazekas2016-07-232-2/+6
|\ \ | |/ | | prepare for 4.0.0.beta1
| * prepare for 4.0.0.beta1Miklos Fazekas2016-07-232-2/+6
| |
* | Merge pull request #385 from elconas/fix_issue_235-rebase2Miklós Fazekas2016-07-231-1/+1
|\ \ | |/ |/| Fix issue #235
| * Added Fix for ansible in https://github.com/net-ssh/net-ssh/pull/383elconas2016-06-101-0/+1
| |
| * Fix https://github.com/net-ssh/net-ssh/issues/235elconas2016-06-101-1/+1
| |
* | Merge pull request #407 from mfazekas/utf8Miklós Fazekas2016-07-2311-10/+85
|\ \ | | | | | | Utf8
| * | UTF-8: Optimize away dup when it's safe, added integrations testsMiklos Fazekas2016-07-2310-7/+65
| | |
| * | Prevent encoding issues building UTF8 buffersIristyle2016-07-233-3/+20
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Prior to this change, attempting to send UTF8 commands through SSH, or attempting to copy files with UTF8 filenames could fail. This was particularly easy to trigger by attempting to execute commands that were 128 bytes or longer. - monkey patch net-ssh gem to allow UTF-8 strings >= 128 bytes The buffer @content is often built as a UTF-8 string, until the point at which it appends data that cannot be encoded as a UTF-8 sequence. One case occurs when the call to write_string is made to append a string that exceeds 127 bytes in length. The SSH2 format says that strings must be length prefixed, and when the value [128] has pack("N*") called against it, the resultant 4 byte network order representation does not have a valid UTF-8 equivalent, resulting in an ASCII-8BIT / BINARY string. [127].pack('N*').encode('utf-8') => "\u0000\u0000\u0000\u007F" [128].pack('N*').encode('utf-8') Encoding::UndefinedConversionError: "\x80" from ASCII-8BIT to UTF-8 Ruby has a subtle behavior where appending a BINARY string to an existing UTF-8 string is allowed and the resultant string changes encoding to BINARY. However, once this has happened, the string can no longer have UTF-8 encoded strings appended as Ruby will raise an Encoding:CompatibilityError Appending BINARY to UTF-8 always creates BINARY: "foo".encode('utf-8') << [128].pack('N*') => "foo\x00\x00\x00\x80" Appending UTF-8 representable strings to existing strings: Ruby 2.1.7 keeps the string as its default UTF-8 "foo" << [127].pack('N*') => "foo\u0000\u0000\u0000\u007F" Ruby 1.9.3 keeps UTF-8 strings as UTF-8 "foo".encode('utf-8') << [127].pack('N*') => "foo\u0000\u0000\u0000\u007F" Ruby 1.9.3 defaults to US-ASCII which changes it to BINARY pry(main)> "foo" << [127].pack('N*') => "foo\x00\x00\x00\x7F" The simple solution is to call force_encoding on UTF-8 strings prior to appending them to @content, given it's always OK to append ASCII-8BIT / BINARY strings to existing strings, but appending UTF-8 to BINARY raises errors. "\x80".force_encoding('ASCII-8BIT') << "\u16A0" Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8 force_encoding in this case, will simply translate a valid UTF-8 string to its BINARY equivalent "\u16A0".force_encoding('BINARY') => "\xE1\x9A\xA0" Correct conversion per http://www.fileformat.info/info/unicode/char/16a0/index.htm
* | Merge pull request #398 from mfazekas/fix-read-keyblobMiklós Fazekas2016-07-195-15/+41
|\ \ | | | | | | Raise better error in read_keyblob if rbnacl is not available
| * | Raise better errors if ED25519 support is not availableMiklos Fazekas2016-07-195-15/+41
|/ /
* | Merge pull request #386 from mfazekas/fix-ansible-2Miklós Fazekas2016-06-101-0/+1
|\ \ | |/ |/| Added Fix for ansible in https://github.com/net-ssh/net-ssh/pull/383
| * Added Fix for ansible in https://github.com/net-ssh/net-ssh/pull/383elconas2016-06-101-0/+1
|/
* Merge pull request #371 from KaneMorgan/default-optionsMiklós Fazekas2016-05-162-9/+20
|\ | | | | set default options before checking for nils
| * set default options before checking for nilsKane Morgan2016-05-152-9/+20
| |
* | Merge pull request #372 from mfazekas/fix-ciMiklós Fazekas2016-05-164-5/+6
|\ \ | |/ |/| Fix rbnacl-libsodium issue on windows, fix CI
| * Fix rbnacl-libsodium issue on windows, fix CIMiklos Fazekas2016-05-164-5/+6
|/
* Merge pull request #367 from eligible/minimum_dh_bitsMiklós Fazekas2016-05-095-6/+22
|\ | | | | Adds minimum_dh_bits option.
| * Fix rubocop issueAaron Bedra2016-05-051-5/+2
| |
| * Adds minimum_dh_bits option.Aaron Bedra2016-05-055-6/+25
|/ | | | | | | This commit introduces a new option, minimum_dh_bits. This option allows the user to specify the minimum required bits for a diffie helman key exchange in situations where the minimum hardcoded value of 1024 is too weak.
* Windows ciMiklos Fazekas2016-05-031-2/+4
|
* Merge pull request #364 from mfazekas/400alpha4v4.0.0.alpha4Miklós Fazekas2016-05-022-1/+10
|\ | | | | alpha4 release prepare
| * alpha4 release prepareMiklos Fazekas2016-05-022-1/+10
| |
* | Merge pull request #354 from mfazekas/appveyorMiklós Fazekas2016-05-021-0/+18
|\ \ | |/ |/| appveyor - windows ci
| * Update appveyor.ymlMiklós Fazekas2016-05-021-3/+3
| |
| * appveyorMiklos Fazekas2016-04-131-0/+18
| |
* | Merge pull request #309 from mfazekas/event-loopMiklós Fazekas2016-05-025-22/+155
|\ \ | | | | | | EventLoop abstraction
| * | EventLoop abstractionMiklos Fazekas2016-04-165-22/+155
| |/
* | Merge pull request #363 from mfazekas/rbnacl-is-optionalMiklós Fazekas2016-05-0210-54/+103
|\ \ | | | | | | Make rbnacl dependency optional
| * | Make rbnacl dependency optionalMiklos Fazekas2016-05-0210-54/+103
|/ /
* | Merge pull request #359 from mfazekas/send-kexinit-asapMiklós Fazekas2016-05-015-5/+12
|\ \ | | | | | | Send KEXINIT asap
| * | Fix bundler version in travis.ymlMiklos Fazekas2016-05-011-3/+3
| | |
| * | Send KEXINIT without waiting from server.Miklos Fazekas2016-05-014-2/+9
| | |
* | | Merge pull request #360 from alongoldboim/add_socket_optionMiklós Fazekas2016-04-286-10/+21
|\ \ \ | |/ / |/| | Added ability to specify agent socket
| * | Added ability to specify agent socketAlon Goldboim2016-04-286-10/+21
|/ /
* | Merge pull request #355 from KaneMorgan/nil-start-optionsMiklós Fazekas2016-04-202-1/+20
|\ \ | |/ |/| Prevents users explicitly passing in nils in options by accident whic…
| * Prevent nils being explicitly passed in at start up timeKane Morgan2016-04-172-1/+20
|/
* Update README.rdocMiklós Fazekas2016-04-081-2/+0
|
* Merge pull request #353 from mfazekas/test-testsMiklós Fazekas2016-04-087-9/+118
|\ | | | | Added tests for Net::SSH::Test
| * Added tests for Net::SSH::TestMiklos Fazekas2016-04-087-9/+118
|/
* Merge pull request #283 from p0deje/test_channel_requests_ptyMiklós Fazekas2016-04-083-0/+17
|\ | | | | Add Net::SSH::Test::Channel#sends_request_pty for scripting PTY requests
| * Add Net::SSH::Test::Channel#sends_request_pty for scripting PTY requestsAlex Rodionov2015-11-173-0/+17
| | | | | | | | Fixes net-ssh/net-ssh#184.
* | Merge pull request #352 from mfazekas/promptMiklós Fazekas2016-04-0819-151/+240
|\ \ | | | | | | Refactor prompting to a class that can be customized