![]() |
MySQL 8.0.41
Source Code Documentation
|
authenticates a server connection. More...
#include <classic_greeting_forwarder.h>
Public Types | |
enum class | Stage { ClientGreeting , ClientGreetingStartTls , ClientGreetingFull , TlsForwardInit , TlsForward , TlsConnectInit , TlsConnect , ClientGreetingAfterTls , InitialResponse , FinalResponse , AuthOk , AuthError , Error , Ok } |
stages of the handshake flow. More... | |
![]() | |
enum class | Result { Again , RecvFromClient , SendToClient , RecvFromServer , RecvFromBoth , SendToServer , SendableToServer , Suspend , Done , Void } |
Public Member Functions | |
ServerFirstAuthenticator (MysqlRoutingClassicConnectionBase *conn, std::function< void(const classic_protocol::message::server::Error &)> on_error) | |
stdx::expected< Result, std::error_code > | process () override |
void | stage (Stage stage) |
Stage | stage () const |
![]() | |
BasicProcessor (MysqlRoutingClassicConnectionBase *conn) | |
![]() | |
BasicProcessor (MysqlRoutingClassicConnectionBase *conn) | |
virtual | ~BasicProcessor ()=default |
const MysqlRoutingClassicConnectionBase * | connection () const |
MysqlRoutingClassicConnectionBase * | connection () |
Private Member Functions | |
stdx::expected< Result, std::error_code > | client_greeting () |
stdx::expected< Result, std::error_code > | client_greeting_start_tls () |
stdx::expected< Result, std::error_code > | client_greeting_full () |
stdx::expected< Result, std::error_code > | tls_forward_init () |
stdx::expected< Result, std::error_code > | tls_forward () |
stdx::expected< Result, std::error_code > | tls_connect_init () |
stdx::expected< Result, std::error_code > | tls_connect () |
stdx::expected< Result, std::error_code > | client_greeting_after_tls () |
stdx::expected< Result, std::error_code > | initial_response () |
stdx::expected< Result, std::error_code > | final_response () |
stdx::expected< Result, std::error_code > | auth_error () |
router<-server: auth error. More... | |
stdx::expected< Result, std::error_code > | auth_ok () |
server-side: auth is ok. More... | |
void | client_greeting_server_adjust_caps (ClassicProtocolState *src_protocol, ClassicProtocolState *dst_protocol) |
Private Attributes | |
size_t | client_last_recv_buf_size_ {} |
size_t | client_last_send_buf_size_ {} |
size_t | server_last_recv_buf_size_ {} |
size_t | server_last_send_buf_size_ {} |
Stage | stage_ {Stage::ClientGreeting} |
std::function< void(const classic_protocol::message::server::Error &err)> | on_error_ |
Additional Inherited Members | |
![]() | |
stdx::expected< Result, std::error_code > | forward_server_to_client (bool noflush=false) |
forward the current packet from the server-side to the client-side. More... | |
stdx::expected< Result, std::error_code > | forward_client_to_server (bool noflush=false) |
forward the current packet from the client-side to the server-side. More... | |
stdx::expected< bool, std::error_code > | pool_server_connection () |
move the server connection to the pool. More... | |
stdx::expected< Processor::Result, std::error_code > | socket_reconnect_start () |
reconnect a socket. More... | |
stdx::expected< Processor::Result, std::error_code > | mysql_reconnect_start () |
reconnect a mysql classic connection. More... | |
stdx::expected< Result, std::error_code > | recv_server_failed_and_check_client_socket (std::error_code ec) |
handle error-code of a failed receive() from the server-socket and check the status of the client socket. More... | |
stdx::expected< Processor::Result, std::error_code > | reconnect_send_error_msg (Channel *src_channel, ClassicProtocolState *src_protocol) |
send a Error msg based on the reconnect_error(). More... | |
void | reconnect_error (classic_protocol::message::server::Error err) |
set the reconnect error. More... | |
classic_protocol::message::server::Error | reconnect_error () const |
get the reconnect error. More... | |
![]() | |
stdx::expected< Result, std::error_code > | send_server_failed (std::error_code ec) |
stdx::expected< Result, std::error_code > | recv_server_failed (std::error_code ec) |
stdx::expected< Result, std::error_code > | send_client_failed (std::error_code ec) |
stdx::expected< Result, std::error_code > | recv_client_failed (std::error_code ec) |
stdx::expected< Result, std::error_code > | server_socket_failed (std::error_code ec) |
stdx::expected< Result, std::error_code > | client_socket_failed (std::error_code ec) |
stdx::expected< void, std::error_code > | discard_current_msg (Channel *src_channel, ClassicProtocolState *src_protocol) |
discard to current message. More... | |
void | trace (Tracer::Event e) |
Tracer & | tracer () |
![]() | |
static void | log_fatal_error_code (const char *msg, std::error_code ec) |
log a message with error-code as error. More... | |
authenticates a server connection.
Assumes the server
|
strong |
|
inline |
|
private |
router<-server: auth error.
|
private |
server-side: auth is ok.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
overridevirtual |
Implements BasicProcessor.
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |