MXS-1592 Make all modules lowercase

Make all modules lowercase and make module loading case
insensitive. Further, make command invocation case insensitive,
as far as the module name is conserned.
This commit is contained in:
Johan Wikman
2018-01-03 11:06:17 +02:00
parent 289ae983df
commit 224f918845
24 changed files with 78 additions and 72 deletions

View File

@ -23,6 +23,7 @@
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include <dlfcn.h> #include <dlfcn.h>
#include <algorithm>
#include <maxscale/modinfo.h> #include <maxscale/modinfo.h>
#include <maxscale/log_manager.h> #include <maxscale/log_manager.h>
@ -139,9 +140,14 @@ void *load_module(const char *module, const char *type)
if ((mod = find_module(module)) == NULL) if ((mod = find_module(module)) == NULL)
{ {
size_t len = strlen(module);
char lc_module[len + 1];
lc_module[len] = 0;
std::transform(module, module + len, lc_module, tolower);
/** The module is not already loaded, search for the shared object */ /** The module is not already loaded, search for the shared object */
char fname[MAXPATHLEN + 1]; char fname[MAXPATHLEN + 1];
snprintf(fname, MAXPATHLEN + 1, "%s/lib%s.so", get_libdir(), module); snprintf(fname, MAXPATHLEN + 1, "%s/lib%s.so", get_libdir(), lc_module);
if (access(fname, F_OK) == -1) if (access(fname, F_OK) == -1)
{ {
@ -219,7 +225,7 @@ find_module(const char *module)
{ {
while (mod) while (mod)
{ {
if (strcmp(mod->module, module) == 0) if (strcasecmp(mod->module, module) == 0)
{ {
return mod; return mod;
} }

View File

@ -323,7 +323,7 @@ static bool process_argument(const MODULECMD *cmd, modulecmd_arg_type_t *type, c
if ((arg->value.monitor = monitor_find((char*)value))) if ((arg->value.monitor = monitor_find((char*)value)))
{ {
const char* eff_name = mxs_module_get_effective_name(arg->value.monitor->module_name); const char* eff_name = mxs_module_get_effective_name(arg->value.monitor->module_name);
if (MODULECMD_ALLOW_NAME_MISMATCH(type) || strcmp(cmd->domain, eff_name) == 0) if (MODULECMD_ALLOW_NAME_MISMATCH(type) || strcasecmp(cmd->domain, eff_name) == 0)
{ {
arg->type.type = MODULECMD_ARG_MONITOR; arg->type.type = MODULECMD_ARG_MONITOR;
rval = true; rval = true;
@ -343,7 +343,7 @@ static bool process_argument(const MODULECMD *cmd, modulecmd_arg_type_t *type, c
if ((arg->value.filter = filter_def_find((char*)value))) if ((arg->value.filter = filter_def_find((char*)value)))
{ {
const char* eff_name = mxs_module_get_effective_name(arg->value.filter->module); const char* eff_name = mxs_module_get_effective_name(arg->value.filter->module);
if (MODULECMD_ALLOW_NAME_MISMATCH(type) || strcmp(cmd->domain, eff_name) == 0) if (MODULECMD_ALLOW_NAME_MISMATCH(type) || strcasecmp(cmd->domain, eff_name) == 0)
{ {
arg->type.type = MODULECMD_ARG_FILTER; arg->type.type = MODULECMD_ARG_FILTER;
rval = true; rval = true;

View File

@ -1,4 +1,4 @@
add_library(CDCPlainAuth SHARED cdc_plain_auth.c) add_library(cdcplainauth SHARED cdc_plain_auth.c)
target_link_libraries(CDCPlainAuth maxscale-common) target_link_libraries(cdcplainauth maxscale-common)
set_target_properties(CDCPlainAuth PROPERTIES VERSION "1.0.0") set_target_properties(cdcplainauth PROPERTIES VERSION "1.0.0")
install_module(CDCPlainAuth core) install_module(cdcplainauth core)

View File

@ -1,4 +1,4 @@
add_library(GSSAPIAuth SHARED gssapi_auth.c ../gssapi_auth_common.c) add_library(gssapiauth SHARED gssapi_auth.c ../gssapi_auth_common.c)
target_link_libraries(GSSAPIAuth maxscale-common ${GSSAPI_LIBS} ${SQLITE_LIBRARIES} MySQLCommon) target_link_libraries(gssapiauth maxscale-common ${GSSAPI_LIBS} ${SQLITE_LIBRARIES} mysqlcommon)
set_target_properties(GSSAPIAuth PROPERTIES VERSION "1.0.0") set_target_properties(gssapiauth PROPERTIES VERSION "1.0.0")
install_module(GSSAPIAuth core) install_module(gssapiauth core)

View File

@ -1,4 +1,4 @@
add_library(GSSAPIBackendAuth SHARED gssapi_backend_auth.c ../gssapi_auth_common.c) add_library(gssapibackendauth SHARED gssapi_backend_auth.c ../gssapi_auth_common.c)
target_link_libraries(GSSAPIBackendAuth maxscale-common ${GSSAPI_LIBS} MySQLCommon) target_link_libraries(gssapibackendauth maxscale-common ${GSSAPI_LIBS} mysqlcommon)
set_target_properties(GSSAPIBackendAuth PROPERTIES VERSION "1.0.0") set_target_properties(gssapibackendauth PROPERTIES VERSION "1.0.0")
install_module(GSSAPIBackendAuth core) install_module(gssapibackendauth core)

View File

@ -1,4 +1,4 @@
add_library(HTTPAuth SHARED http_auth.c) add_library(httpauth SHARED http_auth.c)
target_link_libraries(HTTPAuth maxscale-common) target_link_libraries(httpauth maxscale-common)
set_target_properties(HTTPAuth PROPERTIES VERSION "1.0.0") set_target_properties(httpauth PROPERTIES VERSION "1.0.0")
install_module(HTTPAuth core) install_module(httpauth core)

View File

@ -1,4 +1,4 @@
add_library(MaxAdminAuth SHARED max_admin_auth.c) add_library(maxadminauth SHARED max_admin_auth.c)
target_link_libraries(MaxAdminAuth maxscale-common) target_link_libraries(maxadminauth maxscale-common)
set_target_properties(MaxAdminAuth PROPERTIES VERSION "1.0.0") set_target_properties(maxadminauth PROPERTIES VERSION "1.0.0")
install_module(MaxAdminAuth core) install_module(maxadminauth core)

View File

@ -1,8 +1,8 @@
if(SQLITE_VERSION VERSION_LESS 3.3) if(SQLITE_VERSION VERSION_LESS 3.3)
message(FATAL_ERROR "SQLite version 3.3 or higher is required") message(FATAL_ERROR "SQLite version 3.3 or higher is required")
else() else()
add_library(MySQLAuth SHARED mysql_auth.c dbusers.c) add_library(mysqlauth SHARED mysql_auth.c dbusers.c)
target_link_libraries(MySQLAuth maxscale-common MySQLCommon sqlite3) target_link_libraries(mysqlauth maxscale-common mysqlcommon sqlite3)
set_target_properties(MySQLAuth PROPERTIES VERSION "1.0.0") set_target_properties(mysqlauth PROPERTIES VERSION "1.0.0")
install_module(MySQLAuth core) install_module(mysqlauth core)
endif() endif()

View File

@ -1,4 +1,4 @@
add_library(MySQLBackendAuth SHARED mysql_backend_auth.c) add_library(mysqlbackendauth SHARED mysql_backend_auth.c)
target_link_libraries(MySQLBackendAuth maxscale-common MySQLCommon) target_link_libraries(mysqlbackendauth maxscale-common mysqlcommon)
set_target_properties(MySQLBackendAuth PROPERTIES VERSION "1.0.0") set_target_properties(mysqlbackendauth PROPERTIES VERSION "1.0.0")
install_module(MySQLBackendAuth core) install_module(mysqlbackendauth core)

View File

@ -1,4 +1,4 @@
add_library(NullAuthAllow SHARED null_auth_allow.c) add_library(nullauthallow SHARED null_auth_allow.c)
target_link_libraries(NullAuthAllow maxscale-common MySQLCommon) target_link_libraries(nullauthallow maxscale-common mysqlcommon)
set_target_properties(NullAuthAllow PROPERTIES VERSION "1.0.0") set_target_properties(nullauthallow PROPERTIES VERSION "1.0.0")
install_module(NullAuthAllow core) install_module(nullauthallow core)

View File

@ -1,4 +1,4 @@
add_library(NullAuthDeny SHARED null_auth_deny.c) add_library(nullauthdeny SHARED null_auth_deny.c)
target_link_libraries(NullAuthDeny maxscale-common) target_link_libraries(nullauthdeny maxscale-common)
set_target_properties(NullAuthDeny PROPERTIES VERSION "1.0.0") set_target_properties(nullauthdeny PROPERTIES VERSION "1.0.0")
install_module(NullAuthDeny core) install_module(nullauthdeny core)

View File

@ -1,4 +1,4 @@
add_library(PAMAuth SHARED pam_auth.cc ../pam_auth_common.cc pam_client_session.cc pam_instance.cc) add_library(pamauth SHARED pam_auth.cc ../pam_auth_common.cc pam_client_session.cc pam_instance.cc)
target_link_libraries(PAMAuth maxscale-common ${PAM_LIBRARIES} ${SQLITE_LIBRARIES} MySQLCommon) target_link_libraries(pamauth maxscale-common ${PAM_LIBRARIES} ${SQLITE_LIBRARIES} mysqlcommon)
set_target_properties(PAMAuth PROPERTIES VERSION "1.0.0") set_target_properties(pamauth PROPERTIES VERSION "1.0.0")
install_module(PAMAuth core) install_module(pamauth core)

View File

@ -1,4 +1,4 @@
add_library(PAMBackendAuth SHARED pam_backend_auth.cc ../pam_auth_common.cc pam_backend_session.cc) add_library(pambackendauth SHARED pam_backend_auth.cc ../pam_auth_common.cc pam_backend_session.cc)
target_link_libraries(PAMBackendAuth maxscale-common MySQLCommon ${SQLITE_LIBRARIES}) target_link_libraries(pambackendauth maxscale-common mysqlcommon ${SQLITE_LIBRARIES})
set_target_properties(PAMBackendAuth PROPERTIES VERSION "1.0.0") set_target_properties(pambackendauth PROPERTIES VERSION "1.0.0")
install_module(PAMBackendAuth core) install_module(pambackendauth core)

View File

@ -17,7 +17,7 @@ if (JANSSON_FOUND)
storagefactory.cc storagefactory.cc
storagereal.cc storagereal.cc
) )
target_link_libraries(cache maxscale-common ${JANSSON_LIBRARIES} MySQLCommon) target_link_libraries(cache maxscale-common ${JANSSON_LIBRARIES} mysqlcommon)
set_target_properties(cache PROPERTIES VERSION "1.0.0") set_target_properties(cache PROPERTIES VERSION "1.0.0")
set_target_properties(cache PROPERTIES LINK_FLAGS -Wl,-z,defs) set_target_properties(cache PROPERTIES LINK_FLAGS -Wl,-z,defs)
install_module(cache core) install_module(cache core)

View File

@ -12,13 +12,13 @@ if(BISON_FOUND AND FLEX_FOUND)
add_dependencies(dbfwfilter-core pcre2 connector-c) add_dependencies(dbfwfilter-core pcre2 connector-c)
add_library(dbfwfilter SHARED dbfwfilter.cc) add_library(dbfwfilter SHARED dbfwfilter.cc)
target_link_libraries(dbfwfilter maxscale-common MySQLCommon dbfwfilter-core) target_link_libraries(dbfwfilter maxscale-common mysqlcommon dbfwfilter-core)
set_target_properties(dbfwfilter PROPERTIES VERSION "1.0.0") set_target_properties(dbfwfilter PROPERTIES VERSION "1.0.0")
install_module(dbfwfilter core) install_module(dbfwfilter core)
# The offline rule check utility # The offline rule check utility
add_executable(dbfwchk dbfw_rule_check.cc) add_executable(dbfwchk dbfw_rule_check.cc)
target_link_libraries(dbfwchk maxscale-common MySQLCommon dbfwfilter-core) target_link_libraries(dbfwchk maxscale-common mysqlcommon dbfwfilter-core)
install_executable(dbfwchk core) install_executable(dbfwchk core)
if(BUILD_TESTS) if(BUILD_TESTS)

View File

@ -1,4 +1,4 @@
add_library(insertstream SHARED insertstream.c) add_library(insertstream SHARED insertstream.c)
target_link_libraries(insertstream maxscale-common MySQLCommon) target_link_libraries(insertstream maxscale-common mysqlcommon)
set_target_properties(insertstream PROPERTIES VERSION "1.0.0") set_target_properties(insertstream PROPERTIES VERSION "1.0.0")
install_module(insertstream core) install_module(insertstream core)

View File

@ -1,4 +1,4 @@
add_library(tee SHARED tee.cc teesession.cc) add_library(tee SHARED tee.cc teesession.cc)
target_link_libraries(tee maxscale-common MySQLCommon) target_link_libraries(tee maxscale-common mysqlcommon)
set_target_properties(tee PROPERTIES VERSION "1.0.0") set_target_properties(tee PROPERTIES VERSION "1.0.0")
install_module(tee core) install_module(tee core)

View File

@ -1,4 +1,4 @@
add_library(CDC SHARED cdc.c) add_library(cdc SHARED cdc.c)
target_link_libraries(CDC maxscale-common) target_link_libraries(cdc maxscale-common)
set_target_properties(CDC PROPERTIES VERSION "1.0.1") set_target_properties(cdc PROPERTIES VERSION "1.0.1")
install_module(CDC core) install_module(cdc core)

View File

@ -1,7 +1,7 @@
add_library(MySQLCommon SHARED mysql_common.cc mariadb_client.cc) add_library(mysqlcommon SHARED mysql_common.cc mariadb_client.cc)
target_link_libraries(MySQLCommon maxscale-common) target_link_libraries(mysqlcommon maxscale-common)
set_target_properties(MySQLCommon PROPERTIES VERSION "2.0.0") set_target_properties(mysqlcommon PROPERTIES VERSION "2.0.0")
install_module(MySQLCommon core) install_module(mysqlcommon core)
add_subdirectory(MySQLBackend) add_subdirectory(MySQLBackend)
add_subdirectory(MySQLClient) add_subdirectory(MySQLClient)

View File

@ -1,7 +1,7 @@
add_library(MySQLBackend SHARED mysql_backend.c) add_library(mysqlbackend SHARED mysql_backend.c)
# TODO: Refactor MySQLBackend so that COM_CHANGE_USER processing is # TODO: Refactor MySQLBackend so that COM_CHANGE_USER processing is
# transparent to the protocol module. After this change, we don't need to # transparent to the protocol module. After this change, we don't need to
# link against MySQLAuth. # link against MySQLAuth.
target_link_libraries(MySQLBackend maxscale-common MySQLCommon MySQLAuth) target_link_libraries(mysqlbackend maxscale-common mysqlcommon mysqlauth)
set_target_properties(MySQLBackend PROPERTIES VERSION "2.0.0") set_target_properties(mysqlbackend PROPERTIES VERSION "2.0.0")
install_module(MySQLBackend core) install_module(mysqlbackend core)

View File

@ -1,7 +1,7 @@
add_library(MySQLClient SHARED mysql_client.cc) add_library(mysqlclient SHARED mysql_client.cc)
target_link_libraries(MySQLClient maxscale-common MySQLCommon) target_link_libraries(mysqlclient maxscale-common mysqlcommon)
set_target_properties(MySQLClient PROPERTIES VERSION "1.0.0") set_target_properties(mysqlclient PROPERTIES VERSION "1.0.0")
install_module(MySQLClient core) install_module(mysqlclient core)
if(BUILD_TESTS) if(BUILD_TESTS)
add_subdirectory(test) add_subdirectory(test)

View File

@ -1,4 +1,4 @@
add_executable(test_parse_kill test_parse_kill.cc) add_executable(test_parse_kill test_parse_kill.cc)
target_link_libraries(test_parse_kill maxscale-common MySQLCommon) target_link_libraries(test_parse_kill maxscale-common mysqlcommon)
add_test(test_parse_kill test_parse_kill) add_test(test_parse_kill test_parse_kill)

View File

@ -7,6 +7,6 @@ rwsplit_select_backends.cc
rwsplit_session_cmd.cc rwsplit_session_cmd.cc
rwsplit_tmp_table_multi.cc rwsplit_tmp_table_multi.cc
rwsplit_ps.cc) rwsplit_ps.cc)
target_link_libraries(readwritesplit maxscale-common MySQLCommon) target_link_libraries(readwritesplit maxscale-common mysqlcommon)
set_target_properties(readwritesplit PROPERTIES VERSION "1.0.2") set_target_properties(readwritesplit PROPERTIES VERSION "1.0.2")
install_module(readwritesplit core) install_module(readwritesplit core)

View File

@ -1,5 +1,5 @@
add_library(schemarouter SHARED schemarouter.cc schemarouterinstance.cc schemaroutersession.cc shard_map.cc) add_library(schemarouter SHARED schemarouter.cc schemarouterinstance.cc schemaroutersession.cc shard_map.cc)
target_link_libraries(schemarouter maxscale-common MySQLCommon) target_link_libraries(schemarouter maxscale-common mysqlcommon)
add_dependencies(schemarouter pcre2) add_dependencies(schemarouter pcre2)
set_target_properties(schemarouter PROPERTIES VERSION "1.0.0") set_target_properties(schemarouter PROPERTIES VERSION "1.0.0")
install_module(schemarouter core) install_module(schemarouter core)