Skip to main content

LibraryConfig

Struct LibraryConfig 

Source
pub struct LibraryConfig {
    pub profile: Profile,
    pub policy: SecurityPolicy,
}
Expand description

Top-level NoxTLS library configuration: active profile and effective security policy.

Fields§

§profile: Profile

Selected feature profile for TLS/DTLS and crypto surface area.

§policy: SecurityPolicy

Security policy flags validated together with profile.

Implementations§

Source§

impl LibraryConfig

Source

pub fn compiled() -> Result<Self>

Builds the default LibraryConfig using compile-time policy flags and validates it.

§Arguments

This function takes no parameters.

§Returns

On success, a configuration with Profile::Default and SecurityPolicy::compiled.

§Errors

Propagates Error::UnsupportedFeature from SecurityPolicy::validate when the compiled policy is invalid.

§Panics

This function does not panic.

Source

pub fn validate(self) -> Result<()>

Validates the profile and nested security policy together.

§Arguments
  • self — Library configuration to check.
§Returns

Ok(()) when the configuration is consistent.

§Errors

Returns the same errors as SecurityPolicy::validate when policy invariants fail.

§Panics

This function does not panic.

Source

pub fn from_mbedtls_style_str(input: &str) -> Result<Self>

Parses mbedTLS-style #define configuration text into a LibraryConfig.

Recognized profile symbols (at most one may appear): NOXTLS_PROFILE_DEFAULT, NOXTLS_PROFILE_MINIMAL_TLS_CLIENT, NOXTLS_PROFILE_TLS_SERVER_PKI, NOXTLS_PROFILE_CRYPTO_ONLY, NOXTLS_PROFILE_FIPS_LIKE, NOXTLS_PROFILE_UT_ALL_FEATURES. Policy symbols: NOXTLS_STRICT_CONSTANT_TIME, NOXTLS_ALLOW_LEGACY_ALGORITHMS, NOXTLS_ALLOW_SHA1_SIGNATURES. Lines may include // or /* inline comments.

§Arguments
  • input — Full configuration text scanned line-by-line for supported #define directives.
§Returns

On success, a validated configuration; if no profile symbol is present, Profile::Default is used.

§Errors

Returns Error::ParseFailure for duplicate profiles, unknown symbols, or malformed #define lines.

Returns Error::UnsupportedFeature when parsed policy violates the same rules as SecurityPolicy::validate.

§Panics

This function does not panic.

Source

pub fn from_mbedtls_style_file(path: &Path) -> Result<Self>

Reads a file from disk and parses it with LibraryConfig::from_mbedtls_style_str.

§Arguments
  • path — Filesystem path to a UTF-8 text file containing mbedTLS-style #define lines.
§Returns

On success, the parsed and validated LibraryConfig.

§Errors

Returns Error::ParseFailure when the file cannot be read as UTF-8 or when text parsing fails.

Returns Error::UnsupportedFeature when parsed policy fails validation.

§Panics

This function does not panic.

Trait Implementations§

Source§

impl Clone for LibraryConfig

Source§

fn clone(&self) -> LibraryConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for LibraryConfig

Source§

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

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

impl PartialEq for LibraryConfig

Source§

fn eq(&self, other: &LibraryConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Copy for LibraryConfig

Source§

impl Eq for LibraryConfig

Source§

impl StructuralPartialEq for LibraryConfig

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

Uses borrowed data to replace owned data, usually by cloning. Read more
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.