hrr_rb_ssh 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +27 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +22 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE +201 -0
  8. data/README.md +47 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/demo/server.rb +134 -0
  13. data/hrr_rb_ssh.gemspec +27 -0
  14. data/lib/hrr_rb_ssh/authentication/authenticator.rb +16 -0
  15. data/lib/hrr_rb_ssh/authentication/method/none/context.rb +28 -0
  16. data/lib/hrr_rb_ssh/authentication/method/none.rb +38 -0
  17. data/lib/hrr_rb_ssh/authentication/method/password/context.rb +29 -0
  18. data/lib/hrr_rb_ssh/authentication/method/password.rb +37 -0
  19. data/lib/hrr_rb_ssh/authentication/method.rb +21 -0
  20. data/lib/hrr_rb_ssh/authentication.rb +107 -0
  21. data/lib/hrr_rb_ssh/closed_authentication_error.rb +7 -0
  22. data/lib/hrr_rb_ssh/closed_connection_error.rb +7 -0
  23. data/lib/hrr_rb_ssh/closed_transport_error.rb +7 -0
  24. data/lib/hrr_rb_ssh/compat.rb +65 -0
  25. data/lib/hrr_rb_ssh/connection/channel/proc_chain/chain_context.rb +22 -0
  26. data/lib/hrr_rb_ssh/connection/channel/proc_chain.rb +25 -0
  27. data/lib/hrr_rb_ssh/connection/channel/session/env/context.rb +43 -0
  28. data/lib/hrr_rb_ssh/connection/channel/session/env.rb +31 -0
  29. data/lib/hrr_rb_ssh/connection/channel/session/exec/context.rb +41 -0
  30. data/lib/hrr_rb_ssh/connection/channel/session/exec.rb +31 -0
  31. data/lib/hrr_rb_ssh/connection/channel/session/pty_req/context.rb +50 -0
  32. data/lib/hrr_rb_ssh/connection/channel/session/pty_req.rb +31 -0
  33. data/lib/hrr_rb_ssh/connection/channel/session/shell/context.rb +37 -0
  34. data/lib/hrr_rb_ssh/connection/channel/session/shell.rb +31 -0
  35. data/lib/hrr_rb_ssh/connection/channel/session/subsystem/context.rb +40 -0
  36. data/lib/hrr_rb_ssh/connection/channel/session/subsystem.rb +31 -0
  37. data/lib/hrr_rb_ssh/connection/channel/session.rb +31 -0
  38. data/lib/hrr_rb_ssh/connection/channel.rb +278 -0
  39. data/lib/hrr_rb_ssh/connection/request_handler.rb +18 -0
  40. data/lib/hrr_rb_ssh/connection.rb +170 -0
  41. data/lib/hrr_rb_ssh/logger.rb +52 -0
  42. data/lib/hrr_rb_ssh/message/001_ssh_msg_disconnect.rb +44 -0
  43. data/lib/hrr_rb_ssh/message/002_ssh_msg_ignore.rb +24 -0
  44. data/lib/hrr_rb_ssh/message/003_ssh_msg_unimplemented.rb +24 -0
  45. data/lib/hrr_rb_ssh/message/004_ssh_msg_debug.rb +26 -0
  46. data/lib/hrr_rb_ssh/message/005_ssh_msg_service_request.rb +24 -0
  47. data/lib/hrr_rb_ssh/message/006_ssh_msg_service_accept.rb +24 -0
  48. data/lib/hrr_rb_ssh/message/020_ssh_msg_kexinit.rb +51 -0
  49. data/lib/hrr_rb_ssh/message/021_ssh_msg_newkeys.rb +23 -0
  50. data/lib/hrr_rb_ssh/message/030_ssh_msg_kexdh_init.rb +24 -0
  51. data/lib/hrr_rb_ssh/message/031_ssh_msg_kexdh_reply.rb +26 -0
  52. data/lib/hrr_rb_ssh/message/050_ssh_msg_userauth_request.rb +58 -0
  53. data/lib/hrr_rb_ssh/message/051_ssh_msg_userauth_failure.rb +25 -0
  54. data/lib/hrr_rb_ssh/message/052_ssh_msg_userauth_success.rb +23 -0
  55. data/lib/hrr_rb_ssh/message/060_ssh_msg_userauth_pk_ok.rb +25 -0
  56. data/lib/hrr_rb_ssh/message/080_ssh_msg_global_request.rb +47 -0
  57. data/lib/hrr_rb_ssh/message/081_ssh_msg_request_success.rb +36 -0
  58. data/lib/hrr_rb_ssh/message/082_ssh_msg_request_failure.rb +23 -0
  59. data/lib/hrr_rb_ssh/message/090_ssh_msg_channel_open.rb +67 -0
  60. data/lib/hrr_rb_ssh/message/091_ssh_msg_channel_open_confirmation.rb +67 -0
  61. data/lib/hrr_rb_ssh/message/092_ssh_msg_channel_open_failure.rb +34 -0
  62. data/lib/hrr_rb_ssh/message/093_ssh_msg_channel_window_adjust.rb +25 -0
  63. data/lib/hrr_rb_ssh/message/094_ssh_msg_channel_data.rb +25 -0
  64. data/lib/hrr_rb_ssh/message/095_ssh_msg_channel_extended_data.rb +30 -0
  65. data/lib/hrr_rb_ssh/message/096_ssh_msg_channel_eof.rb +24 -0
  66. data/lib/hrr_rb_ssh/message/097_ssh_msg_channel_close.rb +24 -0
  67. data/lib/hrr_rb_ssh/message/098_ssh_msg_channel_request.rb +139 -0
  68. data/lib/hrr_rb_ssh/message/099_ssh_msg_channel_success.rb +24 -0
  69. data/lib/hrr_rb_ssh/message/100_ssh_msg_channel_failure.rb +24 -0
  70. data/lib/hrr_rb_ssh/message/codable.rb +67 -0
  71. data/lib/hrr_rb_ssh/message.rb +36 -0
  72. data/lib/hrr_rb_ssh/transport/compression_algorithm/none.rb +33 -0
  73. data/lib/hrr_rb_ssh/transport/compression_algorithm/zlib.rb +38 -0
  74. data/lib/hrr_rb_ssh/transport/compression_algorithm.rb +22 -0
  75. data/lib/hrr_rb_ssh/transport/constant.rb +11 -0
  76. data/lib/hrr_rb_ssh/transport/data_type.rb +163 -0
  77. data/lib/hrr_rb_ssh/transport/encryption_algorithm/aes_128_cbc.rb +73 -0
  78. data/lib/hrr_rb_ssh/transport/encryption_algorithm/none.rb +49 -0
  79. data/lib/hrr_rb_ssh/transport/encryption_algorithm.rb +22 -0
  80. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman.rb +129 -0
  81. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group14_sha1.rb +42 -0
  82. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group1_sha1.rb +34 -0
  83. data/lib/hrr_rb_ssh/transport/kex_algorithm.rb +22 -0
  84. data/lib/hrr_rb_ssh/transport/mac_algorithm/hmac_sha1.rb +45 -0
  85. data/lib/hrr_rb_ssh/transport/mac_algorithm/none.rb +40 -0
  86. data/lib/hrr_rb_ssh/transport/mac_algorithm.rb +22 -0
  87. data/lib/hrr_rb_ssh/transport/mode.rb +11 -0
  88. data/lib/hrr_rb_ssh/transport/receiver.rb +75 -0
  89. data/lib/hrr_rb_ssh/transport/sender.rb +57 -0
  90. data/lib/hrr_rb_ssh/transport/sequence_number.rb +22 -0
  91. data/lib/hrr_rb_ssh/transport/server_host_key_algorithm/ssh_rsa.rb +108 -0
  92. data/lib/hrr_rb_ssh/transport/server_host_key_algorithm.rb +21 -0
  93. data/lib/hrr_rb_ssh/transport.rb +459 -0
  94. data/lib/hrr_rb_ssh/version.rb +6 -0
  95. data/lib/hrr_rb_ssh.rb +13 -0
  96. metadata +193 -0
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hrr_rb_ssh
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - hirura
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-04-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: codeclimate-test-reporter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.0.8
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.0.8
69
+ description: SSH2 protocol implementation
70
+ email:
71
+ - hirura@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - ".rspec"
78
+ - ".travis.yml"
79
+ - CODE_OF_CONDUCT.md
80
+ - Gemfile
81
+ - LICENSE
82
+ - README.md
83
+ - Rakefile
84
+ - bin/console
85
+ - bin/setup
86
+ - demo/server.rb
87
+ - hrr_rb_ssh.gemspec
88
+ - lib/hrr_rb_ssh.rb
89
+ - lib/hrr_rb_ssh/authentication.rb
90
+ - lib/hrr_rb_ssh/authentication/authenticator.rb
91
+ - lib/hrr_rb_ssh/authentication/method.rb
92
+ - lib/hrr_rb_ssh/authentication/method/none.rb
93
+ - lib/hrr_rb_ssh/authentication/method/none/context.rb
94
+ - lib/hrr_rb_ssh/authentication/method/password.rb
95
+ - lib/hrr_rb_ssh/authentication/method/password/context.rb
96
+ - lib/hrr_rb_ssh/closed_authentication_error.rb
97
+ - lib/hrr_rb_ssh/closed_connection_error.rb
98
+ - lib/hrr_rb_ssh/closed_transport_error.rb
99
+ - lib/hrr_rb_ssh/compat.rb
100
+ - lib/hrr_rb_ssh/connection.rb
101
+ - lib/hrr_rb_ssh/connection/channel.rb
102
+ - lib/hrr_rb_ssh/connection/channel/proc_chain.rb
103
+ - lib/hrr_rb_ssh/connection/channel/proc_chain/chain_context.rb
104
+ - lib/hrr_rb_ssh/connection/channel/session.rb
105
+ - lib/hrr_rb_ssh/connection/channel/session/env.rb
106
+ - lib/hrr_rb_ssh/connection/channel/session/env/context.rb
107
+ - lib/hrr_rb_ssh/connection/channel/session/exec.rb
108
+ - lib/hrr_rb_ssh/connection/channel/session/exec/context.rb
109
+ - lib/hrr_rb_ssh/connection/channel/session/pty_req.rb
110
+ - lib/hrr_rb_ssh/connection/channel/session/pty_req/context.rb
111
+ - lib/hrr_rb_ssh/connection/channel/session/shell.rb
112
+ - lib/hrr_rb_ssh/connection/channel/session/shell/context.rb
113
+ - lib/hrr_rb_ssh/connection/channel/session/subsystem.rb
114
+ - lib/hrr_rb_ssh/connection/channel/session/subsystem/context.rb
115
+ - lib/hrr_rb_ssh/connection/request_handler.rb
116
+ - lib/hrr_rb_ssh/logger.rb
117
+ - lib/hrr_rb_ssh/message.rb
118
+ - lib/hrr_rb_ssh/message/001_ssh_msg_disconnect.rb
119
+ - lib/hrr_rb_ssh/message/002_ssh_msg_ignore.rb
120
+ - lib/hrr_rb_ssh/message/003_ssh_msg_unimplemented.rb
121
+ - lib/hrr_rb_ssh/message/004_ssh_msg_debug.rb
122
+ - lib/hrr_rb_ssh/message/005_ssh_msg_service_request.rb
123
+ - lib/hrr_rb_ssh/message/006_ssh_msg_service_accept.rb
124
+ - lib/hrr_rb_ssh/message/020_ssh_msg_kexinit.rb
125
+ - lib/hrr_rb_ssh/message/021_ssh_msg_newkeys.rb
126
+ - lib/hrr_rb_ssh/message/030_ssh_msg_kexdh_init.rb
127
+ - lib/hrr_rb_ssh/message/031_ssh_msg_kexdh_reply.rb
128
+ - lib/hrr_rb_ssh/message/050_ssh_msg_userauth_request.rb
129
+ - lib/hrr_rb_ssh/message/051_ssh_msg_userauth_failure.rb
130
+ - lib/hrr_rb_ssh/message/052_ssh_msg_userauth_success.rb
131
+ - lib/hrr_rb_ssh/message/060_ssh_msg_userauth_pk_ok.rb
132
+ - lib/hrr_rb_ssh/message/080_ssh_msg_global_request.rb
133
+ - lib/hrr_rb_ssh/message/081_ssh_msg_request_success.rb
134
+ - lib/hrr_rb_ssh/message/082_ssh_msg_request_failure.rb
135
+ - lib/hrr_rb_ssh/message/090_ssh_msg_channel_open.rb
136
+ - lib/hrr_rb_ssh/message/091_ssh_msg_channel_open_confirmation.rb
137
+ - lib/hrr_rb_ssh/message/092_ssh_msg_channel_open_failure.rb
138
+ - lib/hrr_rb_ssh/message/093_ssh_msg_channel_window_adjust.rb
139
+ - lib/hrr_rb_ssh/message/094_ssh_msg_channel_data.rb
140
+ - lib/hrr_rb_ssh/message/095_ssh_msg_channel_extended_data.rb
141
+ - lib/hrr_rb_ssh/message/096_ssh_msg_channel_eof.rb
142
+ - lib/hrr_rb_ssh/message/097_ssh_msg_channel_close.rb
143
+ - lib/hrr_rb_ssh/message/098_ssh_msg_channel_request.rb
144
+ - lib/hrr_rb_ssh/message/099_ssh_msg_channel_success.rb
145
+ - lib/hrr_rb_ssh/message/100_ssh_msg_channel_failure.rb
146
+ - lib/hrr_rb_ssh/message/codable.rb
147
+ - lib/hrr_rb_ssh/transport.rb
148
+ - lib/hrr_rb_ssh/transport/compression_algorithm.rb
149
+ - lib/hrr_rb_ssh/transport/compression_algorithm/none.rb
150
+ - lib/hrr_rb_ssh/transport/compression_algorithm/zlib.rb
151
+ - lib/hrr_rb_ssh/transport/constant.rb
152
+ - lib/hrr_rb_ssh/transport/data_type.rb
153
+ - lib/hrr_rb_ssh/transport/encryption_algorithm.rb
154
+ - lib/hrr_rb_ssh/transport/encryption_algorithm/aes_128_cbc.rb
155
+ - lib/hrr_rb_ssh/transport/encryption_algorithm/none.rb
156
+ - lib/hrr_rb_ssh/transport/kex_algorithm.rb
157
+ - lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman.rb
158
+ - lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group14_sha1.rb
159
+ - lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group1_sha1.rb
160
+ - lib/hrr_rb_ssh/transport/mac_algorithm.rb
161
+ - lib/hrr_rb_ssh/transport/mac_algorithm/hmac_sha1.rb
162
+ - lib/hrr_rb_ssh/transport/mac_algorithm/none.rb
163
+ - lib/hrr_rb_ssh/transport/mode.rb
164
+ - lib/hrr_rb_ssh/transport/receiver.rb
165
+ - lib/hrr_rb_ssh/transport/sender.rb
166
+ - lib/hrr_rb_ssh/transport/sequence_number.rb
167
+ - lib/hrr_rb_ssh/transport/server_host_key_algorithm.rb
168
+ - lib/hrr_rb_ssh/transport/server_host_key_algorithm/ssh_rsa.rb
169
+ - lib/hrr_rb_ssh/version.rb
170
+ homepage: https://github.com/hirura/hrr_rb_ssh
171
+ licenses: []
172
+ metadata: {}
173
+ post_install_message:
174
+ rdoc_options: []
175
+ require_paths:
176
+ - lib
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 2.7.6
190
+ signing_key:
191
+ specification_version: 4
192
+ summary: SSH2 protocol implementation
193
+ test_files: []