Commit Graph

38 Commits

Author SHA1 Message Date
Azat Khuzhin
d83ea5844f Enable use-after-destruction detection in MSan
Refs: https://clang.llvm.org/docs/MemorySanitizer.html#use-after-destruction-detection
2021-04-28 23:02:52 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
90df89b504 cmake/sanitizers.cmake: tiny refactoring 2020-12-16 21:31:03 +03:00
Azat Khuzhin
8de0c0e8fc Fix warning message for unusupported -fsanitize-blacklist 2020-12-15 02:29:09 +03:00
Azat Khuzhin
519d89dc9f Do not pass -fsanitize-blacklist for gcc (it does not support it) for UBSAN 2020-12-15 02:24:28 +03:00
Alexey Milovidov
5e502c52b3 Merge branch 'master' into AES_encrypt_decrypt 2020-10-14 16:30:23 +03:00
myrrc
c78d9f9f38 moved the generators to docs/ folder 2020-09-19 19:42:36 +03:00
Alexey Milovidov
799a675b5d Merge branch 'master' into AES_encrypt_decrypt 2020-09-17 21:42:51 +03:00
myrrc
7cd5c0d34f Merge remote-tracking branch 'upstream/master' into feature/cmake-flags-doc-generator 2020-09-17 19:17:09 +03:00
myrrc
ac606dca77 updated cmake/ files, added some comments 2020-09-17 18:37:23 +03:00
Azat Khuzhin
0f4fdcbf38 Pass -fsanitize-blacklist for TSAN only under clang (gcc does not support this)
And no such check for -fsnaitize=memory, since gcc does not support it
anyway.
2020-09-10 02:07:28 +03:00
Vasily Nemkov
b147ffcd43 encrypt, aes_encrypt_mysql, decrypt, aes_decrypt_mysql functions
Functions to encrypt/decrypt any input data with OpenSSL's ciphers
with custom key, iv, and add (-gcm mode only).

_mysql versions are 100% compatitable with corresponding MySQL functions

Supported modes depend on OpenSSL version, but generally are:
aes-{128,192,56}-{ecb,cbc,cfb1,cfb8,cfb128,ofb,gcm}

Please note that in a -gcm mode a 16-byte tag is appended to the ciphertext
on encryption and is expected to be found at the end of ciphertext on decryption.

Added tests that verify compatibility with MySQL functions,
and test vectors for GCM mode from OpenSSL.

Added masking rules for aes_X funtions
Rules are installed by default to config.d/query_masking_rules.xml
2020-09-01 12:42:15 +03:00
Alexey Milovidov
99e64729bb Remove obsolete TSan suppressions 2020-05-11 10:05:46 +03:00
Eldar Zaitov
d7a037c26b split fuzzers and sanitizers 2020-04-25 10:12:38 +03:00
Ivan
97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00
tavplubix
3b770d8b1b
Fix stateless tests with msan (#9531)
* try run tests

* try fix build

* try enable other libraries

* suppress some msan warnings

* Update msan_suppressions.txt

* Update msan_suppressions.txt

* use function names in suppressions list

* update submodule
2020-03-08 12:32:22 +03:00
Alexey Milovidov
59d9bfa71e Enable Avro with Memory Sanitizer 2020-01-23 21:47:17 +03:00
Alexey Milovidov
76e04b9843 Merge branch 'avro' of https://github.com/oandrew/ClickHouse into oandrew-avro 2020-01-18 21:23:55 +03:00
Alexey Milovidov
c0a5c664a9 Replace readline to replxx: docs and corrections 2020-01-18 18:44:08 +03:00
Andrew Onyshchuk
7320447f92 Add Avro formats
Add Avro file input/output formats
Add AvroConfluent input format (for Kafka)
2020-01-08 03:18:00 -06:00
Alexey Milovidov
a7ef9e911a Fixed UBSan check in CI 2019-12-18 18:30:23 +03:00
Alexey Milovidov
c8e19f8bc8 Enable ICU for build with Memory Sanitizer 2019-12-15 20:53:16 +03:00
Alexander Kuzmenkov
f0ed2bd233 Suppress an msan false positive in exception handling.
See https://github.com/google/sanitizers/issues/1155
2019-12-12 21:28:58 +03:00
Amos Bird
dbc352fdf9 glibc 2.29 compatibility 2019-09-30 12:28:50 +08:00
Alexander Kuzmenkov
6e32553e01 Add a comment about MemorySanitizer options. 2019-09-24 22:00:47 +03:00
Alexander Kuzmenkov
8ca6d6ed5d Prepare for MemorySanitizer build in CI.
This is a preparatory commit just to get the msan build running in some
shape. It disables many external libraries that are not yet tested.
2019-09-23 21:11:28 +03:00
alexey-milovidov
b0dd36db7c
Update sanitize.cmake 2019-09-23 00:22:22 +03:00
alexey-milovidov
c5f9b4ad0a
Update sanitize.cmake 2019-09-23 00:21:41 +03:00
Eldar Zaitov
b174833bdf Initial fuzzing support with libfuzzer 2019-09-22 13:34:09 +03:00
Alexey Milovidov
9b901c50a3 Fixed error with libcxx build #3949 2018-12-29 02:42:39 +03:00
Alexey Milovidov
6d2206e25b Preparations for MSan [#CLICKHOUSE-2] 2018-12-28 07:40:28 +03:00
Alexey Milovidov
bd9cd5c61b Using libcxx as a submodule [#CLICKHOUSE-2] 2018-12-28 06:25:04 +03:00
Alexey Milovidov
7b1d6df25f Merge remote-tracking branch 'origin/master' into ubsan-fixes-3 2018-09-02 23:42:15 +03:00
Alexey Milovidov
198dd78100 Added -fno-sanitize-recover [#CLICKHOUSE-2] 2018-09-02 22:47:04 +03:00
Alexey Milovidov
5ff8b2da04 Added useful option with ASan [#CLICKHOUSE-2] 2018-09-02 22:44:34 +03:00
Alexey Milovidov
0e557b47fa Better way to enable sanitizers in CMake [#CLICKHOUSE-2] 2018-08-08 07:14:53 +03:00
Alexey Milovidov
28b46655db Added support for MSan [#CLICKHOUSE-2] 2018-03-03 23:37:12 +03:00
proller
cf9a33d04f CLICKHOUSE-3600 Use correct lld version, cmake fixes (#1968)
* Allow build without rt library

* fix

* Cmake misc

* CLICKHOUSE-3600 Use correct lld version

* CLICKHOUSE-3600 Use correct lld version

* Use libllvm same version as clang

* fix

* Fix build with iodbc

* Fix iodbc build

* Fix gold find

* Fix empty lines
2018-02-26 21:34:22 +03:00