mariadb/storage/innobase/mysql-test/storage_engine
Marko Mäkelä 2af28a363c MDEV-11782: Redefine the innodb_encrypt_log format
Write only one encryption key to the checkpoint page.
Use 4 bytes of nonce. Encrypt more of each redo log block,
only skipping the 4-byte field LOG_BLOCK_HDR_NO which the
initialization vector is derived from.

Issue notes, not warning messages for rewriting the redo log files.

recv_recovery_from_checkpoint_finish(): Do not generate any redo log,
because we must avoid that before rewriting the redo log files, or
otherwise a crash during a redo log rewrite (removing or adding
encryption) may end up making the database unrecoverable.
Instead, do these tasks in innobase_start_or_create_for_mysql().

Issue a firm "Missing MLOG_CHECKPOINT" error message. Remove some
unreachable code and duplicated error messages for log corruption.

LOG_HEADER_FORMAT_ENCRYPTED: A flag for identifying an encrypted redo
log format.

log_group_t::is_encrypted(), log_t::is_encrypted(): Determine
if the redo log is in encrypted format.

recv_find_max_checkpoint(): Interpret LOG_HEADER_FORMAT_ENCRYPTED.

srv_prepare_to_delete_redo_log_files(): Display NOTE messages about
adding or removing encryption. Do not issue warnings for redo log
resizing any more.

innobase_start_or_create_for_mysql(): Rebuild the redo logs also when
the encryption changes.

innodb_log_checksums_func_update(): Always use the CRC-32C checksum
if innodb_encrypt_log. If needed, issue a warning
that innodb_encrypt_log implies innodb_log_checksums.

log_group_write_buf(): Compute the checksum on the encrypted
block contents, so that transmission errors or incomplete blocks can be
detected without decrypting.

Rewrite most of the redo log encryption code. Only remember one
encryption key at a time (but remember up to 5 when upgrading from the
MariaDB 10.1 format.)
2017-02-15 08:07:20 +02:00
..
parts
trx
alter_tablespace.opt
autoinc_secondary.rdiff
cache_index.rdiff
checksum_table_live.rdiff
col_opt_not_null.opt Fixes in storage_engine test suite 2014-09-12 03:21:54 +04:00
col_opt_null.opt Fixes in storage_engine test suite 2014-09-12 03:21:54 +04:00
define_engine.inc MDEV-11782: Redefine the innodb_encrypt_log format 2017-02-15 08:07:20 +02:00
disabled.def 5.5 merge 2014-11-19 17:23:39 +01:00
fulltext_search.rdiff
index_enable_disable.rdiff
index_type_hash.rdiff
insert_delayed.rdiff
lock_concurrent.rdiff Follow-up for MDEV-6720 (enable connection log in mysqltest by default) 2016-06-19 20:30:03 +03:00
optimize_table.rdiff
repair_table.rdiff
suite.opt Fixes in storage_engine test suite 2014-09-12 03:21:54 +04:00
tbl_opt_data_index_dir.rdiff
tbl_opt_insert_method.rdiff
tbl_opt_row_format.rdiff
tbl_opt_union.rdiff
type_blob.opt Fixes in storage_engine test suite 2014-09-12 03:21:54 +04:00
type_char_indexes.rdiff engine_condition_pushdown has been deprecated 2014-10-12 14:26:27 +04:00
type_float_indexes.rdiff
type_spatial_indexes.rdiff Follow-up for MDEV-8675 and MDEV-8676 2015-09-14 03:12:54 +03:00
type_text.opt Fixes in storage_engine test suite 2014-09-12 03:21:54 +04:00