hrr_rb_ssh 0.3.0.pre1 → 0.4.2

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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -3
  3. data/.travis.yml +1 -0
  4. data/README.md +208 -46
  5. data/demo/client.rb +71 -0
  6. data/demo/echo_server.rb +8 -3
  7. data/demo/more_flexible_auth.rb +105 -0
  8. data/demo/multi_step_auth.rb +99 -0
  9. data/demo/server.rb +10 -4
  10. data/demo/subsystem_echo_server.rb +8 -3
  11. data/hrr_rb_ssh.gemspec +6 -6
  12. data/lib/hrr_rb_ssh.rb +1 -1
  13. data/lib/hrr_rb_ssh/algorithm/publickey.rb +0 -1
  14. data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2.rb +12 -9
  15. data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2/ecdsa_signature_blob.rb +2 -4
  16. data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2/public_key_blob.rb +2 -4
  17. data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2/signature.rb +2 -4
  18. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_dss.rb +10 -7
  19. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_dss/public_key_blob.rb +2 -4
  20. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_dss/signature.rb +2 -4
  21. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_rsa.rb +9 -6
  22. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_rsa/public_key_blob.rb +2 -4
  23. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_rsa/signature.rb +2 -4
  24. data/lib/hrr_rb_ssh/authentication.rb +103 -22
  25. data/lib/hrr_rb_ssh/authentication/constant.rb +14 -0
  26. data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive.rb +44 -7
  27. data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive/context.rb +16 -9
  28. data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive/info_request.rb +7 -6
  29. data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive/info_response.rb +5 -2
  30. data/lib/hrr_rb_ssh/authentication/method/none.rb +23 -7
  31. data/lib/hrr_rb_ssh/authentication/method/none/context.rb +15 -7
  32. data/lib/hrr_rb_ssh/authentication/method/password.rb +28 -7
  33. data/lib/hrr_rb_ssh/authentication/method/password/context.rb +16 -7
  34. data/lib/hrr_rb_ssh/authentication/method/publickey.rb +63 -10
  35. data/lib/hrr_rb_ssh/authentication/method/publickey/algorithm.rb +0 -1
  36. data/lib/hrr_rb_ssh/authentication/method/publickey/algorithm/functionable.rb +32 -8
  37. data/lib/hrr_rb_ssh/authentication/method/publickey/algorithm/signature_blob.rb +2 -4
  38. data/lib/hrr_rb_ssh/authentication/method/publickey/context.rb +11 -2
  39. data/lib/hrr_rb_ssh/client.rb +234 -0
  40. data/lib/hrr_rb_ssh/codable.rb +15 -13
  41. data/lib/hrr_rb_ssh/compat/ruby.rb +0 -1
  42. data/lib/hrr_rb_ssh/connection.rb +145 -75
  43. data/lib/hrr_rb_ssh/connection/channel.rb +342 -109
  44. data/lib/hrr_rb_ssh/connection/channel/channel_type/direct_tcpip.rb +24 -19
  45. data/lib/hrr_rb_ssh/connection/channel/channel_type/forwarded_tcpip.rb +24 -19
  46. data/lib/hrr_rb_ssh/connection/channel/channel_type/session.rb +19 -12
  47. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/proc_chain.rb +0 -2
  48. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/proc_chain/chain_context.rb +0 -3
  49. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/env.rb +2 -5
  50. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/env/context.rb +5 -4
  51. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/exec.rb +2 -5
  52. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/exec/context.rb +5 -4
  53. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/pty_req.rb +2 -5
  54. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/pty_req/context.rb +5 -4
  55. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/shell.rb +2 -5
  56. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/shell/context.rb +5 -4
  57. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/subsystem.rb +2 -5
  58. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/subsystem/context.rb +5 -4
  59. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/window_change.rb +2 -5
  60. data/lib/hrr_rb_ssh/connection/channel/channel_type/session/request_type/window_change/context.rb +5 -4
  61. data/lib/hrr_rb_ssh/connection/global_request_handler.rb +14 -12
  62. data/lib/hrr_rb_ssh/connection/request_handler.rb +1 -3
  63. data/lib/hrr_rb_ssh/connection/request_handler/reference_env_request_handler.rb +0 -2
  64. data/lib/hrr_rb_ssh/connection/request_handler/reference_exec_request_handler.rb +4 -6
  65. data/lib/hrr_rb_ssh/connection/request_handler/reference_pty_req_request_handler.rb +10 -12
  66. data/lib/hrr_rb_ssh/connection/request_handler/reference_shell_request_handler.rb +4 -6
  67. data/lib/hrr_rb_ssh/connection/request_handler/reference_window_change_request_handler.rb +0 -2
  68. data/lib/hrr_rb_ssh/error/closed_authentication.rb +1 -1
  69. data/lib/hrr_rb_ssh/error/closed_connection.rb +1 -1
  70. data/lib/hrr_rb_ssh/error/closed_transport.rb +1 -1
  71. data/lib/hrr_rb_ssh/loggable.rb +42 -0
  72. data/lib/hrr_rb_ssh/message/001_ssh_msg_disconnect.rb +2 -4
  73. data/lib/hrr_rb_ssh/message/002_ssh_msg_ignore.rb +2 -4
  74. data/lib/hrr_rb_ssh/message/003_ssh_msg_unimplemented.rb +2 -4
  75. data/lib/hrr_rb_ssh/message/004_ssh_msg_debug.rb +2 -4
  76. data/lib/hrr_rb_ssh/message/005_ssh_msg_service_request.rb +2 -4
  77. data/lib/hrr_rb_ssh/message/006_ssh_msg_service_accept.rb +2 -4
  78. data/lib/hrr_rb_ssh/message/020_ssh_msg_kexinit.rb +2 -4
  79. data/lib/hrr_rb_ssh/message/021_ssh_msg_newkeys.rb +2 -4
  80. data/lib/hrr_rb_ssh/message/030_ssh_msg_kex_dh_gex_request_old.rb +2 -4
  81. data/lib/hrr_rb_ssh/message/030_ssh_msg_kexdh_init.rb +2 -4
  82. data/lib/hrr_rb_ssh/message/030_ssh_msg_kexecdh_init.rb +2 -4
  83. data/lib/hrr_rb_ssh/message/031_ssh_msg_kex_dh_gex_group.rb +2 -4
  84. data/lib/hrr_rb_ssh/message/031_ssh_msg_kexdh_reply.rb +2 -4
  85. data/lib/hrr_rb_ssh/message/031_ssh_msg_kexecdh_reply.rb +2 -4
  86. data/lib/hrr_rb_ssh/message/032_ssh_msg_kex_dh_gex_init.rb +2 -4
  87. data/lib/hrr_rb_ssh/message/033_ssh_msg_kex_dh_gex_reply.rb +2 -4
  88. data/lib/hrr_rb_ssh/message/034_ssh_msg_kex_dh_gex_request.rb +2 -4
  89. data/lib/hrr_rb_ssh/message/050_ssh_msg_userauth_request.rb +2 -4
  90. data/lib/hrr_rb_ssh/message/051_ssh_msg_userauth_failure.rb +2 -4
  91. data/lib/hrr_rb_ssh/message/052_ssh_msg_userauth_success.rb +2 -4
  92. data/lib/hrr_rb_ssh/message/060_ssh_msg_userauth_info_request.rb +2 -4
  93. data/lib/hrr_rb_ssh/message/060_ssh_msg_userauth_pk_ok.rb +2 -4
  94. data/lib/hrr_rb_ssh/message/061_ssh_msg_userauth_info_response.rb +2 -4
  95. data/lib/hrr_rb_ssh/message/080_ssh_msg_global_request.rb +2 -4
  96. data/lib/hrr_rb_ssh/message/081_ssh_msg_request_success.rb +2 -4
  97. data/lib/hrr_rb_ssh/message/082_ssh_msg_request_failure.rb +2 -4
  98. data/lib/hrr_rb_ssh/message/090_ssh_msg_channel_open.rb +2 -4
  99. data/lib/hrr_rb_ssh/message/091_ssh_msg_channel_open_confirmation.rb +2 -4
  100. data/lib/hrr_rb_ssh/message/092_ssh_msg_channel_open_failure.rb +2 -4
  101. data/lib/hrr_rb_ssh/message/093_ssh_msg_channel_window_adjust.rb +2 -4
  102. data/lib/hrr_rb_ssh/message/094_ssh_msg_channel_data.rb +2 -4
  103. data/lib/hrr_rb_ssh/message/095_ssh_msg_channel_extended_data.rb +2 -4
  104. data/lib/hrr_rb_ssh/message/096_ssh_msg_channel_eof.rb +2 -4
  105. data/lib/hrr_rb_ssh/message/097_ssh_msg_channel_close.rb +2 -4
  106. data/lib/hrr_rb_ssh/message/098_ssh_msg_channel_request.rb +3 -5
  107. data/lib/hrr_rb_ssh/message/099_ssh_msg_channel_success.rb +2 -4
  108. data/lib/hrr_rb_ssh/message/100_ssh_msg_channel_failure.rb +2 -4
  109. data/lib/hrr_rb_ssh/server.rb +16 -10
  110. data/lib/hrr_rb_ssh/transport.rb +113 -77
  111. data/lib/hrr_rb_ssh/transport/compression_algorithm/functionable.rb +5 -3
  112. data/lib/hrr_rb_ssh/transport/compression_algorithm/unfunctionable.rb +5 -3
  113. data/lib/hrr_rb_ssh/transport/encryption_algorithm/functionable.rb +5 -3
  114. data/lib/hrr_rb_ssh/transport/encryption_algorithm/unfunctionable.rb +5 -3
  115. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman.rb +43 -37
  116. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman/h0.rb +2 -4
  117. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group_exchange.rb +87 -52
  118. data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group_exchange/h0.rb +2 -4
  119. data/lib/hrr_rb_ssh/transport/kex_algorithm/elliptic_curve_diffie_hellman.rb +43 -37
  120. data/lib/hrr_rb_ssh/transport/kex_algorithm/elliptic_curve_diffie_hellman/h0.rb +2 -4
  121. data/lib/hrr_rb_ssh/transport/mac_algorithm/functionable.rb +5 -3
  122. data/lib/hrr_rb_ssh/transport/mac_algorithm/unfunctionable.rb +5 -3
  123. data/lib/hrr_rb_ssh/transport/receiver.rb +8 -7
  124. data/lib/hrr_rb_ssh/transport/sender.rb +5 -3
  125. data/lib/hrr_rb_ssh/transport/sequence_number.rb +0 -4
  126. data/lib/hrr_rb_ssh/transport/server_host_key_algorithm.rb +0 -1
  127. data/lib/hrr_rb_ssh/transport/server_host_key_algorithm/functionable.rb +5 -3
  128. data/lib/hrr_rb_ssh/version.rb +1 -1
  129. metadata +18 -51
  130. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_ed25519.rb +0 -61
  131. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_ed25519/openssh_private_key.rb +0 -29
  132. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_ed25519/openssh_private_key_content.rb +0 -26
  133. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_ed25519/pkey.rb +0 -158
  134. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_ed25519/public_key_blob.rb +0 -23
  135. data/lib/hrr_rb_ssh/algorithm/publickey/ssh_ed25519/signature.rb +0 -23
  136. data/lib/hrr_rb_ssh/authentication/method/publickey/algorithm/ssh_ed25519.rb +0 -21
  137. data/lib/hrr_rb_ssh/compat/ruby/array.rb +0 -14
  138. data/lib/hrr_rb_ssh/logger.rb +0 -56
  139. data/lib/hrr_rb_ssh/transport/server_host_key_algorithm/ssh_ed25519.rb +0 -20
@@ -3,7 +3,7 @@
3
3
 
4
4
  module HrrRbSsh
5
5
  class Error
6
- class ClosedAuthentication < Error
6
+ class ClosedAuthentication < StandardError
7
7
  end
8
8
  end
9
9
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module HrrRbSsh
5
5
  class Error
6
- class ClosedConnection < Error
6
+ class ClosedConnection < StandardError
7
7
  end
8
8
  end
9
9
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module HrrRbSsh
5
5
  class Error
6
- class ClosedTransport < Error
6
+ class ClosedTransport < StandardError
7
7
  end
8
8
  end
9
9
  end
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+ # vim: et ts=2 sw=2
3
+
4
+ module HrrRbSsh
5
+ module Loggable
6
+ attr_accessor :logger, :log_key
7
+
8
+ def log_fatal
9
+ if logger
10
+ logger.fatal(log_key){ yield }
11
+ end
12
+ end
13
+
14
+ def log_error
15
+ if logger
16
+ logger.error(log_key){ yield }
17
+ end
18
+ end
19
+
20
+ def log_warn
21
+ if logger
22
+ logger.warn(log_key){ yield }
23
+ end
24
+ end
25
+
26
+ def log_info
27
+ if logger
28
+ logger.info(log_key){ yield }
29
+ end
30
+ end
31
+
32
+ def log_debug
33
+ if logger
34
+ logger.debug(log_key){ yield }
35
+ end
36
+ end
37
+
38
+ def log_key
39
+ @log_key ||= self.class.to_s + "[%x]" % object_id
40
+ end
41
+ end
42
+ end
@@ -6,7 +6,7 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_DISCONNECT
9
+ class SSH_MSG_DISCONNECT
10
10
  module ReasonCode
11
11
  SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT = 1
12
12
  SSH_DISCONNECT_PROTOCOL_ERROR = 2
@@ -25,9 +25,7 @@ module HrrRbSsh
25
25
  SSH_DISCONNECT_ILLEGAL_USER_NAME = 15
26
26
  end
27
27
 
28
- class << self
29
- include Codable
30
- end
28
+ include Codable
31
29
 
32
30
  ID = self.name.split('::').last
33
31
  VALUE = 1
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_IGNORE
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_IGNORE
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 2
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_UNIMPLEMENTED
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_UNIMPLEMENTED
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 3
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_DEBUG
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_DEBUG
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 4
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_SERVICE_REQUEST
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_SERVICE_REQUEST
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 5
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_SERVICE_ACCEPT
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_SERVICE_ACCEPT
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 6
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEXINIT
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEXINIT
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 20
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_NEWKEYS
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_NEWKEYS
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 21
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEX_DH_GEX_REQUEST_OLD
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEX_DH_GEX_REQUEST_OLD
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 30
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEXDH_INIT
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEXDH_INIT
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 30
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEXECDH_INIT
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEXECDH_INIT
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 30
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEX_DH_GEX_GROUP
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEX_DH_GEX_GROUP
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 31
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEXDH_REPLY
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEXDH_REPLY
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 31
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEXECDH_REPLY
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEXECDH_REPLY
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 31
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEX_DH_GEX_INIT
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEX_DH_GEX_INIT
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 32
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEX_DH_GEX_REPLY
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEX_DH_GEX_REPLY
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 33
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_KEX_DH_GEX_REQUEST
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_KEX_DH_GEX_REQUEST
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 34
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_USERAUTH_REQUEST
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_USERAUTH_REQUEST
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 50
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_USERAUTH_FAILURE
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_USERAUTH_FAILURE
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 51
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_USERAUTH_SUCCESS
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_USERAUTH_SUCCESS
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 52
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_USERAUTH_INFO_REQUEST
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_USERAUTH_INFO_REQUEST
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 60
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_USERAUTH_PK_OK
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_USERAUTH_PK_OK
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 60
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_USERAUTH_INFO_RESPONSE
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_USERAUTH_INFO_RESPONSE
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 61
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_GLOBAL_REQUEST
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_GLOBAL_REQUEST
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 80
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_REQUEST_SUCCESS
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_REQUEST_SUCCESS
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 81
@@ -6,10 +6,8 @@ require 'hrr_rb_ssh/codable'
6
6
 
7
7
  module HrrRbSsh
8
8
  module Message
9
- module SSH_MSG_REQUEST_FAILURE
10
- class << self
11
- include Codable
12
- end
9
+ class SSH_MSG_REQUEST_FAILURE
10
+ include Codable
13
11
 
14
12
  ID = self.name.split('::').last
15
13
  VALUE = 82