negotiate

fnSshNegotiationResult negotiate(const SshKexInit client, const SshKexInit server) @safe

Negotiates algorithms from the client's and server's KEXINIT.

Selection walks the client's lists in order and picks the first entry the server also lists, skipping the RFC 8308 and strict-KEX indicator names in both lists.

Parameters

clientOur KEXINIT.
serverThe server's KEXINIT.

Returns

The selected algorithms plus signalling flags.

Throws

SshWireException when any category has no match; the

session disconnects in that case.