hrr_rb_ssh 0.4.0.pre2 → 0.4.0.pre3
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.
- checksums.yaml +4 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2/ecdsa_signature_blob.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2/public_key_blob.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2/signature.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ecdsa_sha2.rb +6 -6
- data/lib/hrr_rb_ssh/algorithm/publickey/ssh_dss/public_key_blob.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ssh_dss/signature.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ssh_dss.rb +4 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ssh_rsa/public_key_blob.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ssh_rsa/signature.rb +2 -4
- data/lib/hrr_rb_ssh/algorithm/publickey/ssh_rsa.rb +4 -4
- data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive/info_request.rb +1 -1
- data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive/info_response.rb +1 -1
- data/lib/hrr_rb_ssh/authentication/method/keyboard_interactive.rb +3 -3
- data/lib/hrr_rb_ssh/authentication/method/none.rb +1 -1
- data/lib/hrr_rb_ssh/authentication/method/password.rb +1 -1
- data/lib/hrr_rb_ssh/authentication/method/publickey/algorithm/functionable.rb +2 -2
- data/lib/hrr_rb_ssh/authentication/method/publickey/algorithm/signature_blob.rb +2 -4
- data/lib/hrr_rb_ssh/authentication/method/publickey.rb +3 -3
- data/lib/hrr_rb_ssh/authentication.rb +4 -4
- data/lib/hrr_rb_ssh/codable.rb +11 -19
- data/lib/hrr_rb_ssh/connection/channel.rb +15 -15
- data/lib/hrr_rb_ssh/connection.rb +14 -14
- data/lib/hrr_rb_ssh/message/001_ssh_msg_disconnect.rb +2 -4
- data/lib/hrr_rb_ssh/message/002_ssh_msg_ignore.rb +2 -4
- data/lib/hrr_rb_ssh/message/003_ssh_msg_unimplemented.rb +2 -4
- data/lib/hrr_rb_ssh/message/004_ssh_msg_debug.rb +2 -4
- data/lib/hrr_rb_ssh/message/005_ssh_msg_service_request.rb +2 -4
- data/lib/hrr_rb_ssh/message/006_ssh_msg_service_accept.rb +2 -4
- data/lib/hrr_rb_ssh/message/020_ssh_msg_kexinit.rb +2 -4
- data/lib/hrr_rb_ssh/message/021_ssh_msg_newkeys.rb +2 -4
- data/lib/hrr_rb_ssh/message/030_ssh_msg_kex_dh_gex_request_old.rb +2 -4
- data/lib/hrr_rb_ssh/message/030_ssh_msg_kexdh_init.rb +2 -4
- data/lib/hrr_rb_ssh/message/030_ssh_msg_kexecdh_init.rb +2 -4
- data/lib/hrr_rb_ssh/message/031_ssh_msg_kex_dh_gex_group.rb +2 -4
- data/lib/hrr_rb_ssh/message/031_ssh_msg_kexdh_reply.rb +2 -4
- data/lib/hrr_rb_ssh/message/031_ssh_msg_kexecdh_reply.rb +2 -4
- data/lib/hrr_rb_ssh/message/032_ssh_msg_kex_dh_gex_init.rb +2 -4
- data/lib/hrr_rb_ssh/message/033_ssh_msg_kex_dh_gex_reply.rb +2 -4
- data/lib/hrr_rb_ssh/message/034_ssh_msg_kex_dh_gex_request.rb +2 -4
- data/lib/hrr_rb_ssh/message/050_ssh_msg_userauth_request.rb +2 -4
- data/lib/hrr_rb_ssh/message/051_ssh_msg_userauth_failure.rb +2 -4
- data/lib/hrr_rb_ssh/message/052_ssh_msg_userauth_success.rb +2 -4
- data/lib/hrr_rb_ssh/message/060_ssh_msg_userauth_info_request.rb +2 -4
- data/lib/hrr_rb_ssh/message/060_ssh_msg_userauth_pk_ok.rb +2 -4
- data/lib/hrr_rb_ssh/message/061_ssh_msg_userauth_info_response.rb +2 -4
- data/lib/hrr_rb_ssh/message/080_ssh_msg_global_request.rb +2 -4
- data/lib/hrr_rb_ssh/message/081_ssh_msg_request_success.rb +2 -4
- data/lib/hrr_rb_ssh/message/082_ssh_msg_request_failure.rb +2 -4
- data/lib/hrr_rb_ssh/message/090_ssh_msg_channel_open.rb +2 -4
- data/lib/hrr_rb_ssh/message/091_ssh_msg_channel_open_confirmation.rb +2 -4
- data/lib/hrr_rb_ssh/message/092_ssh_msg_channel_open_failure.rb +2 -4
- data/lib/hrr_rb_ssh/message/093_ssh_msg_channel_window_adjust.rb +2 -4
- data/lib/hrr_rb_ssh/message/094_ssh_msg_channel_data.rb +2 -4
- data/lib/hrr_rb_ssh/message/095_ssh_msg_channel_extended_data.rb +2 -4
- data/lib/hrr_rb_ssh/message/096_ssh_msg_channel_eof.rb +2 -4
- data/lib/hrr_rb_ssh/message/097_ssh_msg_channel_close.rb +2 -4
- data/lib/hrr_rb_ssh/message/098_ssh_msg_channel_request.rb +2 -4
- data/lib/hrr_rb_ssh/message/099_ssh_msg_channel_success.rb +2 -4
- data/lib/hrr_rb_ssh/message/100_ssh_msg_channel_failure.rb +2 -4
- data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman/h0.rb +2 -4
- data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman.rb +5 -5
- data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group_exchange/h0.rb +2 -4
- data/lib/hrr_rb_ssh/transport/kex_algorithm/diffie_hellman_group_exchange.rb +9 -9
- data/lib/hrr_rb_ssh/transport/kex_algorithm/elliptic_curve_diffie_hellman/h0.rb +2 -4
- data/lib/hrr_rb_ssh/transport/kex_algorithm/elliptic_curve_diffie_hellman.rb +5 -5
- data/lib/hrr_rb_ssh/transport.rb +13 -13
- data/lib/hrr_rb_ssh/version.rb +1 -1
- metadata +1 -1
@@ -60,7 +60,7 @@ module HrrRbSsh
|
|
60
60
|
:'f' => @f,
|
61
61
|
:'k' => @shared_secret,
|
62
62
|
}
|
63
|
-
h0 = H0.
|
63
|
+
h0 = H0.new(logger: logger).encode h0_payload
|
64
64
|
h = OpenSSL::Digest.digest self.class::DIGEST, h0
|
65
65
|
end
|
66
66
|
|
@@ -70,7 +70,7 @@ module HrrRbSsh
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def receive_kexdh_init payload
|
73
|
-
Message::SSH_MSG_KEXDH_INIT.
|
73
|
+
Message::SSH_MSG_KEXDH_INIT.new(logger: logger).decode payload
|
74
74
|
end
|
75
75
|
|
76
76
|
def send_kexdh_reply transport
|
@@ -80,7 +80,7 @@ module HrrRbSsh
|
|
80
80
|
:'f' => @f,
|
81
81
|
:'signature of H' => sign(transport),
|
82
82
|
}
|
83
|
-
payload = Message::SSH_MSG_KEXDH_REPLY.
|
83
|
+
payload = Message::SSH_MSG_KEXDH_REPLY.new(logger: logger).encode message
|
84
84
|
transport.send payload
|
85
85
|
end
|
86
86
|
|
@@ -89,12 +89,12 @@ module HrrRbSsh
|
|
89
89
|
:'message number' => Message::SSH_MSG_KEXDH_INIT::VALUE,
|
90
90
|
:'e' => @e,
|
91
91
|
}
|
92
|
-
payload = Message::SSH_MSG_KEXDH_INIT.
|
92
|
+
payload = Message::SSH_MSG_KEXDH_INIT.new(logger: logger).encode message
|
93
93
|
transport.send payload
|
94
94
|
end
|
95
95
|
|
96
96
|
def receive_kexdh_reply payload
|
97
|
-
Message::SSH_MSG_KEXDH_REPLY.
|
97
|
+
Message::SSH_MSG_KEXDH_REPLY.new(logger: logger).decode payload
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
@@ -8,10 +8,8 @@ module HrrRbSsh
|
|
8
8
|
class Transport
|
9
9
|
class KexAlgorithm
|
10
10
|
module DiffieHellmanGroupExchange
|
11
|
-
|
12
|
-
|
13
|
-
include Codable
|
14
|
-
end
|
11
|
+
class H0
|
12
|
+
include Codable
|
15
13
|
DEFINITION = [
|
16
14
|
[DataType::String, :'V_C'],
|
17
15
|
[DataType::String, :'V_S'],
|
@@ -92,7 +92,7 @@ module HrrRbSsh
|
|
92
92
|
:'f' => @f,
|
93
93
|
:'k' => @shared_secret,
|
94
94
|
}
|
95
|
-
h0 = H0.
|
95
|
+
h0 = H0.new(logger: logger).encode h0_payload
|
96
96
|
h = OpenSSL::Digest.digest self.class::DIGEST, h0
|
97
97
|
end
|
98
98
|
|
@@ -102,7 +102,7 @@ module HrrRbSsh
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def receive_kex_dh_gex_request payload
|
105
|
-
Message::SSH_MSG_KEX_DH_GEX_REQUEST.
|
105
|
+
Message::SSH_MSG_KEX_DH_GEX_REQUEST.new(logger: logger).decode payload
|
106
106
|
end
|
107
107
|
|
108
108
|
def send_kex_dh_gex_group transport
|
@@ -111,12 +111,12 @@ module HrrRbSsh
|
|
111
111
|
:'p' => @p,
|
112
112
|
:'g' => @g,
|
113
113
|
}
|
114
|
-
payload = Message::SSH_MSG_KEX_DH_GEX_GROUP.
|
114
|
+
payload = Message::SSH_MSG_KEX_DH_GEX_GROUP.new(logger: logger).encode message
|
115
115
|
transport.send payload
|
116
116
|
end
|
117
117
|
|
118
118
|
def receive_kex_dh_gex_init payload
|
119
|
-
Message::SSH_MSG_KEX_DH_GEX_INIT.
|
119
|
+
Message::SSH_MSG_KEX_DH_GEX_INIT.new(logger: logger).decode payload
|
120
120
|
end
|
121
121
|
|
122
122
|
def send_kex_dh_gex_reply transport
|
@@ -126,7 +126,7 @@ module HrrRbSsh
|
|
126
126
|
:'f' => @f,
|
127
127
|
:'signature of H' => sign(transport),
|
128
128
|
}
|
129
|
-
payload = Message::SSH_MSG_KEX_DH_GEX_REPLY.
|
129
|
+
payload = Message::SSH_MSG_KEX_DH_GEX_REPLY.new(logger: logger).encode message
|
130
130
|
transport.send payload
|
131
131
|
end
|
132
132
|
|
@@ -137,12 +137,12 @@ module HrrRbSsh
|
|
137
137
|
:'n' => @n,
|
138
138
|
:'max' => @max,
|
139
139
|
}
|
140
|
-
payload = Message::SSH_MSG_KEX_DH_GEX_REQUEST.
|
140
|
+
payload = Message::SSH_MSG_KEX_DH_GEX_REQUEST.new(logger: logger).encode message
|
141
141
|
transport.send payload
|
142
142
|
end
|
143
143
|
|
144
144
|
def receive_kex_dh_gex_group payload
|
145
|
-
Message::SSH_MSG_KEX_DH_GEX_GROUP.
|
145
|
+
Message::SSH_MSG_KEX_DH_GEX_GROUP.new(logger: logger).decode payload
|
146
146
|
end
|
147
147
|
|
148
148
|
def send_kex_dh_gex_init transport
|
@@ -150,12 +150,12 @@ module HrrRbSsh
|
|
150
150
|
:'message number' => Message::SSH_MSG_KEX_DH_GEX_INIT::VALUE,
|
151
151
|
:'e' => @e,
|
152
152
|
}
|
153
|
-
payload = Message::SSH_MSG_KEX_DH_GEX_INIT.
|
153
|
+
payload = Message::SSH_MSG_KEX_DH_GEX_INIT.new(logger: logger).encode message
|
154
154
|
transport.send payload
|
155
155
|
end
|
156
156
|
|
157
157
|
def receive_kex_dh_gex_reply payload
|
158
|
-
Message::SSH_MSG_KEX_DH_GEX_REPLY.
|
158
|
+
Message::SSH_MSG_KEX_DH_GEX_REPLY.new(logger: logger).decode payload
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
@@ -8,10 +8,8 @@ module HrrRbSsh
|
|
8
8
|
class Transport
|
9
9
|
class KexAlgorithm
|
10
10
|
module EllipticCurveDiffieHellman
|
11
|
-
|
12
|
-
|
13
|
-
include Codable
|
14
|
-
end
|
11
|
+
class H0
|
12
|
+
include Codable
|
15
13
|
DEFINITION = [
|
16
14
|
[DataType::String, :'V_C'],
|
17
15
|
[DataType::String, :'V_S'],
|
@@ -54,7 +54,7 @@ module HrrRbSsh
|
|
54
54
|
:'Q_S' => @q_s,
|
55
55
|
:'K' => @shared_secret,
|
56
56
|
}
|
57
|
-
h0 = H0.
|
57
|
+
h0 = H0.new(logger: logger).encode h0_payload
|
58
58
|
h = OpenSSL::Digest.digest self.class::DIGEST, h0
|
59
59
|
end
|
60
60
|
|
@@ -64,7 +64,7 @@ module HrrRbSsh
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def receive_kexecdh_init payload
|
67
|
-
Message::SSH_MSG_KEXECDH_INIT.
|
67
|
+
Message::SSH_MSG_KEXECDH_INIT.new(logger: logger).decode payload
|
68
68
|
end
|
69
69
|
|
70
70
|
def send_kexecdh_reply transport
|
@@ -74,7 +74,7 @@ module HrrRbSsh
|
|
74
74
|
:'Q_S' => @q_s,
|
75
75
|
:'signature of H' => sign(transport),
|
76
76
|
}
|
77
|
-
payload = Message::SSH_MSG_KEXECDH_REPLY.
|
77
|
+
payload = Message::SSH_MSG_KEXECDH_REPLY.new(logger: logger).encode message
|
78
78
|
transport.send payload
|
79
79
|
end
|
80
80
|
|
@@ -83,12 +83,12 @@ module HrrRbSsh
|
|
83
83
|
:'message number' => Message::SSH_MSG_KEXECDH_INIT::VALUE,
|
84
84
|
:'Q_C' => @q_c,
|
85
85
|
}
|
86
|
-
payload = Message::SSH_MSG_KEXECDH_INIT.
|
86
|
+
payload = Message::SSH_MSG_KEXECDH_INIT.new(logger: logger).encode message
|
87
87
|
transport.send payload
|
88
88
|
end
|
89
89
|
|
90
90
|
def receive_kexecdh_reply payload
|
91
|
-
Message::SSH_MSG_KEXECDH_REPLY.
|
91
|
+
Message::SSH_MSG_KEXECDH_REPLY.new(logger: logger).decode payload
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
data/lib/hrr_rb_ssh/transport.rb
CHANGED
@@ -110,21 +110,21 @@ module HrrRbSsh
|
|
110
110
|
payload = @receiver.receive self
|
111
111
|
case payload[0,1].unpack("C")[0]
|
112
112
|
when Message::SSH_MSG_DISCONNECT::VALUE
|
113
|
-
message = Message::SSH_MSG_DISCONNECT.
|
113
|
+
message = Message::SSH_MSG_DISCONNECT.new(logger: logger).decode payload
|
114
114
|
log_debug { "received disconnect message: #{message.inspect}" }
|
115
115
|
@disconnected = true
|
116
116
|
close
|
117
117
|
raise Error::ClosedTransport
|
118
118
|
when Message::SSH_MSG_IGNORE::VALUE
|
119
|
-
message = Message::SSH_MSG_IGNORE.
|
119
|
+
message = Message::SSH_MSG_IGNORE.new(logger: logger).decode payload
|
120
120
|
log_debug { "received ignore message: #{message.inspect}" }
|
121
121
|
receive
|
122
122
|
when Message::SSH_MSG_UNIMPLEMENTED::VALUE
|
123
|
-
message = Message::SSH_MSG_UNIMPLEMENTED.
|
123
|
+
message = Message::SSH_MSG_UNIMPLEMENTED.new(logger: logger).decode payload
|
124
124
|
log_debug { "received unimplemented message: #{message.inspect}" }
|
125
125
|
receive
|
126
126
|
when Message::SSH_MSG_DEBUG::VALUE
|
127
|
-
message = Message::SSH_MSG_DEBUG.
|
127
|
+
message = Message::SSH_MSG_DEBUG.new(logger: logger).decode payload
|
128
128
|
log_debug { "received debug message: #{message.inspect}" }
|
129
129
|
receive
|
130
130
|
when Message::SSH_MSG_KEXINIT::VALUE
|
@@ -347,7 +347,7 @@ module HrrRbSsh
|
|
347
347
|
:'description' => "disconnected by user",
|
348
348
|
:'language tag' => ""
|
349
349
|
}
|
350
|
-
payload = Message::SSH_MSG_DISCONNECT.
|
350
|
+
payload = Message::SSH_MSG_DISCONNECT.new(logger: logger).encode message
|
351
351
|
send payload
|
352
352
|
end
|
353
353
|
|
@@ -368,7 +368,7 @@ module HrrRbSsh
|
|
368
368
|
:'first_kex_packet_follows' => false,
|
369
369
|
:'0 (reserved for future extension)' => 0,
|
370
370
|
}
|
371
|
-
payload = Message::SSH_MSG_KEXINIT.
|
371
|
+
payload = Message::SSH_MSG_KEXINIT.new(logger: logger).encode message
|
372
372
|
send payload
|
373
373
|
|
374
374
|
case @mode
|
@@ -386,7 +386,7 @@ module HrrRbSsh
|
|
386
386
|
when Mode::CLIENT
|
387
387
|
@i_s = payload
|
388
388
|
end
|
389
|
-
message = Message::SSH_MSG_KEXINIT.
|
389
|
+
message = Message::SSH_MSG_KEXINIT.new(logger: logger).decode payload
|
390
390
|
update_remote_algorithms message
|
391
391
|
end
|
392
392
|
|
@@ -394,12 +394,12 @@ module HrrRbSsh
|
|
394
394
|
message = {
|
395
395
|
:'message number' => Message::SSH_MSG_NEWKEYS::VALUE,
|
396
396
|
}
|
397
|
-
payload = Message::SSH_MSG_NEWKEYS.
|
397
|
+
payload = Message::SSH_MSG_NEWKEYS.new(logger: logger).encode message
|
398
398
|
send payload
|
399
399
|
end
|
400
400
|
|
401
401
|
def receive_newkeys payload
|
402
|
-
message = Message::SSH_MSG_NEWKEYS.
|
402
|
+
message = Message::SSH_MSG_NEWKEYS.new(logger: logger).decode payload
|
403
403
|
end
|
404
404
|
|
405
405
|
def send_service_request
|
@@ -407,16 +407,16 @@ module HrrRbSsh
|
|
407
407
|
:'message number' => Message::SSH_MSG_SERVICE_REQUEST::VALUE,
|
408
408
|
:'service name' => 'ssh-userauth',
|
409
409
|
}
|
410
|
-
payload = Message::SSH_MSG_SERVICE_REQUEST.
|
410
|
+
payload = Message::SSH_MSG_SERVICE_REQUEST.new(logger: logger).encode message
|
411
411
|
send payload
|
412
412
|
|
413
413
|
payload = @receiver.receive self
|
414
|
-
message = Message::SSH_MSG_SERVICE_ACCEPT.
|
414
|
+
message = Message::SSH_MSG_SERVICE_ACCEPT.new(logger: logger).decode payload
|
415
415
|
end
|
416
416
|
|
417
417
|
def receive_service_request
|
418
418
|
payload = @receiver.receive self
|
419
|
-
message = Message::SSH_MSG_SERVICE_REQUEST.
|
419
|
+
message = Message::SSH_MSG_SERVICE_REQUEST.new(logger: logger).decode payload
|
420
420
|
|
421
421
|
message
|
422
422
|
end
|
@@ -426,7 +426,7 @@ module HrrRbSsh
|
|
426
426
|
:'message number' => Message::SSH_MSG_SERVICE_ACCEPT::VALUE,
|
427
427
|
:'service name' => service_name,
|
428
428
|
}
|
429
|
-
payload = Message::SSH_MSG_SERVICE_ACCEPT.
|
429
|
+
payload = Message::SSH_MSG_SERVICE_ACCEPT.new(logger: logger).encode message
|
430
430
|
send payload
|
431
431
|
end
|
432
432
|
|
data/lib/hrr_rb_ssh/version.rb
CHANGED