pub struct KexInit<'b> {
pub cookie: [u8; 16],
pub kex_algorithms: NameList<'b>,
pub server_host_key_algorithms: NameList<'b>,
pub encryption_algorithms_client_to_server: NameList<'b>,
pub encryption_algorithms_server_to_client: NameList<'b>,
pub mac_algorithms_client_to_server: NameList<'b>,
pub mac_algorithms_server_to_client: NameList<'b>,
pub compression_algorithms_client_to_server: NameList<'b>,
pub compression_algorithms_server_to_client: NameList<'b>,
pub languages_client_to_server: NameList<'b>,
pub languages_server_to_client: NameList<'b>,
pub first_kex_packet_follows: Bool,
}
Expand description
The SSH_MSG_KEXINIT
message.
see https://datatracker.ietf.org/doc/html/rfc4253#section-7.1.
Fields§
The kex-init cookie.
kex_algorithms: NameList<'b>
Kex algorithms.
server_host_key_algorithms: NameList<'b>
Server host-key algorithms.
encryption_algorithms_client_to_server: NameList<'b>
Client -> server encryption algorithms.
encryption_algorithms_server_to_client: NameList<'b>
Server -> client encryption algorithms.
mac_algorithms_client_to_server: NameList<'b>
Client -> server MAC algorithms.
mac_algorithms_server_to_client: NameList<'b>
Server -> client MAC algorithms.
compression_algorithms_client_to_server: NameList<'b>
Client -> server compression algorithms.
compression_algorithms_server_to_client: NameList<'b>
Server -> client compression algorithms.
languages_client_to_server: NameList<'b>
Client -> server languages.
languages_server_to_client: NameList<'b>
Server -> client languages.
first_kex_packet_follows: Bool
Whether the first kex packet follows.
Trait Implementations§
Source§impl<'b> BinRead for KexInit<'b>
impl<'b> BinRead for KexInit<'b>
Source§fn read_options<R: Read + Seek>(
__binrw_generated_var_reader: &mut R,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>,
) -> BinResult<Self>
fn read_options<R: Read + Seek>( __binrw_generated_var_reader: &mut R, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_>, ) -> BinResult<Self>
Source§fn read<R>(reader: &mut R) -> Result<Self, Error>
fn read<R>(reader: &mut R) -> Result<Self, Error>
Read
Self
from the reader using default arguments. Read moreSource§fn read_be<R>(reader: &mut R) -> Result<Self, Error>
fn read_be<R>(reader: &mut R) -> Result<Self, Error>
Read
Self
from the reader using default arguments and assuming
big-endian byte order. Read moreSource§fn read_le<R>(reader: &mut R) -> Result<Self, Error>
fn read_le<R>(reader: &mut R) -> Result<Self, Error>
Read
Self
from the reader using default arguments and assuming
little-endian byte order. Read moreSource§fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
Read
T
from the reader assuming native-endian byte order. Read moreSource§fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
Read
Self
from the reader using the given arguments. Read moreSource§fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
Read
Self
from the reader, assuming big-endian byte order, using the
given arguments. Read moreSource§impl<'b> BinWrite for KexInit<'b>
impl<'b> BinWrite for KexInit<'b>
Source§fn write_options<W: Write + Seek>(
&self,
__binrw_generated_var_writer: &mut W,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>,
) -> BinResult<()>
fn write_options<W: Write + Seek>( &self, __binrw_generated_var_writer: &mut W, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_>, ) -> BinResult<()>
Source§fn write<W>(&self, writer: &mut W) -> Result<(), Error>
fn write<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self
to the writer using default arguments. Read moreSource§fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self
to the writer assuming big-endian byte order. Read moreSource§fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self
to the writer assuming little-endian byte order. Read moreSource§fn write_args<W>(
&self,
writer: &mut W,
args: Self::Args<'_>,
) -> Result<(), Error>
fn write_args<W>( &self, writer: &mut W, args: Self::Args<'_>, ) -> Result<(), Error>
Write
Self
to the writer using the given arguments. Read moreSource§impl<'b> ReadEndian for KexInit<'b>
impl<'b> ReadEndian for KexInit<'b>
Source§const ENDIAN: EndianKind
const ENDIAN: EndianKind
The endianness of the type.
Source§impl<'b> WriteEndian for KexInit<'b>
impl<'b> WriteEndian for KexInit<'b>
Source§const ENDIAN: EndianKind
const ENDIAN: EndianKind
The endianness of the type.
Auto Trait Implementations§
impl<'b> Freeze for KexInit<'b>
impl<'b> RefUnwindSafe for KexInit<'b>
impl<'b> Send for KexInit<'b>
impl<'b> Sync for KexInit<'b>
impl<'b> Unpin for KexInit<'b>
impl<'b> UnwindSafe for KexInit<'b>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more