Skip to main content

OvpnMessage

Enum OvpnMessage 

Source
pub enum OvpnMessage {
    Success(String),
    Error(String),
    MultiLine(Vec<String>),
    SingleValue(String),
    Pkcs11IdEntry {
        index: String,
        id: String,
        blob: String,
    },
    Notification(Notification),
    Info(String),
    PasswordPrompt,
    Unrecognized {
        line: String,
        kind: UnrecognizedKind,
    },
}
Expand description

A fully decoded message from the OpenVPN management interface.

Variants§

§

Success(String)

A success response: SUCCESS: [text].

§

Error(String)

An error response: ERROR: [text].

§

MultiLine(Vec<String>)

A multi-line response block (from status, version, help, etc.). The terminating END line is consumed but not included.

§

SingleValue(String)

A single non-SUCCESS/ERROR value line (from bare hold, bare state, etc.).

§

Pkcs11IdEntry

Parsed response from pkcs11-id-get. The wire format is: PKCS11ID-ENTRY:'index', ID:'id', BLOB:'base64_cert'

Fields

§index: String

Certificate index.

§id: String

PKCS#11 identifier.

§blob: String

Base64-encoded certificate blob.

§

Notification(Notification)

A real-time notification, either single-line or accumulated multi-line.

§

Info(String)

The >INFO: banner sent when the management socket first connects. Technically a notification, but surfaced separately since it’s always the first thing you see and is useful for version detection.

§

PasswordPrompt

Management interface password prompt. Sent when --management is configured with a password file. The client must respond with the password (via crate::OvpnCommand::ManagementPassword) before any commands are accepted.

§

Unrecognized

A line that could not be classified into any known message type. Contains the raw line and a description of what went wrong.

Fields

§line: String

The raw line that could not be parsed.

§kind: UnrecognizedKind

Why the line was not recognized.

Trait Implementations§

Source§

impl Clone for OvpnMessage

Source§

fn clone(&self) -> OvpnMessage

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for OvpnMessage

Source§

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

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

impl PartialEq for OvpnMessage

Source§

fn eq(&self, other: &OvpnMessage) -> 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 Eq for OvpnMessage

Source§

impl StructuralPartialEq for OvpnMessage

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.