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§
§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§
Source§impl<'a> SshPacketKeyExchange<'a>
impl<'a> SshPacketKeyExchange<'a>
pub fn get_kex_algs(&self) -> Result<Vec<&str>, Err<Error<&[u8]>>>
pub fn get_server_host_key_algs(&self) -> Result<Vec<&str>, Err<Error<&[u8]>>>
pub fn get_encr_algs_client_to_server( &self, ) -> Result<Vec<&str>, Err<Error<&[u8]>>>
pub fn get_encr_algs_server_to_client( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
pub fn get_mac_algs_client_to_server( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
pub fn get_mac_algs_server_to_client( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
pub fn get_comp_algs_client_to_server( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
pub fn get_comp_algs_server_to_client( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
pub fn get_langs_client_to_server( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
pub fn get_langs_server_to_client( &self, ) -> Result<Vec<&str>, Err<Error<&'a [u8]>>>
Trait Implementations§
Source§impl<'a> Debug for SshPacketKeyExchange<'a>
impl<'a> Debug for SshPacketKeyExchange<'a>
Source§impl<'a> PartialEq for SshPacketKeyExchange<'a>
impl<'a> PartialEq for SshPacketKeyExchange<'a>
impl<'a> StructuralPartialEq for SshPacketKeyExchange<'a>
Auto Trait Implementations§
impl<'a> Freeze for SshPacketKeyExchange<'a>
impl<'a> RefUnwindSafe for SshPacketKeyExchange<'a>
impl<'a> Send for SshPacketKeyExchange<'a>
impl<'a> Sync for SshPacketKeyExchange<'a>
impl<'a> Unpin for SshPacketKeyExchange<'a>
impl<'a> UnwindSafe for SshPacketKeyExchange<'a>
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