START_ENCRYPTION_EVENT in maxbinlogcheck review
START_ENCRYPTION_EVENT in maxbinlogcheck review
This commit is contained in:
@ -139,6 +139,7 @@ typedef struct start_encryption_event
|
||||
uint32_t binlog_key_version;
|
||||
uint8_t nonce[BLRM_NONCE_LENGTH];
|
||||
} START_ENCRYPTION_EVENT;
|
||||
|
||||
/**
|
||||
* Initialise the binlog file for this instance. MaxScale will look
|
||||
* for all the binlogs that it has on local disk, determine the next
|
||||
@ -1585,8 +1586,7 @@ blr_read_events_all_events(ROUTER_INSTANCE *router, int fix, int debug)
|
||||
/* Detect possible Start Encryption Event */
|
||||
if (hdr.event_type == MARIADB10_START_ENCRYPTION_EVENT)
|
||||
{
|
||||
START_ENCRYPTION_EVENT ste_event;
|
||||
memset(&ste_event, '\0', sizeof(START_ENCRYPTION_EVENT));
|
||||
START_ENCRYPTION_EVENT ste_event = {};
|
||||
char nonce_hex[12 * 2 + 1] = "";
|
||||
/* The start encryption event data is 17 bytes long:
|
||||
* Scheme = 1
|
||||
@ -1599,13 +1599,17 @@ blr_read_events_all_events(ROUTER_INSTANCE *router, int fix, int debug)
|
||||
ste_event.binlog_key_version = extract_field(ptr + 1, 32);
|
||||
memcpy(ste_event.nonce, ptr + 1 + 4, BLRM_NONCE_LENGTH);
|
||||
|
||||
gw_bin2hex(nonce_hex, ste_event.nonce, BLRM_NONCE_LENGTH);
|
||||
|
||||
if (debug)
|
||||
{
|
||||
char *cksum_format = ", crc32 0x";
|
||||
char hex_checksum[BINLOG_EVENT_CRC_SIZE * 2 + strlen(cksum_format) + 1];
|
||||
uint8_t cksum_data[BINLOG_EVENT_CRC_SIZE];
|
||||
hex_checksum[0]='\0';
|
||||
|
||||
/* Hex representation of nonce */
|
||||
gw_bin2hex(nonce_hex, ste_event.nonce, BLRM_NONCE_LENGTH);
|
||||
|
||||
/* Hex representation of checksum */
|
||||
cksum_data[3] = *(ptr + hdr.event_size - 4 - BINLOG_EVENT_HDR_LEN);
|
||||
cksum_data[2] = *(ptr + hdr.event_size - 3 - BINLOG_EVENT_HDR_LEN);
|
||||
cksum_data[1] = *(ptr + hdr.event_size - 2 - BINLOG_EVENT_HDR_LEN);
|
||||
|
||||
Reference in New Issue
Block a user