201 Commits

Author SHA1 Message Date
Markus Mäkelä
4554bd1743
Cherry-pick: Fix ASAN problems
Cherry-picking the commit from develop since it's also needed for 2.2.

FindASAN did not look for so version 5 and TSAN referred to ASAN. Disable
leak checks for unit tests as some objects always leak, namely servers.
2018-09-30 20:12:35 +03:00
Markus Mäkelä
0387736130
Fix ASAN problems
FindASAN did not look for so version 5 and TSAN referred to ASAN. Disable
leak checks for unit tests as some objects always leak, namely servers.
2018-09-30 19:37:12 +03:00
Markus Mäkelä
7e3f5a03b6
Add a default value for BUILD_SYSTEM_TESTS
Adding a default value makes it visible in the CMake configuration GUI.
2018-08-22 16:43:17 +03:00
Markus Mäkelä
930be8d77a
Fix CMake problems in system test
The paths were wrong in the scripts used to run tests. The same problem
was in the CMake files that used CMAKE_SOURCE_DIR instead of
CMAKE_CURRENT_SOURCE_DIR.

Added missing check for BUILD_SYSTEM_TESTS in avrorouter for the
workaround to building without all dependencies present.
2018-08-20 13:56:58 +03:00
Markus Mäkelä
67df3ad4f0
Use option() CMake command
This is the appropriate command for ON/OFF options controlled by the
user. Also removed the useless C99 option which must always be on (using
C11 would be another option).
2018-08-20 13:56:58 +03:00
Markus Mäkelä
f09afa2967
Combine regression test suite and main CMake projects
Combining the projects makes it easier to use common components. This
fixes the build failure of maxutils due to missing jansson definitions.
2018-08-17 14:29:28 +03:00
Markus Mäkelä
0da0306ace
Merge branch '2.2' into develop 2018-08-15 18:08:52 +03:00
Markus Mäkelä
435963f2ed
Merge branch '2.1' into 2.2 2018-08-15 17:32:35 +03:00
Markus Mäkelä
e644debdf7
Fix SLES 15 packaging
SLES 15 doesn't have any sort of init functions which is why the error is
converted to a status message. A dummy file that just prints an error is
placed into /etc/init.d/ to make it clear to the users that they should
use systemd to start MaxScale.
2018-08-15 17:28:15 +03:00
Markus Mäkelä
33488e1a1f
Update Connector-C version
There are various bug fixes for TLS/SSL connections as well as
reconnections. A large number of compiler warnings were also removed.
2018-08-13 10:28:04 +03:00
Markus Mäkelä
c495abcca7
Remove excessive platform checks
The constants set by the header checks aren't used and removing them cuts
the configuration time in about half (from 5 to roughly 2 second).
2018-08-13 10:28:00 +03:00
Markus Mäkelä
785507b002
Check return value of nodejs --version
FindNodeJS.cmake once failed due to an error executing the program. To see
why it failed, the error output of the command should be printed.
2018-08-09 12:54:06 +03:00
Marko
7ea8ff9e59 MXS-1763 Move default location of maxadmin socket to /run/maxscale
MaxAdmin socket is now placed to piddir used by MaxScale.
2018-08-07 08:40:28 +03:00
Markus Mäkelä
7e857e36eb
Enable use of TSAN
The -DWITH_TSAN option enables the ThreadSanitizer if libtsan is
installed.
2018-07-31 09:41:14 +03:00
Johan Wikman
fd202c9339 Look for more ASAN llibrary versions
On Ubuntu libasan.so.1 and libasan.so.2 are present.
2018-06-25 11:01:08 +03:00
Markus Mäkelä
7254a7c525
Make maxutils a standalone library
The only way to cleanly separate the maxutils library from the MaxScale
CMake project is to make it a standalone CMake project. With the help of
ExternalProject, it should be relatively easy to use.
2018-06-22 13:59:57 +03:00
Markus Mäkelä
34aefa55c8
Remove write permissions on scripts
Accidental modifications of scripts/programs are more likely if the owner
has write permissions on the file. In addition, they are not required and
thus can be removed.
2018-04-27 18:15:19 +03:00
Markus Mäkelä
65033313a7
MXS-1701: Fix build instructions
Corrected the documentation on building from source and fixed a missing
variable check for the luafilter.
2018-03-22 13:29:28 +02:00
Markus Mäkelä
69811d9b19
Cherry-pick: Enable optional use of ASAN
AdressSanitizer is a lightweight memory error detector that instruments at
compile time instead of at execution time. This allows serious memory
errors to be detected without the cost of slowing down the whole program
that often happens when Valgrind is used. It is also easier to enable for
test runs as it is a simple compiler flag.

This is a cherry-pick of fb9b027842a7b65c4826455cd34d88e2f5f28e79 from the
2.2 branch.
2018-03-08 11:28:05 +02:00
dapeng huang
003ad03e8d make libmircohttpd source url configurable (#170) 2018-03-08 10:42:27 +02:00
Markus Mäkelä
eab4ec1768
Add component specific package descriptions
The package descriptions, summaries and licenses now use a generic
mechanism. This makes it easier to add new components that only include
small parts or use a different license.

Also updated the descriptions, the license versions and package summaries
for the main packages.
2018-02-12 13:31:10 +02:00
Markus Mäkelä
f252f25624
Move the CDC Connector into its own package
The connector is now in its own package to make its installation easier.
2018-02-12 13:31:10 +02:00
Markus Mäkelä
2a987716a8
Build tests by default
The tests are now built by default. This should make it easier for users
to verify that they have a working MaxScale.

Also made the building of test_parse_kill conditional like the rest of the
tests.
2018-02-08 12:48:56 +02:00
Markus Mäkelä
9b5d4d129e MXS-1630: Combine MaxCtrl into the main package
Added MaxCtrl to the core package. Removed the old packages from build
scripts.
2018-01-29 11:23:00 +02:00
Markus Mäkelä
070df73d99 MXS-1538: Integrate CDC-Connector into MaxScale
Added the files from the repository to MaxScale. Created a new CMake
function for installing development libraries.
2018-01-22 15:29:21 +02:00
Markus Mäkelä
8c0d519caa Update Connector-C to 3.0.3
Updated connector from 3.0.2 to 3.0.3.
2018-01-18 12:22:04 +02:00
Markus Mäkelä
0afe10ffb9 Merge branch '2.1' into 2.2 2018-01-16 09:47:49 +02:00
Markus Mäkelä
a732a4c9a2 Fix packaging when both RPM and DEB tools are installed
If both RPM and DEB tools are installed, only DEB packages should be
generated.
2018-01-05 12:50:39 +02:00
Markus Mäkelä
38d5bc5679 MXS-1462: Update Connector-C to 2.3.4
The issues with TLS were fixed by upgrading the connector to the latest
2.3 version.
2017-11-30 12:38:43 +02:00
Markus Mäkelä
fa492764c8 Disable building of C/C unit tests
The tests aren't run and so they don't have to be built.
2017-09-14 15:30:44 +03:00
Markus Mäkelä
914ebb046a Fix component names in package.cmake
The experimental component was mistakenly labeled as external.
2017-09-14 15:30:43 +03:00
Markus Mäkelä
f07cc2b3ef MXS-1398: Update Connector-C to version 3.0.2
Updated the Connector-C to 3.0.2.

Removed the `mysql_com.h` header from `maxscale/protocol/mysql.h` as it is
already included by `mysql.h` and including it causes errors with
Connector-C 3.0.2.

Organized includes in `maxscale/protocol/mysql.h`.
2017-09-14 15:30:42 +03:00
Markus Mäkelä
fb9b027842 Enable optional use of ASAN
AdressSanitizer is a lightweight memory error detector that instruments at
compile time instead of at execution time. This allows serious memory
errors to be detected without the cost of slowing down the whole program
that often happens when Valgrind is used. It is also easier to enable for
test runs as it is a simple compiler flag.
2017-08-17 15:02:16 +03:00
Esa Korhonen
2784858495 A few PAM cleanups
Print header found message only if libraries also found.
Change header guards to pragma once.
Check return value of store_client_password().
2017-08-16 13:47:29 +03:00
Markus Mäkelä
f336cb63cf Fix FindPam.cmake
The variables weren't set the into the variable cache for some reason.
2017-08-09 16:18:12 +03:00
Markus Mäkelä
7c38a56ea2 MXS-1300: Add client as a valid package name
The MaxCtrl component, `client`, needs to be in the list of valid
component names.
2017-08-09 11:39:25 +03:00
Esa Korhonen
7488129afc PAM code cleanup & refactor
Divided functionality into classes, fixed comments +
various other cleanup. BackenAuth no longer increments
sequence on sending password. SQLite busy timeout shortened
to 1 second.
2017-08-07 12:22:59 +03:00
Markus Mäkelä
1ec7d9a712 Fix FindNodeJS.cmake
Only `node` executable was searched.
2017-08-02 16:04:29 +03:00
Markus Mäkelä
854c4a1ed3 Add support for non-glibc systems
MaxScale can now be built on systems that use an alternative libc
implementation e.g. musl.
2017-08-02 11:51:55 +03:00
Markus Mäkelä
4bb4b921cb MXS-1300: Add check for Node.js version
The Node.js version is checked before MaxCtrl is built.
2017-07-24 12:33:19 +03:00
Markus Mäkelä
6c601955d6 MXS-1300: Build MaxCtrl if npm was found
If npm is installed on the local system, try to build MaxCtrl as a part of
the core.
2017-07-18 11:37:18 +03:00
MassimilianoPinto
cb57e10761 Develop merge
Develop merge
2017-06-29 15:34:22 +02:00
Markus Mäkelä
a72d73fa3b Always build Jansson
The library is now built even if the system has some version of Jansson.
2017-06-14 14:36:30 +03:00
Markus Mäkelä
a79a492601 Tell libmicrohttpd where to install libraries
Explicitly specify the library location for the configure script. This
should prevent problems with different library paths that the configure
script can generate.
2017-05-31 10:52:19 +03:00
Markus Mäkelä
75e7ac35ed MXS-1220: Always build libmicrohttpd
This allows MaxScale to use the PATCH functionality that's only in the
newer versions of the library. It also removes some of the problems that
exist with older systems that don't support all of the options.
2017-05-24 15:05:10 +03:00
Markus Mäkelä
c937457738 MXS-1220: Add request body parsing
The HTTP request body is expected to be a valid JSON object. All other
requests are considered malformed requests and result in a HTTP 400 error.

Added the Jansson license to the LICENSE-THIRDPARTY.TXT file. Imported
some of the tests from the Jansson test suite to the HttpParser test.
2017-05-04 09:10:32 +03:00
Markus Mäkelä
83d696cdde Enable JIT support for PCRE2
The bundled PCRE2 library was built without JIT support.
2017-03-21 13:12:54 +02:00
Markus Mäkelä
c4d08a6936 Update build dependencies and documentation
The libaio is not required by MaxScale so the check for it is no longer
needed.

Updated documentation to match the current requirements to build MaxScale.
2017-03-15 17:37:25 +02:00
Markus Mäkelä
d19e5b376d MXS-1032: Add configurable connector plugin directory
The connector plugin directory can now be controlled with the
`connector_plugindir` argument and configuration option. This should allow
the connector to use the system plugins if the versions are binary
compatible.

Replaced calls to mysql_options to mysql_optionsv as the former is
deprecated in Connector-C 3.0 and the latter is supported in Connector-C
2.3.
2017-03-15 09:11:18 +02:00
Esa Korhonen
a201379aad Add files to devel package
The devel package was missing the protocol/mysql.h-file. Also,
added copyright and licence files and a devel-specific description.
The package target is now checked to be one of the recognized ones.
2017-02-20 17:44:22 +02:00