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:
+ Collaboration diagram for GAuth::SaslServerPam:

Public Member Functions

 SaslServerPam (bool with_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 G::StringArray mechanisms (bool secure) const =0
 Returns a list of supported, standard mechanisms that can be advertised to the client. More...
 
virtual void reset ()=0
 Clears the internal state as if just constructed. More...
 
virtual bool init (bool secure, const std::string &mechanism)=0
 Initialiser for the given mechanism. More...
 
virtual std::string mechanism () const =0
 Returns the current mechanism, as selected by the last successful init().
 
virtual std::string preferredMechanism (bool secure) const =0
 Returns a preferred mechanism if authentication with the current mechanism has failed. More...
 
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 G::StringArray &address_wildcards, const std::string &address_display) const =0
 Returns true if a trusted client that does not need to authenticate. More...
 

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 47 of file gsaslserverpam.h.

Constructor & Destructor Documentation

◆ SaslServerPam()

GAuth::SaslServerPam::SaslServerPam ( bool  with_apop)
explicit

Constructor.

Definition at line 213 of file gsaslserverpam.cpp.


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