summaryrefslogtreecommitdiff
path: root/extra/CMakeLists.txt
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2017-08-03 08:29:36 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2017-08-03 08:29:36 +0300
commit8b019f87dd51b1d2755655d2f136d5429fc47e1f (patch)
tree5601d27ce338842a0fa2d90202e788663db39c23 /extra/CMakeLists.txt
parent56959e7b2ce621980bad1445a0a659c2b0fb4c83 (diff)
downloadmariadb-git-8b019f87dd51b1d2755655d2f136d5429fc47e1f.tar.gz
MDEV-11939: innochecksum mistakes a file for an encrypted one (page 0 invalid)
Always read full page 0 to determine does tablespace contain encryption metadata. Tablespaces that are page compressed or page compressed and encrypted do not compare checksum as it does not exists. For encrypted tables use checksum verification written for encrypted tables and normal tables use normal method. buf_page_is_checksum_valid_crc32 buf_page_is_checksum_valid_innodb buf_page_is_checksum_valid_none Add Innochecksum logging to file buf_page_is_corrupted Remove ib_logf and page_warn_strict_checksum calls in innochecksum compilation. Add innochecksum logging to file. fil0crypt.cc fil0crypt.h Modify to be able to use in innochecksum compilation and move fil_space_verify_crypt_checksum to end of the file. Add innochecksum logging to file. univ.i Add innochecksum strict_verify, log_file and cur_page_num variables as extern. page_zip_verify_checksum Add innochecksum logging to file. innochecksum.cc Lot of changes most notable able to read encryption metadata from page 0 of the tablespace. Added test case where we corrupt intentionally FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION (encryption key version) FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION+4 (post encryption checksum) FIL_DATA+10 (data)
Diffstat (limited to 'extra/CMakeLists.txt')
-rw-r--r--extra/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt
index 5b650413bf3..c8e15dd4fb4 100644
--- a/extra/CMakeLists.txt
+++ b/extra/CMakeLists.txt
@@ -77,7 +77,9 @@ IF(WITH_INNOBASE_STORAGE_ENGINE OR WITH_XTRADB_STORAGE_ENGINE)
../storage/innobase/buf/buf0checksum.cc
../storage/innobase/ut/ut0crc32.cc
../storage/innobase/ut/ut0ut.cc
+ ../storage/innobase/buf/buf0buf.cc
../storage/innobase/page/page0zip.cc
+ ../storage/innobase/fil/fil0crypt.cc
)
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")