diff options
Diffstat (limited to 'contrib/ldapc++/src/LDAPBindRequest.h')
-rw-r--r-- | contrib/ldapc++/src/LDAPBindRequest.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/ldapc++/src/LDAPBindRequest.h b/contrib/ldapc++/src/LDAPBindRequest.h new file mode 100644 index 0000000..efadffb --- /dev/null +++ b/contrib/ldapc++/src/LDAPBindRequest.h @@ -0,0 +1,61 @@ +// $OpenLDAP$ +/* + * Copyright 2000-2022 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ + +#ifndef LDAP_BIND_REQUEST_H +#define LDAP_BIND_REQUEST_H + +#include <LDAPRequest.h> +#include <LDAPResult.h> +#include <SaslInteractionHandler.h> + +class LDAPBindRequest : LDAPRequest { + private: + std::string m_dn; + std::string m_cred; + std::string m_mech; + + public: + LDAPBindRequest( const LDAPBindRequest& req); + //just for simple authentication + LDAPBindRequest(const std::string&, const std::string& passwd, + LDAPAsynConnection *connect, const LDAPConstraints *cons, + bool isReferral=false); + virtual ~LDAPBindRequest(); + virtual LDAPMessageQueue *sendRequest(); +}; + +class LDAPSaslBindRequest : LDAPRequest +{ + public: + LDAPSaslBindRequest( const std::string& mech, const std::string& cred, + LDAPAsynConnection *connect, const LDAPConstraints *cons, + bool isReferral=false); + virtual LDAPMessageQueue *sendRequest(); + virtual ~LDAPSaslBindRequest(); + + private: + std::string m_mech; + std::string m_cred; +}; + +class LDAPSaslInteractiveBind : LDAPRequest +{ + public: + LDAPSaslInteractiveBind( const std::string& mech, int flags, + SaslInteractionHandler *sih, LDAPAsynConnection *connect, + const LDAPConstraints *cons, bool isReferral=false); + virtual LDAPMessageQueue *sendRequest(); + virtual LDAPMsg* getNextMessage() const; + virtual ~LDAPSaslInteractiveBind(); + + private: + std::string m_mech; + int m_flags; + SaslInteractionHandler *m_sih; + LDAPResult *m_res; +}; +#endif //LDAP_BIND_REQUEST_H + |