Skip to content

Commit 6379b47

Browse files
committed
use filtered_host_key_algs in server.ml
1 parent b08a514 commit 6379b47

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

lib/server.ml

+9-8
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ let guard_msg t msg =
6060
let msgid = message_to_id msg in
6161
guard (id = msgid) ("Unexpected message " ^ string_of_int (message_id_to_int msgid))
6262

63+
let host_key_algs key =
64+
List.filter Hostkey.(alg_matches (priv_to_typ key)) Hostkey.preferred_algs
65+
6366
let make host_key user_db =
6467
let open Ssh in
6568
let server_kexinit =
66-
let algs =
67-
List.filter Hostkey.(alg_matches (priv_to_typ host_key))
68-
Hostkey.preferred_algs
69-
in
69+
let algs = host_key_algs host_key in
7070
Kex.make_kexinit algs Kex.server_supported ()
7171
in
7272
let banner_msg = Ssh.Msg_version version_banner in
@@ -112,7 +112,8 @@ let rekey t =
112112
match t.keying, (Kex.is_keyed t.keys_stoc) with
113113
| false, true -> (* can't be keying and must be keyed *)
114114
let server_kexinit =
115-
Kex.make_kexinit Hostkey.preferred_algs Kex.server_supported ()
115+
let algs = host_key_algs t.host_key in
116+
Kex.make_kexinit algs Kex.server_supported ()
116117
in
117118
let t = { t with server_kexinit; keying = true } in
118119
Some (t, Ssh.Msg_kexinit server_kexinit)
@@ -343,13 +344,13 @@ let input_msg t msg now =
343344
expect = Some MSG_NEWKEYS }
344345
([ Msg_kexdh_reply (pub_host_key, f, signature); Msg_newkeys ] @ (
345346
if t.ext_info then
346-
let preferred_algs =
347+
let algs =
347348
String.concat ","
348-
(List.map Hostkey.alg_to_string Hostkey.preferred_algs);
349+
(List.map Hostkey.alg_to_string (host_key_algs t.host_key));
349350
in
350351
let extensions =
351352
[Extension { name = "server-sig-algs";
352-
value = preferred_algs; }]
353+
value = algs; }]
353354
in
354355
[ Msg_ext_info extensions ]
355356
else []))

0 commit comments

Comments
 (0)