#[repr(C)]
pub struct esp_mqtt_client_config_t_broker_t_verification_t { pub use_global_ca_store: bool, pub crt_bundle_attach: Option<unsafe extern "C" fn(_: *mut c_void) -> i32>, pub certificate: *const i8, pub certificate_len: usize, pub psk_hint_key: *const psk_key_hint, pub skip_cert_common_name_check: bool, pub alpn_protos: *mut *const i8, pub common_name: *const i8, }
Expand description

Broker identity verification

If fields are not set broker’s identity isn’t verified. it’s recommended to set the options in this struct for security reasons.

Fields§

§use_global_ca_store: bool

< Use a global ca_store, look esp-tls documentation for details.

§crt_bundle_attach: Option<unsafe extern "C" fn(_: *mut c_void) -> i32>

< Pointer to ESP x509 Certificate Bundle attach function for the usage of certificate bundles. Client only attach the bundle, the clean up must be done by the user.

§certificate: *const i8

< Certificate data, default is NULL. It’s not copied nor freed by the client, user needs to clean up.

§certificate_len: usize

< Length of the buffer pointed to by certificate.

§psk_hint_key: *const psk_key_hint

< Pointer to PSK struct defined in esp_tls.h to enable PSK authentication (as alternative to certificate verification). PSK is enabled only if there are no other ways to verify broker. It’s not copied nor freed by the client, user needs to clean up.

§skip_cert_common_name_check: bool

< Skip any validation of server certificate CN field, this reduces the security of TLS and makes the MQTT client susceptible to MITM attacks

§alpn_protos: *mut *const i8

< NULL-terminated list of supported application protocols to be used for ALPN.

§common_name: *const i8

< Pointer to the string containing server certificate common name. If non-NULL, server certificate CN must match this name, If NULL, server certificate CN must match hostname. This is ignored if skip_cert_common_name_check=true. It’s not copied nor freed by the client, user needs to clean up.

Trait Implementations§

source§

impl Clone for esp_mqtt_client_config_t_broker_t_verification_t

source§

fn clone(&self) -> esp_mqtt_client_config_t_broker_t_verification_t

Returns a copy of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for esp_mqtt_client_config_t_broker_t_verification_t

source§

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

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

impl Default for esp_mqtt_client_config_t_broker_t_verification_t

source§

fn default() -> esp_mqtt_client_config_t_broker_t_verification_t

Returns the “default value” for a type. Read more
source§

impl Copy for esp_mqtt_client_config_t_broker_t_verification_t

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> CloneToUninit for T
where T: Copy,

§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.