Struct SshPacketKeyExchange

Source
pub struct SshPacketKeyExchange<'a> {
    pub cookie: &'a [u8],
    pub kex_algs: &'a [u8],
    pub server_host_key_algs: &'a [u8],
    pub encr_algs_client_to_server: &'a [u8],
    pub encr_algs_server_to_client: &'a [u8],
    pub mac_algs_client_to_server: &'a [u8],
    pub mac_algs_server_to_client: &'a [u8],
    pub comp_algs_client_to_server: &'a [u8],
    pub comp_algs_server_to_client: &'a [u8],
    pub langs_client_to_server: &'a [u8],
    pub langs_server_to_client: &'a [u8],
    pub first_kex_packet_follows: bool,
}
Expand description

SSH Algorithm Negotiation

Defined in RFC4253 section 7.1.

This packet contains all information necessary to prepare the key exchange. The algorithms are UTF-8 strings in name lists. The order is significant with most preferred algorithms first. Parsing of lists is done only when the field are accessed though accessors (note that lists can be successfully extracted at the packet level but accessing them later can fail with a UTF-8 conversion error).

Fields§

§cookie: &'a [u8]§kex_algs: &'a [u8]§server_host_key_algs: &'a [u8]§encr_algs_client_to_server: &'a [u8]§encr_algs_server_to_client: &'a [u8]§mac_algs_client_to_server: &'a [u8]§mac_algs_server_to_client: &'a [u8]§comp_algs_client_to_server: &'a [u8]§comp_algs_server_to_client: &'a [u8]§langs_client_to_server: &'a [u8]§langs_server_to_client: &'a [u8]§first_kex_packet_follows: bool

Implementations§

Trait Implementations§

Source§

impl<'a> Debug for SshPacketKeyExchange<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> PartialEq for SshPacketKeyExchange<'a>

Source§

fn eq(&self, other: &SshPacketKeyExchange<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> StructuralPartialEq for SshPacketKeyExchange<'a>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.