16 #include "mongo/client/sasl_client_session.h"
18 #include <sasl/sasl.h>
48 virtual Status step(
const StringData& inputData, std::string* outputData);
56 static const int maxCallbacks = 4;
59 sasl_conn_t* _saslConnection;
68 boost::scoped_array<char> _secret;
72 sasl_callback_t _callbacks[maxCallbacks];
virtual void setParameter(Parameter id, const StringData &value)
Overriding to store the password data in sasl_secret_t format.
Parameter
Identifiers of parameters used to configure a SaslClientSession.
Definition: sasl_client_session.h:52
the main MongoDB namespace
Definition: bulk_operation_builder.h:24
virtual Status initialize()
Initializes a session for use.
Base class for the client side of a SASL authentication conversation.
Definition: sasl_client_session.h:42
virtual bool isDone() const
Returns true if the authentication completed successfully.
Definition: cyrus_sasl_client_session.h:50
sasl_secret_t * getPasswordAsSecret()
Returns the value of the parameterPassword parameter in the form of a sasl_secret_t, used by the Cyrus SASL library's SASL_CB_PASS callback.
virtual Status step(const StringData &inputData, std::string *outputData)
Takes one step of the SASL protocol on behalf of the client.
MONGO_CLIENT_API Status(MONGO_CLIENT_FUNC *saslClientAuthenticate)(DBClientWithCommands *client
Attempts to authenticate "client" using the SASL protocol.
Implementation of the client side of a SASL authentication conversation.
Definition: cyrus_sasl_client_session.h:26