26#ifndef ROUTING_CLASSIC_AUTH_SHA256_PASSWORD_INCLUDED
27#define ROUTING_CLASSIC_AUTH_SHA256_PASSWORD_INCLUDED
32#include <system_error>
42 static constexpr const std::string_view
kName{
"sha256_password"};
47 static std::optional<std::string>
scramble(std::string_view nonce,
48 std::string_view pwd);
55 const std::string &public_key);
Definition: classic_auth.h:48
Definition: classic_auth_sha256_password.h:39
static stdx::expected< size_t, std::error_code > send_plaintext_password(Channel &dst_channel, ClassicProtocolState &dst_protocol, const std::string &password)
Definition: classic_auth_sha256_password.cc:59
static bool is_public_key_request(const std::string_view &data)
Definition: classic_auth_sha256_password.cc:77
static stdx::expected< size_t, std::error_code > send_encrypted_password(Channel &dst_channel, ClassicProtocolState &dst_protocol, const std::string &password)
Definition: classic_auth_sha256_password.cc:69
static constexpr const std::string_view kName
Definition: classic_auth_sha256_password.h:42
static std::optional< std::string > scramble(std::string_view nonce, std::string_view pwd)
Definition: classic_auth_sha256_password.cc:32
static constexpr const std::string_view kEmptyPassword
Definition: classic_auth_sha256_password.h:44
static stdx::expected< size_t, std::error_code > send_public_key_request(Channel &dst_channel, ClassicProtocolState &dst_protocol)
Definition: classic_auth_sha256_password.cc:42
static constexpr const std::string_view kPublicKeyRequest
Definition: classic_auth_sha256_password.h:45
static stdx::expected< size_t, std::error_code > send_public_key(Channel &dst_channel, ClassicProtocolState &dst_protocol, const std::string &public_key)
Definition: classic_auth_sha256_password.cc:50
static constexpr const size_t kNonceLength
Definition: classic_auth_sha256_password.h:41
static bool is_public_key(const std::string_view &data)
Definition: classic_auth_sha256_password.cc:81
SSL aware socket buffers.
Definition: channel.h:65
protocol state of a classic protocol connection.
Definition: classic_protocol_state.h:40
static char * password
Definition: mysql_secure_installation.cc:58