Rename MYSQL_GET_PACKET_LEN to MYSQL_GET_PAYLOAD_LEN
The function returns the length of the payload, not the length of the entire packet.
This commit is contained in:
parent
77aff88ed7
commit
2fa12f796b
@ -301,7 +301,7 @@ static inline uint8_t MYSQL_GET_PACKET_NO(const uint8_t* header)
|
||||
return header[3];
|
||||
}
|
||||
|
||||
static inline uint32_t MYSQL_GET_PACKET_LEN(const uint8_t* header)
|
||||
static inline uint32_t MYSQL_GET_PAYLOAD_LEN(const uint8_t* header)
|
||||
{
|
||||
return gw_mysql_get_byte3(header);
|
||||
}
|
||||
|
@ -226,7 +226,7 @@ static bool parse_query(GWBUF* querybuf)
|
||||
|
||||
/** Extract query and copy it to different buffer */
|
||||
data = (uint8_t*) GWBUF_DATA(querybuf);
|
||||
len = MYSQL_GET_PACKET_LEN(data) - 1; /*< distract 1 for packet type byte */
|
||||
len = MYSQL_GET_PAYLOAD_LEN(data) - 1; /*< distract 1 for packet type byte */
|
||||
|
||||
|
||||
if (len < 1 || len >= ~((size_t) 0) - 1 || (query_str = (char *) malloc(len + 1)) == NULL)
|
||||
|
@ -511,7 +511,7 @@ static bool parse_query(GWBUF* query)
|
||||
uint8_t* data = (uint8_t*) GWBUF_DATA(query);
|
||||
|
||||
if ((GWBUF_LENGTH(query) >= MYSQL_HEADER_LEN + 1) &&
|
||||
(GWBUF_LENGTH(query) == MYSQL_HEADER_LEN + MYSQL_GET_PACKET_LEN(data)))
|
||||
(GWBUF_LENGTH(query) == MYSQL_HEADER_LEN + MYSQL_GET_PAYLOAD_LEN(data)))
|
||||
{
|
||||
if (MYSQL_GET_COMMAND(data) == MYSQL_COM_QUERY)
|
||||
{
|
||||
@ -521,7 +521,7 @@ static bool parse_query(GWBUF* query)
|
||||
{
|
||||
this_thread.info = info;
|
||||
|
||||
size_t len = MYSQL_GET_PACKET_LEN(data) - 1; // Subtract 1 for packet type byte.
|
||||
size_t len = MYSQL_GET_PAYLOAD_LEN(data) - 1; // Subtract 1 for packet type byte.
|
||||
|
||||
const char* s = (const char*) &data[MYSQL_HEADER_LEN + 1];
|
||||
|
||||
@ -576,7 +576,7 @@ static bool parse_query(GWBUF* query)
|
||||
else
|
||||
{
|
||||
MXS_ERROR("Packet size %ld, provided buffer is %ld.",
|
||||
MYSQL_HEADER_LEN + MYSQL_GET_PACKET_LEN(data),
|
||||
MYSQL_HEADER_LEN + MYSQL_GET_PAYLOAD_LEN(data),
|
||||
GWBUF_LENGTH(query));
|
||||
}
|
||||
}
|
||||
|
@ -190,7 +190,7 @@ int modutil_MySQL_query_len(GWBUF* buf, int* nbytes_missing)
|
||||
len = 0;
|
||||
goto retblock;
|
||||
}
|
||||
len = MYSQL_GET_PACKET_LEN((uint8_t *)GWBUF_DATA(buf));
|
||||
len = MYSQL_GET_PAYLOAD_LEN((uint8_t *)GWBUF_DATA(buf));
|
||||
*nbytes_missing = len - 1;
|
||||
buflen = gwbuf_length(buf);
|
||||
|
||||
@ -344,7 +344,7 @@ modutil_get_query(GWBUF *buf)
|
||||
break;
|
||||
|
||||
case MYSQL_COM_QUERY:
|
||||
len = MYSQL_GET_PACKET_LEN(packet) - 1; /*< distract 1 for packet type byte */
|
||||
len = MYSQL_GET_PAYLOAD_LEN(packet) - 1; /*< distract 1 for packet type byte */
|
||||
if (len < 1 || len > ~(size_t)0 - 1 || (query_str = (char *)MXS_MALLOC(len + 1)) == NULL)
|
||||
{
|
||||
if (len >= 1 && len <= ~(size_t)0 - 1)
|
||||
@ -519,14 +519,14 @@ GWBUF* modutil_get_next_MySQL_packet(GWBUF** p_readbuf)
|
||||
if (GWBUF_LENGTH(readbuf) >= 3) // The length is in the 3 first bytes.
|
||||
{
|
||||
uint8_t *data = (uint8_t *)GWBUF_DATA((readbuf));
|
||||
packetlen = MYSQL_GET_PACKET_LEN(data) + 4;
|
||||
packetlen = MYSQL_GET_PAYLOAD_LEN(data) + 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
// The header is split between two GWBUFs.
|
||||
uint8_t data[3];
|
||||
gwbuf_copy_data(readbuf, 0, 3, data);
|
||||
packetlen = MYSQL_GET_PACKET_LEN(data) + 4;
|
||||
packetlen = MYSQL_GET_PAYLOAD_LEN(data) + 4;
|
||||
}
|
||||
|
||||
if (packetlen <= totalbuflen)
|
||||
@ -655,7 +655,7 @@ modutil_count_signal_packets(GWBUF *reply, int use_ok, int n_found, int* more)
|
||||
bool moreresults = false;
|
||||
while (ptr < end)
|
||||
{
|
||||
pktlen = MYSQL_GET_PACKET_LEN(ptr) + 4;
|
||||
pktlen = MYSQL_GET_PAYLOAD_LEN(ptr) + 4;
|
||||
|
||||
if ((iserr = PTR_IS_ERR(ptr)) || (iseof = PTR_IS_EOF(ptr)))
|
||||
{
|
||||
|
@ -93,7 +93,7 @@ int CacheFilterSession::routeQuery(GWBUF* pPacket)
|
||||
// All of these should be guaranteed by RCAP_TYPE_TRANSACTION_TRACKING
|
||||
ss_dassert(GWBUF_IS_CONTIGUOUS(pPacket));
|
||||
ss_dassert(GWBUF_LENGTH(pPacket) >= MYSQL_HEADER_LEN + 1);
|
||||
ss_dassert(MYSQL_GET_PACKET_LEN(pData) + MYSQL_HEADER_LEN == GWBUF_LENGTH(pPacket));
|
||||
ss_dassert(MYSQL_GET_PAYLOAD_LEN(pData) + MYSQL_HEADER_LEN == GWBUF_LENGTH(pPacket));
|
||||
|
||||
bool fetch_from_server = true;
|
||||
|
||||
@ -107,7 +107,7 @@ int CacheFilterSession::routeQuery(GWBUF* pPacket)
|
||||
case MYSQL_COM_INIT_DB:
|
||||
{
|
||||
ss_dassert(!m_zUseDb);
|
||||
size_t len = MYSQL_GET_PACKET_LEN(pData) - 1; // Remove the command byte.
|
||||
size_t len = MYSQL_GET_PAYLOAD_LEN(pData) - 1; // Remove the command byte.
|
||||
m_zUseDb = (char*)MXS_MALLOC(len + 1);
|
||||
|
||||
if (m_zUseDb)
|
||||
@ -337,7 +337,7 @@ int CacheFilterSession::handle_expecting_fields()
|
||||
uint8_t header[MYSQL_HEADER_LEN + 1];
|
||||
gwbuf_copy_data(m_res.pData, m_res.offset, MYSQL_HEADER_LEN + 1, header);
|
||||
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PACKET_LEN(header);
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PAYLOAD_LEN(header);
|
||||
|
||||
if (m_res.offset + packetlen <= buflen)
|
||||
{
|
||||
@ -473,7 +473,7 @@ int CacheFilterSession::handle_expecting_rows()
|
||||
uint8_t header[MYSQL_HEADER_LEN + 1];
|
||||
gwbuf_copy_data(m_res.pData, m_res.offset, MYSQL_HEADER_LEN + 1, header);
|
||||
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PACKET_LEN(header);
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PAYLOAD_LEN(header);
|
||||
|
||||
if (m_res.offset + packetlen <= buflen)
|
||||
{
|
||||
|
@ -490,7 +490,7 @@ protected:
|
||||
ComPacket(GWBUF* pPacket)
|
||||
: m_pPacket(pPacket)
|
||||
, m_pI(GWBUF_DATA(pPacket))
|
||||
, m_packet_len(MYSQL_GET_PACKET_LEN(m_pI))
|
||||
, m_packet_len(MYSQL_GET_PAYLOAD_LEN(m_pI))
|
||||
, m_packet_no(MYSQL_GET_PACKET_NO(m_pI))
|
||||
{
|
||||
m_pI += MYSQL_HEADER_LEN;
|
||||
|
@ -292,7 +292,7 @@ static int routeQuery(FILTER *instance, void *sdata, GWBUF *packet)
|
||||
// All of these should be guaranteed by RCAP_TYPE_TRANSACTION_TRACKING
|
||||
ss_dassert(GWBUF_IS_CONTIGUOUS(packet));
|
||||
ss_dassert(GWBUF_LENGTH(packet) >= MYSQL_HEADER_LEN + 1);
|
||||
ss_dassert(MYSQL_GET_PACKET_LEN(data) + MYSQL_HEADER_LEN == GWBUF_LENGTH(packet));
|
||||
ss_dassert(MYSQL_GET_PAYLOAD_LEN(data) + MYSQL_HEADER_LEN == GWBUF_LENGTH(packet));
|
||||
|
||||
maxrows_response_state_reset(&csdata->res);
|
||||
csdata->state = MAXROWS_IGNORING_RESPONSE;
|
||||
@ -500,7 +500,7 @@ static int handle_expecting_fields(MAXROWS_SESSION_DATA *csdata)
|
||||
uint8_t header[MYSQL_HEADER_LEN + 1];
|
||||
gwbuf_copy_data(csdata->res.data, csdata->res.offset, MYSQL_HEADER_LEN + 1, header);
|
||||
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PACKET_LEN(header);
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PAYLOAD_LEN(header);
|
||||
|
||||
if (csdata->res.offset + packetlen <= buflen)
|
||||
{
|
||||
@ -682,7 +682,7 @@ static int handle_rows(MAXROWS_SESSION_DATA *csdata)
|
||||
uint8_t header[MAXROWS_EOF_PACKET_LEN];
|
||||
gwbuf_copy_data(csdata->res.data, csdata->res.offset, MAXROWS_EOF_PACKET_LEN, header);
|
||||
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PACKET_LEN(header);
|
||||
size_t packetlen = MYSQL_HEADER_LEN + MYSQL_GET_PAYLOAD_LEN(header);
|
||||
|
||||
if (csdata->res.offset + packetlen <= buflen)
|
||||
{
|
||||
|
@ -406,7 +406,7 @@ bool is_error_response(GWBUF *buffer)
|
||||
void log_error_response(DCB *dcb, GWBUF *buffer)
|
||||
{
|
||||
uint8_t *data = (uint8_t*)GWBUF_DATA(buffer);
|
||||
size_t len = MYSQL_GET_PACKET_LEN(data);
|
||||
size_t len = MYSQL_GET_PAYLOAD_LEN(data);
|
||||
uint16_t errcode = MYSQL_GET_ERRCODE(data);
|
||||
char bufstr[len];
|
||||
memcpy(bufstr, data + 7, len - 3);
|
||||
|
@ -474,7 +474,7 @@ int gw_read_client_event(DCB* dcb)
|
||||
case MXS_AUTH_STATE_MESSAGE_READ:
|
||||
/* After this call read_buffer will point to freed data */
|
||||
if (nbytes_read < 3 || (0 == max_bytes && nbytes_read <
|
||||
(MYSQL_GET_PACKET_LEN((uint8_t *) GWBUF_DATA(read_buffer)) + 4)) ||
|
||||
(MYSQL_GET_PAYLOAD_LEN((uint8_t *) GWBUF_DATA(read_buffer)) + 4)) ||
|
||||
(0 != max_bytes && nbytes_read < max_bytes))
|
||||
{
|
||||
|
||||
@ -523,7 +523,7 @@ static void store_client_information(DCB *dcb, GWBUF *buffer)
|
||||
MYSQL_session *ses = (MYSQL_session*)dcb->data;
|
||||
|
||||
gwbuf_copy_data(buffer, 0, len, data);
|
||||
ss_dassert(MYSQL_GET_PACKET_LEN(data) + MYSQL_HEADER_LEN == len ||
|
||||
ss_dassert(MYSQL_GET_PAYLOAD_LEN(data) + MYSQL_HEADER_LEN == len ||
|
||||
len == MYSQL_AUTH_PACKET_BASE_SIZE); // For SSL request packet
|
||||
|
||||
proto->client_capabilities = gw_mysql_get_byte4(data + MYSQL_CLIENT_CAP_OFFSET);
|
||||
@ -568,7 +568,7 @@ static void check_packet(DCB *dcb, GWBUF *buf, int bytes)
|
||||
ss_dassert(gwbuf_copy_data(buf, 0, MYSQL_HEADER_LEN, hdr) == MYSQL_HEADER_LEN);
|
||||
|
||||
int buflen = gwbuf_length(buf);
|
||||
int pktlen = MYSQL_GET_PACKET_LEN(hdr) + MYSQL_HEADER_LEN;
|
||||
int pktlen = MYSQL_GET_PAYLOAD_LEN(hdr) + MYSQL_HEADER_LEN;
|
||||
|
||||
if (bytes == MYSQL_AUTH_PACKET_BASE_SIZE)
|
||||
{
|
||||
@ -897,7 +897,7 @@ gw_read_normal_data(DCB *dcb, GWBUF *read_buffer, int nbytes_read)
|
||||
int packet_size;
|
||||
|
||||
if (nbytes_read < 3 || nbytes_read <
|
||||
(MYSQL_GET_PACKET_LEN((uint8_t *) GWBUF_DATA(read_buffer)) + 4))
|
||||
(MYSQL_GET_PAYLOAD_LEN((uint8_t *) GWBUF_DATA(read_buffer)) + 4))
|
||||
{
|
||||
|
||||
dcb->dcb_readqueue = read_buffer;
|
||||
@ -1555,7 +1555,7 @@ static bool ensure_complete_packet(DCB *dcb, GWBUF **read_buffer, int nbytes_rea
|
||||
{
|
||||
dcb->dcb_readqueue = gwbuf_append(dcb->dcb_readqueue, *read_buffer);
|
||||
nbytes_read = gwbuf_length(dcb->dcb_readqueue);
|
||||
int plen = MYSQL_GET_PACKET_LEN((uint8_t *) GWBUF_DATA(dcb->dcb_readqueue));
|
||||
int plen = MYSQL_GET_PAYLOAD_LEN((uint8_t *) GWBUF_DATA(dcb->dcb_readqueue));
|
||||
|
||||
if (nbytes_read < 3 || nbytes_read < plen + 4)
|
||||
{
|
||||
@ -1575,7 +1575,7 @@ static bool ensure_complete_packet(DCB *dcb, GWBUF **read_buffer, int nbytes_rea
|
||||
{
|
||||
uint8_t* data = (uint8_t *) GWBUF_DATA(*read_buffer);
|
||||
|
||||
if (nbytes_read < 3 || nbytes_read < MYSQL_GET_PACKET_LEN(data) + 4)
|
||||
if (nbytes_read < 3 || nbytes_read < MYSQL_GET_PAYLOAD_LEN(data) + 4)
|
||||
{
|
||||
dcb->dcb_readqueue = gwbuf_append(dcb->dcb_readqueue, *read_buffer);
|
||||
return false;
|
||||
|
@ -558,7 +558,7 @@ GWBUF* gw_MySQL_get_next_packet(GWBUF** p_readbuf)
|
||||
}
|
||||
totalbuflen = gwbuf_length(readbuf);
|
||||
data = (uint8_t *)GWBUF_DATA((readbuf));
|
||||
packetlen = MYSQL_GET_PACKET_LEN(data) + 4;
|
||||
packetlen = MYSQL_GET_PAYLOAD_LEN(data) + 4;
|
||||
|
||||
/** packet is incomplete */
|
||||
if (packetlen > totalbuflen)
|
||||
|
@ -163,7 +163,7 @@ log_transaction_status(ROUTER_CLIENT_SES *rses, GWBUF *querybuf, qc_query_type_t
|
||||
uint8_t *packet = GWBUF_DATA(querybuf);
|
||||
unsigned char ptype = packet[4];
|
||||
size_t len = MXS_MIN(GWBUF_LENGTH(querybuf),
|
||||
MYSQL_GET_PACKET_LEN((unsigned char *)querybuf->start) - 1);
|
||||
MYSQL_GET_PAYLOAD_LEN((unsigned char *)querybuf->start) - 1);
|
||||
char *data = (char *)&packet[5];
|
||||
char *contentstr = strndup(data, MXS_MIN(len, RWSPLIT_TRACE_MSG_LEN));
|
||||
char *qtypestr = qc_typemask_to_string(qtype);
|
||||
@ -386,8 +386,8 @@ void check_session_command_reply(GWBUF *writebuf, sescmd_cursor_t *scur, backend
|
||||
{
|
||||
uint8_t *buf = (uint8_t *)GWBUF_DATA((scur->scmd_cur_cmd->my_sescmd_buf));
|
||||
uint8_t *replybuf = (uint8_t *)GWBUF_DATA(writebuf);
|
||||
size_t len = MYSQL_GET_PACKET_LEN(buf);
|
||||
size_t replylen = MYSQL_GET_PACKET_LEN(replybuf);
|
||||
size_t len = MYSQL_GET_PAYLOAD_LEN(buf);
|
||||
size_t replylen = MYSQL_GET_PAYLOAD_LEN(replybuf);
|
||||
char *err = strndup(&((char *)replybuf)[8], 5);
|
||||
char *replystr = strndup(&((char *)replybuf)[13], replylen - 4 - 5);
|
||||
|
||||
@ -481,7 +481,7 @@ bool execute_sescmd_in_backend(backend_ref_t *backend_ref)
|
||||
data = dcb->session->client_dcb->data;
|
||||
*data->db = 0;
|
||||
tmpbuf = scur->scmd_cur_cmd->my_sescmd_buf;
|
||||
qlen = MYSQL_GET_PACKET_LEN((unsigned char *) GWBUF_DATA(tmpbuf));
|
||||
qlen = MYSQL_GET_PAYLOAD_LEN((unsigned char *) GWBUF_DATA(tmpbuf));
|
||||
if (qlen)
|
||||
{
|
||||
--qlen; // The COM_INIT_DB byte
|
||||
|
@ -1792,7 +1792,7 @@ static int routeQuery(ROUTER* instance,
|
||||
uint8_t* packet = GWBUF_DATA(querybuf);
|
||||
unsigned char ptype = packet[4];
|
||||
size_t len = MXS_MIN(GWBUF_LENGTH(querybuf),
|
||||
MYSQL_GET_PACKET_LEN((unsigned char *)querybuf->start) - 1);
|
||||
MYSQL_GET_PAYLOAD_LEN((unsigned char *)querybuf->start) - 1);
|
||||
char* data = (char*)&packet[5];
|
||||
char* contentstr = strndup(data, len);
|
||||
char* qtypestr = qc_typemask_to_string(qtype);
|
||||
@ -2403,8 +2403,8 @@ static void clientReply(ROUTER* instance,
|
||||
{
|
||||
uint8_t* buf = (uint8_t *) GWBUF_DATA((scur->scmd_cur_cmd->my_sescmd_buf));
|
||||
uint8_t* replybuf = (uint8_t *) GWBUF_DATA(writebuf);
|
||||
size_t len = MYSQL_GET_PACKET_LEN(buf);
|
||||
size_t replylen = MYSQL_GET_PACKET_LEN(replybuf);
|
||||
size_t len = MYSQL_GET_PAYLOAD_LEN(buf);
|
||||
size_t replylen = MYSQL_GET_PAYLOAD_LEN(replybuf);
|
||||
char* cmdstr = strndup(&((char *) buf)[5], len - 4);
|
||||
char* err = strndup(&((char *) replybuf)[8], 5);
|
||||
char* replystr = strndup(&((char *) replybuf)[13],
|
||||
|
Loading…
x
Reference in New Issue
Block a user