E-MailRelay
Public Member Functions | List of all members
GAuth::SaslServerSecrets Class Referenceabstract

An interface used by GAuth::SaslServer to obtain authentication secrets. More...

#include <gsaslserversecrets.h>

+ Inheritance diagram for GAuth::SaslServerSecrets:

Public Member Functions

virtual Secret serverSecret (const std::string &type, const std::string &id) const =0
 Returns the server secret for the given client id. More...
 
virtual std::pair< std::string, std::string > serverTrust (const std::string &address_range) const =0
 Returns a non-empty trustee name if the server trusts the given address range (eg. More...
 
virtual std::string source () const =0
 Returns the source identifier (eg. file name).
 
virtual bool contains (const std::string &mechanism) const =0
 Returns true if any user has a secret encoded for the given mechanism. More...
 
- Public Member Functions inherited from GAuth::Valid
virtual bool valid () const =0
 Returns true if a valid source of information. More...
 
virtual ~Valid ()=default
 Destructor.
 

Detailed Description

An interface used by GAuth::SaslServer to obtain authentication secrets.

See also
GAuth::Secret

Definition at line 39 of file gsaslserversecrets.h.

Member Function Documentation

◆ contains()

virtual bool GAuth::SaslServerSecrets::contains ( const std::string &  mechanism) const
pure virtual

Returns true if any user has a secret encoded for the given mechanism.

Implemented in GAuth::Secrets.

◆ serverSecret()

virtual Secret GAuth::SaslServerSecrets::serverSecret ( const std::string &  type,
const std::string &  id 
) const
pure virtual

Returns the server secret for the given client id.

The type is "plain" or the CRAM hash algorithm. Returns an invalid secret if not found.

Implemented in GAuth::Secrets.

◆ serverTrust()

virtual std::pair< std::string, std::string > GAuth::SaslServerSecrets::serverTrust ( const std::string &  address_range) const
pure virtual

Returns a non-empty trustee name if the server trusts the given address range (eg.

"192.168.0.0/24"), together with context information for logging purposes.


The documentation for this class was generated from the following file: