25#ifndef ROUTING_CLASSIC_AUTH_CACHING_SHA2_INCLUDED
26#define ROUTING_CLASSIC_AUTH_CACHING_SHA2_INCLUDED
29#include <system_error>
31#include <openssl/ssl.h>
42 static constexpr const std::string_view
kName{
"caching_sha2_password"};
48 static std::optional<std::string>
scramble(std::string_view nonce,
49 std::string_view pwd);
56 const std::string &public_key);
Definition: classic_auth.h:47
Definition: classic_auth_caching_sha2.h:38
static constexpr const std::string_view kPublicKeyRequest
Definition: classic_auth_caching_sha2.h:44
static stdx::expected< size_t, std::error_code > send_plaintext_password(Channel *dst_channel, ClassicProtocolState *dst_protocol, const std::string &password)
Definition: classic_auth_caching_sha2.cc:68
static stdx::expected< size_t, std::error_code > send_public_key_request(Channel *dst_channel, ClassicProtocolState *dst_protocol)
Definition: classic_auth_caching_sha2.cc:41
static constexpr const uint8_t kFastAuthDone
Definition: classic_auth_caching_sha2.h:45
static bool is_public_key_request(const std::string_view &data)
Definition: classic_auth_caching_sha2.cc:86
static bool is_public_key(const std::string_view &data)
Definition: classic_auth_caching_sha2.cc:91
static stdx::expected< size_t, std::error_code > send_plaintext_password_request(Channel *dst_channel, ClassicProtocolState *dst_protocol)
Definition: classic_auth_caching_sha2.cc:59
static std::optional< std::string > scramble(std::string_view nonce, std::string_view pwd)
Definition: classic_auth_caching_sha2.cc:35
static constexpr const std::string_view kName
Definition: classic_auth_caching_sha2.h:42
static stdx::expected< size_t, std::error_code > send_encrypted_password(Channel *dst_channel, ClassicProtocolState *dst_protocol, const std::string &password)
Definition: classic_auth_caching_sha2.cc:78
static constexpr const size_t kNonceLength
Definition: classic_auth_caching_sha2.h:40
static constexpr const uint8_t kPerformFullAuth
Definition: classic_auth_caching_sha2.h:46
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_caching_sha2.cc:50
SSL aware socket buffers.
Definition: channel.h:63
protocol state of a classic protocol connection.
Definition: classic_connection_base.h:54
static char * password
Definition: mysql_secure_installation.cc:57