110 "protocol version not supported:%d",
120 "server version string not found");
127 "bad packet size:%zu:%zu",
155 "protocol version not supported, must be MySQL 4.1+");
173 "unexpected data after packet:%zu", con->
buffer_size);
279 "error packing server handshake:%zu:%zu",
292 uint8_t scramble_size;
320 "protocol version not supported, must be MySQL 4.1+");
338 "user string not found");
353 "bad packet size:>=%zu:%zu", real_size,
366 if (scramble_size == 0)
373 "wrong scramble size");
377 real_size+= scramble_size;
390 (34 + strlen(con->
user) + scramble_size));
394 "db string not found");
398 real_size+= ((size_t)(ptr - con->
buffer_ptr) + 1);
402 "bad packet size:%zu:%zu", real_size, con->
packet_size);
423 "unexpected data after packet:%zu", con->
buffer_size);
446 + strlen(con->
user) + 1
449 + strlen(con->
db) + 1;
472 capabilities&= ~DRIZZLE_CAPABILITIES_CONNECT_WITH_DB;
496 "error packing client handshake:%zu:%zu",
528 "old insecure authentication mechanism not supported");
static void drizzle_state_pop(drizzle_con_st *con)
static void drizzle_state_push(drizzle_con_st *con, drizzle_state_fn *function)
static bool drizzle_state_none(drizzle_con_st *con)
@ DRIZZLE_CAPABILITIES_SSL
@ DRIZZLE_CAPABILITIES_CLIENT
@ DRIZZLE_CAPABILITIES_COMPRESS
@ DRIZZLE_CAPABILITIES_PROTOCOL_41
#define DRIZZLE_MAX_USER_SIZE
#define DRIZZLE_MAX_BUFFER_SIZE
#define DRIZZLE_MAX_SCRAMBLE_SIZE
#define DRIZZLE_MAX_DB_SIZE
#define DRIZZLE_MAX_SERVER_VERSION_SIZE
@ DRIZZLE_RETURN_HANDSHAKE_FAILED
@ DRIZZLE_RETURN_ERROR_CODE
@ DRIZZLE_RETURN_INTERNAL_ERROR
@ DRIZZLE_RETURN_AUTH_FAILED
@ DRIZZLE_RETURN_UNEXPECTED_DATA
@ DRIZZLE_RETURN_BAD_HANDSHAKE_PACKET
@ DRIZZLE_RETURN_PROTOCOL_NOT_SUPPORTED
drizzle_return_t drizzle_handshake_server_read(drizzle_con_st *con)
drizzle_return_t drizzle_handshake_client_write(drizzle_con_st *con)
drizzle_return_t drizzle_handshake_client_read(drizzle_con_st *con)
drizzle_return_t drizzle_handshake_server_write(drizzle_con_st *con)
static void drizzle_log_debug(drizzle_st *drizzle, const char *format,...)
void drizzle_set_error(drizzle_st *drizzle, const char *function, const char *format,...)
#define drizzle_set_byte3(__buffer, __int)
#define drizzle_set_byte4(__buffer, __int)
#define drizzle_get_byte2(__buffer)
#define drizzle_get_byte4(__buffer)
#define drizzle_set_byte2(__buffer, __int)
uint8_t * drizzle_pack_auth(drizzle_con_st *con, uint8_t *ptr, drizzle_return_t *ret_ptr)
drizzle_result_st * drizzle_result_create(drizzle_con_st *con, drizzle_result_st *result)
bool drizzle_result_eof(drizzle_result_st *result)
void drizzle_result_free(drizzle_result_st *result)
drizzle_return_t drizzle_state_packet_read(drizzle_con_st *con)
drizzle_return_t drizzle_state_write(drizzle_con_st *con)
drizzle_return_t drizzle_state_handshake_server_write(drizzle_con_st *con)
drizzle_return_t drizzle_state_read(drizzle_con_st *con)
drizzle_return_t drizzle_state_handshake_result_read(drizzle_con_st *con)
drizzle_return_t drizzle_state_handshake_server_read(drizzle_con_st *con)
drizzle_return_t drizzle_state_handshake_client_write(drizzle_con_st *con)
drizzle_return_t drizzle_state_loop(drizzle_con_st *con)
drizzle_return_t drizzle_state_handshake_client_read(drizzle_con_st *con)
drizzle_return_t drizzle_state_result_read(drizzle_con_st *con)
uint8_t buffer[DRIZZLE_MAX_BUFFER_SIZE]
drizzle_capabilities_t capabilities
drizzle_result_st * result
drizzle_charset_t charset
drizzle_con_options_t options
drizzle_con_status_t status
char server_version[DRIZZLE_MAX_SERVER_VERSION_SIZE]
char db[DRIZZLE_MAX_DB_SIZE]
char user[DRIZZLE_MAX_USER_SIZE]
uint8_t scramble_buffer[DRIZZLE_MAX_SCRAMBLE_SIZE]