E-MailRelay
Public Member Functions | List of all members
GAuth::SaslServerPam Class Reference

An implementation of the SaslServer interface using PAM as the authentication mechanism. More...

#include <gsaslserverpam.h>

+ Inheritance diagram for GAuth::SaslServerPam:

Public Member Functions

 SaslServerPam (const SaslServerSecrets &, const std::string &config, bool allow_apop)
 Constructor. More...
 
 SaslServerPam (const SaslServerPam &)=delete
 
 SaslServerPam (SaslServerPam &&)=delete
 
SaslServerPamoperator= (const SaslServerPam &)=delete
 
SaslServerPamoperator= (SaslServerPam &&)=delete
 
- Public Member Functions inherited from GAuth::SaslServer
virtual ~SaslServer ()=default
 Destructor.
 
virtual bool requiresEncryption () const =0
 Returns true if the implementation requires that the challenge/response dialog should only take place over an encrypted transport.
 
virtual bool active () const =0
 Returns true if the constructor's "secrets" object was valid. More...
 
virtual std::string mechanisms (char space_separator) const =0
 Returns a list of supported, standard mechanisms that can be advertised to the client. More...
 
virtual bool init (const std::string &mechanism)=0
 Initialiser. More...
 
virtual std::string mechanism () const =0
 Returns the mechanism, as passed to the last init() call to return true.
 
virtual bool mustChallenge () const =0
 Returns true if authentication using the current mechanism must always start with a non-empty server challenge, ie. More...
 
virtual std::string initialChallenge () const =0
 Returns the possibly-empty initial server challenge.
 
virtual std::string apply (const std::string &response, bool &done)=0
 Applies the client response and returns the next challenge and a 'done' flag by reference. More...
 
virtual bool authenticated () const =0
 Returns true if authenticated sucessfully. More...
 
virtual std::string id () const =0
 Returns the authenticated or trusted identity. More...
 
virtual bool trusted (const GNet::Address &) const =0
 Returns true if a trusted client that does not need to authenticate.
 

Detailed Description

An implementation of the SaslServer interface using PAM as the authentication mechanism.

This class tries to match up the PAM interface with the SASL server interface. The match is not perfect; only single-challenge PAM mechanisms are supported, the PAM delay feature is not implemented, and PAM sessions are not part of the SASL interface.

Definition at line 49 of file gsaslserverpam.h.

Constructor & Destructor Documentation

◆ SaslServerPam()

GAuth::SaslServerPam::SaslServerPam ( const SaslServerSecrets secrets,
const std::string &  config,
bool  allow_apop 
)

Constructor.

Definition at line 200 of file gsaslserverpam.cpp.


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