| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Don't keep increasing local_window_size beyond limits
|
|/ |
|
|\
| |
| | |
New options for :verify_host_key
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Deprecate some existing values, replacing them with a set of words
that match the classes in the `Net::SSH::Verifiers` module. Values
would be replaced as follows:
- `false` becomes `:never`,
- `true` becomes `:accept_new_or_local_tunnel`,
- `:very` becomes `:accept_new`, and
- `:secure` becomes `:always`.
This is a nice improvement, improving data type consistency (they're
all symbols) and expressiveness (they reveal the underlying classes).
This change was preliminarily approved in
https://github.com/net-ssh/net-ssh/issues/532
|
| | |
|
|\ \
| |/
|/| |
Update proxy to HTTP/1.1
|
|/
|
| |
Some proxy servers require HTTP/1.1 with a Host header.
|
|\
| |
| | |
Add support for Host in Match config blocks
|
|/ |
|
| |
|
|\
| |
| | |
FingerprintHash SHA256|MD5
|
|/ |
|
|\
| |
| | |
hmac instead of mac, confusing in networking environment
|
|/ |
|
|\
| |
| | |
Dont use defaults when keydata
|
|/ |
|
|\
| |
| | |
removing unused arguments, flat_map better than map->flatten
|
| | |
|
|\ \
| |/
| | |
Whitespace fixes
|
| | |
|
|\ \
| |/
| | |
Sha fingerprint
|
|/ |
|
|\
| |
| | |
Updated rubocop
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
Handle ProxyCommand child in case of timeout and exception
|
|/ |
|
|\
| |
| | |
Fixed side-effects caused by passing by reference
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Specifically: references to default_files and default_auth_methods
shouldn't modify the class variables, so we're asserting whether the
before and after states are equal.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Net::SSH::Config::default_files method is supposed to "return an array of locations" to parse by default.
However, it currently returns a **reference** to the actual `@@default_files` instance variable, meaning that any API consumers who `Enumerable#shift`, `pop`, or otherwise modify the returned Array are actually **__modifying the state of the `Net::SSH` library as a whole__**, meaning that subsequent uses cannot use the same array.
I found this because I use `Net::SSH.start` by itself (eg, automagically getting configuration), but ran into problems when I added this block in front, where I'm simply loading the files to find whether the new option `IdentityAgent` is set. (Eg, I'm not otherwise using/`::translate`ing the loaded options)
```ruby
raw_opts = {}
opt_files = Net::SSH::Config.default_files
while (file = opt_files.shift)
raw_opts = Net::SSH::Config.load(file, some_hostname, raw_opts)
end
identity_agent = raw_opts.fetch("identityagent", nil)
Net::SSH.start(hostname, nil, verbose: :info) do |session|
# ... do my regular stuff
end
```
After I added that block, the attempted ssh session used the wrong username, etc, as if `#start` was no longer loading the config files.
At first I assumed that `Net::SSH::Config.load` had side effects (documented or otherwise) but I couldn't see any evidence of that in the code.
Imagine my surprise when I found the "pass by reference" problem in `::default_files`...
My fix boiled down to this:
`opt_files = Net::SSH::Config.default_files` -> `opt_files = Net::SSH::Config.default_files.clone`
Hence the PR. I don't think it makes sense for anyone to be able to modify the internal state of Net::SSH...
Feel free to reject this PR, in which case I'll make another one to adjust the docs instead, warning people of the side effects :-)
|
|\ \ \
| | | |
| | | | |
Fix uninitialized SimpleDelegator
|
|/ / / |
|
|\ \ \
| |_|/
|/| | |
Fix for current arch linux box using openssl-1.1.0g
|
|/ /
| |
| |
| | |
relative to net-ssh version 4.2.0 (released as gem)
|
|\ \
| | |
| | | |
fix typo: Unkown => Unknown
|
| | | |
|
|\ \ \
| | | |
| | | | |
disable broken rubies, update rubies with security issues
|
| |\ \ \ |
|
| | |/ /
| |/| | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Remove Net::SSH::Compat.io_select
|
| |/ /
| | |
| | |
| | |
| | | |
Despite the comment, it was not doing anything anymore except invoking
the default `IO.select`.
|
|\ \ \
| | | |
| | | | |
Use OpenSSL for aes*-ctr
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Fix Net::SSH.start docs
|