Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
As noted in MDEV-20377, MemorySanitizer (cmake -DWITH_MSAN=ON) requires that all libraries be instrumented, with the possible exception of libc. Currently, libmariadb insists on linking with GNUTLS instead of WolfSSL, which we can easily build ourselves by specifying -DWITH_SSL=bundled.
An instrumented library is a must-have for WITH_MSAN builds, and it would also improve the coverage of other sanitizers (WITH_ASAN, WITH_UBSAN, WITH_TSAN).
Because libmariadb is normally licensed under the GNU LGPL version 2, which WolfSSL is believed to be incompatible with, we could consider introducing some configuration parameter, similar to the existing cmake flag NOT_FOR_DISTRIBUTION. That flag is already being used in cmake/readline.cmake and cmake/aws_sdk.cmake. However, its purpose appears to allow something GPLv2 incompatible to be built, while here the result should still be GPLv2 compatible while being LGPLv2 incompatible. Perhaps the option should be called NOT_LGPL or similar, and it should apply to Connector/C only, not to the MariaDB server?
Attachments
Issue Links
- relates to
-
MDEV-18531 Use WolfSSL instead of YaSSL as "bundled" SSL
-
- Closed
-
-
MDEV-21835 Implement option 'system-wolfssl' in build flag WITH_SSL
-
- Closed
-
-
MDEV-26761 main.mysql_client_test test_mdev19838 fails with MemorySanitizer
-
- Closed
-
-
MDEV-20377 Make WITH_MSAN more usable
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue blocks |
Link |
This issue relates to |
Description |
As noted in An instrumented library is a must-have for {{WITH_MSAN}} builds, and it would also improve the coverage of other sanitizers ({{WITH_ASAN}}, {{WITH_UBSAN}}, {{WITH_TSAN}}). |
As noted in An instrumented library is a must-have for {{WITH_MSAN}} builds, and it would also improve the coverage of other sanitizers ({{WITH_ASAN}}, {{WITH_UBSAN}}, {{WITH_TSAN}}). Because {{libmariadb}} is normally licensed under the GNU LGPL version 2, which WolfSSL is believed to be incompatible with, we could consider introducing some configuration parameter, similar to the existing {{cmake}} flag {{NOT_FOR_DISTRIBUTION}}. That flag is already being used in {{cmake/readline.cmake}} and {{cmake/aws_sdk.cmake}}. However, its purpose appears to allow something GPLv2 incompatible to be built, while here the result should still be GPLv2 compatible while being LGPLv2 incompatible. Perhaps the option should be called {{NOT_LGPL}} or similar, and it should apply to Connector/C only, not to the MariaDB server? |
Assignee | Vladislav Vaintroub [ wlad ] |
Link |
This issue blocks |
Link |
This issue relates to |
Link |
This issue relates to |
Assignee | Sergei Golubchik [ serg ] |
Link | This issue relates to TODO-2606 [ TODO-2606 ] |
Link | This issue blocks TODO-2184 [ TODO-2184 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Priority | Critical [ 2 ] | Major [ 3 ] |
Component/s | CI [ 15611 ] | |
Component/s | Compiling [ 11001 ] | |
Fix Version/s | 10.4 [ 23138 ] | |
Fix Version/s | 10.5 [ 24012 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Key |
|
|
Affects Version/s | 10.4 [ 23138 ] | |
Affects Version/s | 10.5 [ 24012 ] | |
Affects Version/s | 10.4 [ 22408 ] | |
Affects Version/s | 10.5 [ 23123 ] | |
Workflow | MariaDB v3 [ 106330 ] | Simple workflow [ 118726 ] |
Issue Type | Bug [ 1 ] | Task [ 3 ] |
Project | MariaDB Server [ 10000 ] | Dev todo [ 10100 ] |
Component/s | compiling [ 16810 ] |
Assignee | Sergei Golubchik [ serg ] | Daniel Black [ danblack ] |
Link | This issue blocks TODO-2184 [ TODO-2184 ] |
Assignee | Daniel Black [ danblack ] | Sergei Golubchik [ serg ] |
Comment | [ A comment with security level 'Developers' was removed. ] |
Assignee | Sergei Golubchik [ serg ] | Vicențiu Ciorbaru [ cvicentiu ] |
Summary | Allow libmariadb to be built with WolfSSL when WITH_SSL=bundled | Make libmariadb run under MSAN |
Assignee | Vicențiu Ciorbaru [ cvicentiu ] | Marko Mäkelä [ marko ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Component/s | libmariadb [ 14006 ] | |
Component/s | CI [ 15611 ] | |
Component/s | compiling [ 16810 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Fix Version/s | 10.4 [ 23138 ] | |
Fix Version/s | 10.5 [ 24012 ] | |
Key |
|
|
Affects Version/s | 10.4 [ 23138 ] | |
Affects Version/s | 10.5 [ 24012 ] | |
Workflow | Simple workflow [ 118726 ] | MariaDB v3 [ 125911 ] |
Project | Dev todo [ 10100 ] | MariaDB Server [ 10000 ] |
Link |
This issue relates to |
issue.field.resolutiondate | 2021-10-04 16:53:58.0 | 2021-10-04 16:53:58.628 |
Fix Version/s | 10.5.13 [ 26026 ] | |
Fix Version/s | 10.6.5 [ 26034 ] | |
Fix Version/s | 10.7.1 [ 26120 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 125911 ] | MariaDB v4 [ 134227 ] |