[][src]Trait gstreamer_rtsp_server::prelude::RTSPAuthExt

pub trait RTSPAuthExt: 'static {
    fn add_basic(&self, basic: &str, token: &RTSPToken);
fn add_digest(&self, user: &str, pass: &str, token: &RTSPToken);
fn get_default_token(&self) -> Option<RTSPToken>;
fn get_realm(&self) -> Option<GString>;
fn get_supported_methods(&self) -> RTSPAuthMethod;
fn get_tls_authentication_mode(&self) -> TlsAuthenticationMode;
fn get_tls_certificate(&self) -> Option<TlsCertificate>;
fn get_tls_database(&self) -> Option<TlsDatabase>;
fn parse_htdigest<P: AsRef<Path>>(&self, path: P, token: &RTSPToken) -> bool;
fn remove_basic(&self, basic: &str);
fn remove_digest(&self, user: &str);
fn set_realm(&self, realm: &str);
fn set_supported_methods(&self, methods: RTSPAuthMethod);
fn set_tls_authentication_mode(&self, mode: TlsAuthenticationMode);
fn set_tls_certificate<P: IsA<TlsCertificate>>(&self, cert: Option<&P>);
fn set_tls_database<P: IsA<TlsDatabase>>(&self, database: Option<&P>);
fn connect_accept_certificate<F: Fn(&Self, &TlsConnection, &TlsCertificate, TlsCertificateFlags) -> bool + Send + Sync + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }

Trait containing all RTSPAuth methods.

Implementors

RTSPAuth

Required methods

fn add_basic(&self, basic: &str, token: &RTSPToken)

Add a basic token for the default authentication algorithm that enables the client with privileges listed in token.

basic

the basic token

token

authorisation token

fn add_digest(&self, user: &str, pass: &str, token: &RTSPToken)

Add a digest user and pass for the default authentication algorithm that enables the client with privileges listed in token.

Feature: v1_12

user

the digest user name

pass

the digest password

token

authorisation token

fn get_default_token(&self) -> Option<RTSPToken>

Get the default token for self. This token will be used for unauthenticated users.

Returns

the RTSPToken of self. gst_rtsp_token_unref after usage.

fn get_realm(&self) -> Option<GString>

Feature: v1_16

Returns

the realm of self

fn get_supported_methods(&self) -> RTSPAuthMethod

Gets the supported authentication methods of self.

Feature: v1_12

Returns

The supported authentication methods

fn get_tls_authentication_mode(&self) -> TlsAuthenticationMode

Get the gio::TlsAuthenticationMode.

Returns

the gio::TlsAuthenticationMode.

fn get_tls_certificate(&self) -> Option<TlsCertificate>

Get the gio::TlsCertificate used for negotiating TLS self.

Returns

the gio::TlsCertificate of self. gobject::ObjectExt::unref after usage.

fn get_tls_database(&self) -> Option<TlsDatabase>

Get the gio::TlsDatabase used for verifying client certificate.

Returns

the gio::TlsDatabase of self. gobject::ObjectExt::unref after usage.

fn parse_htdigest<P: AsRef<Path>>(&self, path: P, token: &RTSPToken) -> bool

Parse the contents of the file at path and enable the privileges listed in token for the users it describes.

The format of the file is expected to match the format described by https://en.wikipedia.org/wiki/Digest_access_authentication`The_.htdigest_file`, as output by the htdigest command.

Feature: v1_16

path

Path to the htdigest file

token

authorisation token

Returns

true if the file was successfully parsed, false otherwise.

fn remove_basic(&self, basic: &str)

Removes basic authentication token.

basic

the basic token

fn remove_digest(&self, user: &str)

Removes a digest user.

Feature: v1_12

user

the digest user name

fn set_realm(&self, realm: &str)

Set the realm of self

Feature: v1_16

fn set_supported_methods(&self, methods: RTSPAuthMethod)

Sets the supported authentication methods for self.

Feature: v1_12

methods

supported methods

fn set_tls_authentication_mode(&self, mode: TlsAuthenticationMode)

The gio::TlsAuthenticationMode to set on the underlying GTlsServerConnection. When set to another value than gio::TlsAuthenticationMode::None, RTSPAuth::accept-certificate signal will be emitted and must be handled.

mode

a gio::TlsAuthenticationMode

fn set_tls_certificate<P: IsA<TlsCertificate>>(&self, cert: Option<&P>)

Set the TLS certificate for the auth. Client connections will only be accepted when TLS is negotiated.

cert

a gio::TlsCertificate

fn set_tls_database<P: IsA<TlsDatabase>>(&self, database: Option<&P>)

Sets the certificate database that is used to verify peer certificates. If set to None (the default), then peer certificate validation will always set the gio::TlsCertificateFlags::UnknownCa error.

database

a gio::TlsDatabase

fn connect_accept_certificate<F: Fn(&Self, &TlsConnection, &TlsCertificate, TlsCertificateFlags) -> bool + Send + Sync + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Emitted during the TLS handshake after the client certificate has been received. See also RTSPAuthExt::set_tls_authentication_mode.

connection

a gio::TlsConnection

peer_cert

the peer's gio::TlsCertificate

errors

the problems with peer_cert.

Returns

true to accept peer_cert (which will also immediately end the signal emission). false to allow the signal emission to continue, which will cause the handshake to fail if no one else overrides it.

Loading content...

Implementors

impl<O: IsA<RTSPAuth>> RTSPAuthExt for O[src]

Loading content...