net-ssh-backports 6.3.0.backports

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +93 -0
  3. data/.gitignore +13 -0
  4. data/.rubocop.yml +21 -0
  5. data/.rubocop_todo.yml +1074 -0
  6. data/.travis.yml +51 -0
  7. data/CHANGES.txt +698 -0
  8. data/Gemfile +13 -0
  9. data/Gemfile.noed25519 +12 -0
  10. data/ISSUE_TEMPLATE.md +30 -0
  11. data/LICENSE.txt +19 -0
  12. data/Manifest +132 -0
  13. data/README.md +287 -0
  14. data/Rakefile +105 -0
  15. data/THANKS.txt +110 -0
  16. data/appveyor.yml +58 -0
  17. data/lib/net/ssh/authentication/agent.rb +284 -0
  18. data/lib/net/ssh/authentication/certificate.rb +183 -0
  19. data/lib/net/ssh/authentication/constants.rb +20 -0
  20. data/lib/net/ssh/authentication/ed25519.rb +185 -0
  21. data/lib/net/ssh/authentication/ed25519_loader.rb +31 -0
  22. data/lib/net/ssh/authentication/key_manager.rb +297 -0
  23. data/lib/net/ssh/authentication/methods/abstract.rb +69 -0
  24. data/lib/net/ssh/authentication/methods/hostbased.rb +72 -0
  25. data/lib/net/ssh/authentication/methods/keyboard_interactive.rb +77 -0
  26. data/lib/net/ssh/authentication/methods/none.rb +34 -0
  27. data/lib/net/ssh/authentication/methods/password.rb +80 -0
  28. data/lib/net/ssh/authentication/methods/publickey.rb +95 -0
  29. data/lib/net/ssh/authentication/pageant.rb +497 -0
  30. data/lib/net/ssh/authentication/pub_key_fingerprint.rb +43 -0
  31. data/lib/net/ssh/authentication/session.rb +163 -0
  32. data/lib/net/ssh/buffer.rb +434 -0
  33. data/lib/net/ssh/buffered_io.rb +202 -0
  34. data/lib/net/ssh/config.rb +406 -0
  35. data/lib/net/ssh/connection/channel.rb +695 -0
  36. data/lib/net/ssh/connection/constants.rb +33 -0
  37. data/lib/net/ssh/connection/event_loop.rb +123 -0
  38. data/lib/net/ssh/connection/keepalive.rb +59 -0
  39. data/lib/net/ssh/connection/session.rb +712 -0
  40. data/lib/net/ssh/connection/term.rb +180 -0
  41. data/lib/net/ssh/errors.rb +106 -0
  42. data/lib/net/ssh/key_factory.rb +218 -0
  43. data/lib/net/ssh/known_hosts.rb +264 -0
  44. data/lib/net/ssh/loggable.rb +62 -0
  45. data/lib/net/ssh/packet.rb +106 -0
  46. data/lib/net/ssh/prompt.rb +62 -0
  47. data/lib/net/ssh/proxy/command.rb +123 -0
  48. data/lib/net/ssh/proxy/errors.rb +16 -0
  49. data/lib/net/ssh/proxy/http.rb +98 -0
  50. data/lib/net/ssh/proxy/https.rb +50 -0
  51. data/lib/net/ssh/proxy/jump.rb +54 -0
  52. data/lib/net/ssh/proxy/socks4.rb +67 -0
  53. data/lib/net/ssh/proxy/socks5.rb +140 -0
  54. data/lib/net/ssh/service/forward.rb +426 -0
  55. data/lib/net/ssh/test/channel.rb +147 -0
  56. data/lib/net/ssh/test/extensions.rb +173 -0
  57. data/lib/net/ssh/test/kex.rb +46 -0
  58. data/lib/net/ssh/test/local_packet.rb +53 -0
  59. data/lib/net/ssh/test/packet.rb +101 -0
  60. data/lib/net/ssh/test/remote_packet.rb +40 -0
  61. data/lib/net/ssh/test/script.rb +180 -0
  62. data/lib/net/ssh/test/socket.rb +65 -0
  63. data/lib/net/ssh/test.rb +94 -0
  64. data/lib/net/ssh/transport/algorithms.rb +502 -0
  65. data/lib/net/ssh/transport/cipher_factory.rb +103 -0
  66. data/lib/net/ssh/transport/constants.rb +40 -0
  67. data/lib/net/ssh/transport/ctr.rb +115 -0
  68. data/lib/net/ssh/transport/hmac/abstract.rb +97 -0
  69. data/lib/net/ssh/transport/hmac/md5.rb +10 -0
  70. data/lib/net/ssh/transport/hmac/md5_96.rb +9 -0
  71. data/lib/net/ssh/transport/hmac/none.rb +13 -0
  72. data/lib/net/ssh/transport/hmac/ripemd160.rb +11 -0
  73. data/lib/net/ssh/transport/hmac/sha1.rb +11 -0
  74. data/lib/net/ssh/transport/hmac/sha1_96.rb +9 -0
  75. data/lib/net/ssh/transport/hmac/sha2_256.rb +11 -0
  76. data/lib/net/ssh/transport/hmac/sha2_256_96.rb +9 -0
  77. data/lib/net/ssh/transport/hmac/sha2_256_etm.rb +12 -0
  78. data/lib/net/ssh/transport/hmac/sha2_512.rb +11 -0
  79. data/lib/net/ssh/transport/hmac/sha2_512_96.rb +9 -0
  80. data/lib/net/ssh/transport/hmac/sha2_512_etm.rb +12 -0
  81. data/lib/net/ssh/transport/hmac.rb +47 -0
  82. data/lib/net/ssh/transport/identity_cipher.rb +57 -0
  83. data/lib/net/ssh/transport/kex/abstract.rb +130 -0
  84. data/lib/net/ssh/transport/kex/abstract5656.rb +72 -0
  85. data/lib/net/ssh/transport/kex/curve25519_sha256.rb +39 -0
  86. data/lib/net/ssh/transport/kex/curve25519_sha256_loader.rb +30 -0
  87. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb +37 -0
  88. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha256.rb +11 -0
  89. data/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +122 -0
  90. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +72 -0
  91. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb +11 -0
  92. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +39 -0
  93. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb +21 -0
  94. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb +21 -0
  95. data/lib/net/ssh/transport/kex.rb +31 -0
  96. data/lib/net/ssh/transport/key_expander.rb +30 -0
  97. data/lib/net/ssh/transport/openssl.rb +253 -0
  98. data/lib/net/ssh/transport/packet_stream.rb +280 -0
  99. data/lib/net/ssh/transport/server_version.rb +77 -0
  100. data/lib/net/ssh/transport/session.rb +354 -0
  101. data/lib/net/ssh/transport/state.rb +208 -0
  102. data/lib/net/ssh/verifiers/accept_new.rb +33 -0
  103. data/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb +33 -0
  104. data/lib/net/ssh/verifiers/always.rb +58 -0
  105. data/lib/net/ssh/verifiers/never.rb +19 -0
  106. data/lib/net/ssh/version.rb +68 -0
  107. data/lib/net/ssh.rb +330 -0
  108. data/net-ssh-public_cert.pem +20 -0
  109. data/net-ssh.gemspec +44 -0
  110. data/support/ssh_tunnel_bug.rb +65 -0
  111. metadata +271 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a663edd354ddba8714554591739611a1b67ea107d6aa1ae8bd5e9317d3bc044d
4
+ data.tar.gz: 0b60aa65680c7a1e22bbd48fd81f5b38152e7021040059b14cb5594e85b3034a
5
+ SHA512:
6
+ metadata.gz: 0c5cd14d6fbdbae34226df51e4260e033825644552cc6df5196132878cf36333b94ea0b699e7835b7bc5a86d4753818dc010aa6960640af3da66e119e2dc488f
7
+ data.tar.gz: 0400f5378ffc3f05d3a044ebb9ebd55741e0745938fc61f3feefcd8845189105d5485e0d4a8dd55cc03d766db709e5808cc3bd93cd236f4f11b7afdf1ebf839c
@@ -0,0 +1,93 @@
1
+ name: CI
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ runs-on: ubuntu-18.04
6
+ continue-on-error: ${{ matrix.flaky }}
7
+ strategy:
8
+ matrix:
9
+ ruby-version: [2.7.2, 2.6.6, 3.0.1]
10
+ flaky: [false]
11
+ include:
12
+ - ruby-version: 2.5.8
13
+ flaky: true
14
+ steps:
15
+ - uses: actions/checkout@v1
16
+
17
+ - name: Set up Ruby ${{ matrix.ruby-version }}
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: ${{ matrix.ruby-version }}
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v2
23
+ with:
24
+ python-version: 3.8
25
+
26
+ - name: Cache bundler
27
+ uses: actions/cache@v1
28
+ id: bundler-cache
29
+ with:
30
+ path: vendor/bundle
31
+ key: ${{ runner.os }}-${{ matrix.ruby-version }}-gem-v3-${{ hashFiles('**/Gemfile') }}-${{ hashFiles('**/net-ssh.gemspec') }}
32
+ restore-keys: |
33
+ ${{ runner.os }}-${{ matrix.ruby-version }}-gem-v3-
34
+
35
+ - name: Cache pip
36
+ uses: actions/cache@v1
37
+ id: pip-cache
38
+ with:
39
+ path: ~/.cache/pip
40
+ key: ${{ runner.os }}-pip-v1
41
+ restore-keys: |
42
+ ${{ runner.os }}-pip-v1
43
+ - name: Bundle install
44
+ run: |
45
+ gem install bundler
46
+ bundle config set path 'vendor/bundle'
47
+ bundle config set --local path 'vendor/bundle'
48
+ bundle install --jobs 4 --retry 3 --path vendor/bundle
49
+ BUNDLE_GEMFILE=./Gemfile.noed25519 bundle install --jobs 4 --retry 3 --path vendor/bundle
50
+ env:
51
+ BUNDLE_PATH: vendor/bundle
52
+
53
+ - name: Add to etc/hosts
54
+ run: |
55
+ sudo echo "127.0.0.1 gateway.netssh" | sudo tee -a /etc/hosts
56
+ - name: Check sshd_config
57
+ run: sudo cat '/etc/ssh/sshd_config' || true
58
+ - name: Check sshd_config2
59
+ run: sudo cat /etc/ssh/sshd_config.d/*.conf || true
60
+ - name: Check sshd pid
61
+ run: sudo ps aux | grep sshd
62
+ - name: Ansible install
63
+ run: |
64
+ python -m pip install --upgrade pip
65
+ pip install ansible urllib3 pyOpenSSL ndg-httpsclient pyasn1
66
+ ansible-galaxy install rvm.ruby
67
+ pwd
68
+ uname -a
69
+ export
70
+ who am i
71
+ ansible-playbook ./test/integration/playbook.yml -i "localhost," --become -c local -e 'no_rvm=true' -e 'myuser=runner' -e 'mygroup=runner' -e 'homedir=/home/runner'
72
+ - name: Check sshd_config
73
+ run: sudo cat '/etc/ssh/sshd_config' || true
74
+ - name: Check sshd pid
75
+ run: sudo ps aux | grep sshd
76
+ - name: Check sshd_config2
77
+ run: sudo cat /etc/ssh/sshd_config.d/*.conf || true
78
+ - name: Run Tests
79
+ run: bundle exec rake test
80
+ env:
81
+ NET_SSH_RUN_INTEGRATION_TESTS: 1
82
+ CI: 1
83
+ - name: Run Tests (without ed25519)
84
+ run: bundle exec rake test
85
+ env:
86
+ BUNDLE_GEMFILE: ./Gemfile.noed25519
87
+ NET_SSH_RUN_INTEGRATION_TESTS: 1
88
+ CI: 1
89
+ - name: Run test helper test
90
+ run: bundle exec rake test_test
91
+ - name: Rubocop
92
+ if: matrix.ruby-version == '3.0.1'
93
+ run: bundle exec rubocop --fail-level C -f s
data/.gitignore ADDED
@@ -0,0 +1,13 @@
1
+ /Gemfile.lock
2
+ /Gemfile.noed25519.lock
3
+ doc
4
+ rdoc
5
+ ri
6
+ pkg
7
+ *.swp
8
+ test/integration/.vagrant
9
+ test/integration/playbook.retry
10
+
11
+ .byebug_history
12
+
13
+ tryout
data/.rubocop.yml ADDED
@@ -0,0 +1,21 @@
1
+ AllCops:
2
+ Exclude:
3
+ - 'tryout/**/*'
4
+ - "vendor/**/.*"
5
+ - "vendor/**/*"
6
+ NewCops: enable
7
+
8
+ inherit_from: .rubocop_todo.yml
9
+
10
+ Style/DoubleNegation:
11
+ Exclude:
12
+ - 'lib/net/ssh/key_factory.rb'
13
+
14
+ Layout/LineLength:
15
+ Max: 150
16
+ Exclude:
17
+ - 'test/**/*.rb'
18
+ - 'net-ssh.gemspec'
19
+
20
+ Style/EmptyLiteral:
21
+ Enabled: false