21 #ifndef G_SASL_SERVER_H
22 #define G_SASL_SERVER_H
83 public:
virtual std::string
secret(
const std::string &
mechanism,
const std::string &
id )
const = 0 ;
84 public:
virtual std::string
source()
const = 0 ;
86 public:
virtual bool contains(
const std::string & mechanism )
const = 0 ;
87 private:
void operator=(
const Secrets & ) ;
99 virtual bool active()
const = 0 ;
103 virtual std::string
mechanisms(
char sep =
' ' )
const = 0 ;
114 virtual std::string
mechanism()
const = 0 ;
128 virtual std::string
apply(
const std::string & response ,
bool & done ) = 0 ;
136 virtual std::string
id()
const = 0 ;
virtual std::string mechanisms(char sep= ' ') const =0
Returns a list of supported, standard mechanisms that can be advertised to the client.
virtual std::string id() const =0
Returns the authenticated or trusted identity.
virtual bool requiresEncryption() const =0
Returns true if the implementation requires that the challenge/response dialog should only take place...
virtual std::string secret(const std::string &mechanism, const std::string &id) const =0
virtual bool authenticated() const =0
Returns true if authenticated sucessfully.
virtual bool active() const =0
Returns true if the constructor's "secrets" object was valid.
virtual std::string apply(const std::string &response, bool &done)=0
Applies the client response and returns the next challenge.
The Address class encapsulates an IP transport address.
virtual std::string initialChallenge() const =0
Returns the initial server challenge.
virtual bool mustChallenge() const =0
Returns true if the mechanism must start with a non-empty server challenge.
virtual bool init(const std::string &mechanism)=0
Initialiser.
A class for implementing the server-side SASL challenge/response concept.
virtual std::string mechanism() const =0
Returns the mechanism, as passed to the last init() call to return true.
virtual bool trusted(GNet::Address) const =0
Returns true if a trusted client that does not need to authenticate.
virtual bool contains(const std::string &mechanism) const =0
An interface used by GAuth::SaslServer to obtain authentication secrets.
SASL authentication classes.
A trivial mix-in interface containing a valid() method.
virtual ~SaslServer()
Destructor.
virtual std::string source() const =0