1 /* $NetBSD: LDAPBindRequest.h,v 1.3 2021/08/14 16:14:49 christos Exp $ */ 2 3 // $OpenLDAP$ 4 /* 5 * Copyright 2000-2021 The OpenLDAP Foundation, All Rights Reserved. 6 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 7 */ 8 9 #ifndef LDAP_BIND_REQUEST_H 10 #define LDAP_BIND_REQUEST_H 11 12 #include <LDAPRequest.h> 13 #include <LDAPResult.h> 14 #include <SaslInteractionHandler.h> 15 16 class LDAPBindRequest : LDAPRequest { 17 private: 18 std::string m_dn; 19 std::string m_cred; 20 std::string m_mech; 21 22 public: 23 LDAPBindRequest( const LDAPBindRequest& req); 24 //just for simple authentication 25 LDAPBindRequest(const std::string&, const std::string& passwd, 26 LDAPAsynConnection *connect, const LDAPConstraints *cons, 27 bool isReferral=false); 28 virtual ~LDAPBindRequest(); 29 virtual LDAPMessageQueue *sendRequest(); 30 }; 31 32 class LDAPSaslBindRequest : LDAPRequest 33 { 34 public: 35 LDAPSaslBindRequest( const std::string& mech, const std::string& cred, 36 LDAPAsynConnection *connect, const LDAPConstraints *cons, 37 bool isReferral=false); 38 virtual LDAPMessageQueue *sendRequest(); 39 virtual ~LDAPSaslBindRequest(); 40 41 private: 42 std::string m_mech; 43 std::string m_cred; 44 }; 45 46 class LDAPSaslInteractiveBind : LDAPRequest 47 { 48 public: 49 LDAPSaslInteractiveBind( const std::string& mech, int flags, 50 SaslInteractionHandler *sih, LDAPAsynConnection *connect, 51 const LDAPConstraints *cons, bool isReferral=false); 52 virtual LDAPMessageQueue *sendRequest(); 53 virtual LDAPMsg* getNextMessage() const; 54 virtual ~LDAPSaslInteractiveBind(); 55 56 private: 57 std::string m_mech; 58 int m_flags; 59 SaslInteractionHandler *m_sih; 60 LDAPResult *m_res; 61 }; 62 #endif //LDAP_BIND_REQUEST_H 63 64