mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
finish unix makefile updates
This commit is contained in:
parent
09f2ae27de
commit
5642805b7e
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -19,3 +19,6 @@
|
||||
[submodule "dependencies/poco"]
|
||||
path = dependencies/poco
|
||||
url = https://github.com/pocoproject/poco.git
|
||||
[submodule "dependencies/cmake-modules"]
|
||||
path = dependencies/cmake-modules
|
||||
url = https://github.com/viaduck/cmake-modules.git
|
||||
|
||||
@ -16,9 +16,11 @@ include_directories(
|
||||
"dependencies/grpc/third_party/protobuf/src"
|
||||
"src/cpp/proto"
|
||||
)
|
||||
|
||||
#if(WIN32)
|
||||
#include_directories("dependencies/mariadb-connector-c/include", "dependencies/mariadb-connector-c/build/include")
|
||||
set(MYSQL_INCLUDE_DIR "dependencies/mariadb-connector-c/include")
|
||||
|
||||
#endif(WIN32)
|
||||
|
||||
FILE(GLOB CONTROLLER "src/cpp/controller/*.cpp" "src/cpp/controller/*.h")
|
||||
FILE(GLOB TINF "dependencies/tinf/src/*.c" "dependencies/tinf/src/*.h")
|
||||
@ -85,10 +87,15 @@ conan_basic_setup()
|
||||
|
||||
|
||||
add_executable(Gradido_LoginServer ${LOCAL_SRCS})
|
||||
|
||||
set(CLIENT_PLUGIN_DIALOG OFF)
|
||||
set(CLIENT_PLUGIN_client_ed25519 OFF)
|
||||
set(CLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD OFF)
|
||||
set(CLIENT_PLUGIN_REMOTE_IO OFF)
|
||||
set(WITH_SSL OFF)
|
||||
add_subdirectory("dependencies/mariadb-connector-c")
|
||||
|
||||
set(DEP_PATH "dependencies")
|
||||
set(MARIADB_CONNECTOR_PATH "${DEP_PATH}/mariadb-connector-c/build/libmariadb")
|
||||
#set(MARIADB_CONNECTOR_PATH "${DEP_PATH}/mariadb-connector-c/build/libmariadb")
|
||||
|
||||
set(GRPC_PATH "${DEP_PATH}/grpc/build")
|
||||
set(GRPC_ABSL_PATH "${GRPC_PATH}/third_party/abseil-cpp/absl/types")
|
||||
@ -126,8 +133,8 @@ if(WIN32)
|
||||
|
||||
|
||||
else (WIN32)
|
||||
|
||||
find_library(MYSQL_LIBRARIES libmariadb.so PATHS ${MARIADB_CONNECTOR_PATH} REQUIRED)
|
||||
#find_package(MariaDBClient PATHS "dependencies/cmake-modules")
|
||||
#find_library(MYSQL_LIBRARIES libmariadb.so PATHS ${MARIADB_CONNECTOR_PATH} REQUIRED)
|
||||
set(GRPC_PROTOBUF_DEBUG_PATH "${GRPC_PROTOBUF_PATH}")
|
||||
|
||||
list(REMOVE_ITEM CONAN_LIBS "ssl")
|
||||
@ -138,7 +145,7 @@ else (WIN32)
|
||||
endif(WIN32)
|
||||
|
||||
# load same ssl version like used from poco
|
||||
find_package(OpenSSL PATHS . NO_DEFAULT_PATH)
|
||||
#find_package(OpenSSL PATHS "../" NO_DEFAULT_PATH)
|
||||
|
||||
find_library(CONAN_OPENSSL_SSL ssl PATHS ${CONAN_LIB_DIRS_OPENSSL} REQUIRED NO_DEFAULT_PATH )
|
||||
find_library(CONAN_OPENSSL_CRYPTO crypto PATHS ${CONAN_LIB_DIRS_OPENSSL} REQUIRED NO_DEFAULT_PATH )
|
||||
@ -147,11 +154,9 @@ set(CONAN_OPENSSL_CUSTOM_LIBS
|
||||
${CONAN_OPENSSL_SSL}
|
||||
${CONAN_OPENSSL_CRYPTO}
|
||||
)
|
||||
include_directories(${CONAN_INCLUDE_DIRS_OPENSSL})
|
||||
# build grpc
|
||||
|
||||
set(BUILD_TESTING OFF)
|
||||
set(gRPC_SSL_PROVIDER "package")
|
||||
add_subdirectory("dependencies/grpc/")
|
||||
message(STATUS "Using gRPC via add_subdirectory.")
|
||||
|
||||
|
||||
if(WIN32)
|
||||
@ -164,14 +169,16 @@ else(WIN32)
|
||||
|
||||
set(INSTALL_BINDIR "bin")
|
||||
set(INSTALL_PLUGINDIR "bin")
|
||||
|
||||
include_directories(
|
||||
${CONAN_INCLUDE_DIRS_OPENSSL}
|
||||
)
|
||||
|
||||
target_link_libraries(Gradido_LoginServer ${CONAN_OPENSSL_CUSTOM_LIBS})
|
||||
|
||||
endif(WIN32)
|
||||
|
||||
set(BUILD_TESTING OFF)
|
||||
set(gRPC_SSL_PROVIDER "package")
|
||||
add_subdirectory("dependencies/grpc/")
|
||||
set(gRPC_SSL_PROVIDER "package")
|
||||
message(STATUS "Using gRPC via add_subdirectory.")
|
||||
|
||||
set(GRPC_LIBS libprotobuf grpc++_reflection grpc++)
|
||||
target_link_libraries(Gradido_LoginServer ${CONAN_LIBS})
|
||||
|
||||
@ -180,12 +187,13 @@ if(WIN32)
|
||||
TARGET_LINK_LIBRARIES(Gradido_LoginServer debug ${COMPILED_MARIADB_CLIENT_DEBUG} Shlwapi)
|
||||
TARGET_LINK_LIBRARIES(Gradido_LoginServer debug ${GRPC_LIBS} ${PROTOBUF_DEBUG_LIBS})
|
||||
else(WIN32) # unix
|
||||
target_link_libraries(Gradido_LoginServer ${MYSQL_LIBRARIES} ${CONAN_OPENSSL_CUSTOM_LIBS} ${GRPC_LIBS} ${CMAKE_DL_LIBS} ${PROTOBUF_LIBS})
|
||||
target_link_libraries(Gradido_LoginServer libmariadb ${GRPC_LIBS} ${CMAKE_DL_LIBS} ${PROTOBUF_LIBS})
|
||||
endif(WIN32)
|
||||
|
||||
# install
|
||||
if(UNIX)
|
||||
install(TARGETS Gradido_LoginServer RUNTIME DESTINATION /usr/local/bin)
|
||||
#install(LIBRARYS DESTINATION /usr/local/lib)
|
||||
#install(FILES lib/libmariadb /usr/local/lib)
|
||||
install(FILES DESTINATION lib COMPONENT libmariadb)
|
||||
install(DIRECTORY src/LOCALE DESTINATION /etc/grd_login/
|
||||
@ -206,12 +214,13 @@ target_compile_definitions(Gradido_LoginServer_Test PUBLIC "_TEST_BUILD")
|
||||
|
||||
target_link_libraries(Gradido_LoginServer_Test ${CONAN_LIBS} )
|
||||
|
||||
|
||||
if(WIN32)
|
||||
TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test optimized ${MYSQL_LIBRARIES} Shlwapi)
|
||||
TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test debug ${COMPILED_MARIADB_CLIENT_DEBUG} Shlwapi)
|
||||
TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test debug ${GRPC_LIBS} ${PROTOBUF_DEBUG_LIBS})
|
||||
else(WIN32)
|
||||
target_link_libraries(Gradido_LoginServer_Test ${MYSQL_LIBRARIES} ${CONAN_OPENSSL_CUSTOM_LIBS} ${GRPC_LIBS} ${CMAKE_DL_LIBS} ${PROTOBUF_LIBS})
|
||||
target_link_libraries(Gradido_LoginServer_Test libmariadb ${GRPC_LIBS} ${CMAKE_DL_LIBS} ${PROTOBUF_LIBS})
|
||||
endif(WIN32)
|
||||
|
||||
add_test(NAME main COMMAND Gradido_LoginServer_Test)
|
||||
|
||||
@ -25,6 +25,8 @@ set(OpenSSL_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_OPENSSL}")
|
||||
set(OpenSSL_INCLUDE_DIR "${CONAN_INCLUDE_DIRS_OPENSSL}")
|
||||
set(OpenSSL_INCLUDES "${CONAN_INCLUDE_DIRS_OPENSSL}")
|
||||
set(OpenSSL_RES_DIRS "${CONAN_RES_DIRS_OPENSSL}")
|
||||
set(OPENSSL_ROOT_DIR "${CONAN_OPENSSL_ROOT}")
|
||||
set(OPENSSL_DIR "${CONAN_OPENSSL_ROOT}")
|
||||
set(OpenSSL_DEFINITIONS )
|
||||
set(OpenSSL_LINKER_FLAGS_LIST
|
||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:>"
|
||||
|
||||
1
dependencies/cmake-modules
vendored
Submodule
1
dependencies/cmake-modules
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 7304f680be32915e772466ebddc5b7d3b453abd9
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
|
||||
|
||||
Gradido_LoginServer::Gradido_LoginServer()
|
||||
Gradido_LoginServer::Gradido_LoginServer()
|
||||
: _helpRequested(false)
|
||||
{
|
||||
}
|
||||
@ -147,7 +147,7 @@ int Gradido_LoginServer::main(const std::vector<std::string>& args)
|
||||
unsigned short port = (unsigned short)config().getInt("HTTPServer.port", 9980);
|
||||
unsigned short json_port = (unsigned short)config().getInt("JSONServer.port", 1201);
|
||||
|
||||
|
||||
|
||||
//printf("show mnemonic list: \n");
|
||||
//printf(ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER].getCompleteWordList().data());
|
||||
if (!ServerConfig::initServerCrypto(config())) {
|
||||
@ -156,7 +156,7 @@ int Gradido_LoginServer::main(const std::vector<std::string>& args)
|
||||
return Application::EXIT_CONFIG;
|
||||
}
|
||||
|
||||
// first check time for crypto
|
||||
// first check time for crypto
|
||||
SecretKeyCryptography test_crypto;
|
||||
Profiler timeUsed;
|
||||
if (test_crypto.createKey("email@google.de", "haz27Newpassword") != SecretKeyCryptography::AUTH_CREATE_ENCRYPTION_KEY_SUCCEED) {
|
||||
@ -178,13 +178,18 @@ int Gradido_LoginServer::main(const std::vector<std::string>& args)
|
||||
ServerConfig::g_CPUScheduler = new UniLib::controller::CPUSheduler(worker_count, "Default Worker");
|
||||
ServerConfig::g_CryptoCPUScheduler = new UniLib::controller::CPUSheduler(2, "Crypto Worker");
|
||||
|
||||
|
||||
// load up connection configs
|
||||
// register MySQL connector
|
||||
Poco::Data::MySQL::Connector::registerConnector();
|
||||
//Poco::Data::MySQL::Connector::KEY;
|
||||
try {
|
||||
Poco::Data::MySQL::Connector::registerConnector();
|
||||
} catch(Poco::Exception& ex) {
|
||||
errorLog.error("[Gradido_LoginServer::main] Poco Exception by register MySQL Connector: %s", ex.displayText());
|
||||
return Application::EXIT_CONFIG;
|
||||
}
|
||||
|
||||
auto conn = ConnectionManager::getInstance();
|
||||
//conn->setConnection()
|
||||
//printf("try connect login server mysql db\n");
|
||||
|
||||
conn->setConnectionsFromConfig(config(), CONNECTION_MYSQL_LOGIN_SERVER);
|
||||
//printf("try connect php server mysql \n");
|
||||
//conn->setConnectionsFromConfig(config(), CONNECTION_MYSQL_PHP_SERVER);
|
||||
@ -196,10 +201,10 @@ int Gradido_LoginServer::main(const std::vector<std::string>& args)
|
||||
Poco::Net::initializeSSL();
|
||||
if(!ServerConfig::initSSLClientContext()) {
|
||||
//printf("[Gradido_LoginServer::%s] error init server SSL Client\n", __FUNCTION__);
|
||||
errorLog.error("[Gradido_LoginServer::main] error init server SSL Client\n");
|
||||
errorLog.error("[Gradido_LoginServer::main] error init server SSL Client");
|
||||
return Application::EXIT_CONFIG;
|
||||
}
|
||||
|
||||
|
||||
// schedule email verification resend
|
||||
controller::User::checkIfVerificationEmailsShouldBeResend(ServerConfig::g_CronJobsTimer);
|
||||
controller::User::addMissingEmailHashes();
|
||||
@ -211,7 +216,7 @@ int Gradido_LoginServer::main(const std::vector<std::string>& args)
|
||||
Poco::ThreadPool& pool = Poco::ThreadPool::defaultPool();
|
||||
Poco::Net::HTTPServer srv(new PageRequestHandlerFactory, svs, new Poco::Net::HTTPServerParams);
|
||||
ServerConfig::g_ServerKeySeed->put(7, 918276611);
|
||||
|
||||
|
||||
// start the HTTPServer
|
||||
srv.start();
|
||||
|
||||
|
||||
@ -48,18 +48,25 @@ const std::string& Connector::name() const
|
||||
Poco::AutoPtr<Poco::Data::SessionImpl> Connector::createSession(const std::string& connectionString,
|
||||
std::size_t timeout)
|
||||
{
|
||||
return Poco::AutoPtr<Poco::Data::SessionImpl>(new SessionImpl(connectionString, timeout));
|
||||
return Poco::AutoPtr<Poco::Data::SessionImpl>(new SessionImpl(connectionString, timeout));
|
||||
}
|
||||
|
||||
|
||||
void Connector::registerConnector()
|
||||
{
|
||||
if (mysql_library_init(0, 0, 0) != 0)
|
||||
{
|
||||
throw Exception("mysql_library_init error");
|
||||
}
|
||||
ServerConfig::g_ServerKeySeed->put(4, DRRandom::r64());
|
||||
printf("function pointer address: %d\n", mysql_library_init);
|
||||
try {
|
||||
|
||||
if (mysql_library_init(0, nullptr, nullptr) != 0)
|
||||
{
|
||||
throw Exception("mysql_library_init error");
|
||||
}
|
||||
} catch(std::exception &ex) {
|
||||
printf("mysql exception: \n");
|
||||
}
|
||||
printf("after exception\n");
|
||||
ServerConfig::g_ServerKeySeed->put(4, DRRandom::r64());
|
||||
printf("instance add new\n");
|
||||
Poco::Data::SessionFactory::instance().add(new Connector());
|
||||
}
|
||||
|
||||
|
||||
@ -5,8 +5,8 @@ fi
|
||||
if [ ! -d "./src/cpp/proto/gradido" ] ; then
|
||||
mkdir ./src/cpp/proto/gradido
|
||||
fi
|
||||
PROTOC_PATH=./dependencies/grpc/build/third_party/protobuf
|
||||
CPP_PLUGIN_PATH=./dependencies/grpc/build
|
||||
PROTOC_PATH=./build/bin
|
||||
CPP_PLUGIN_PATH=./build/bin
|
||||
$PROTOC_PATH/protoc --cpp_out=./src/cpp/proto --proto_path=./src/proto ./src/proto/gradido/*.proto
|
||||
|
||||
if [ ! -d "./src/cpp/proto/hedera" ] ; then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user