diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 02c3a5c80..1060002ba 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -38,7 +38,7 @@ services: - ./login_server/dependencies:/code/dependencies - ./login_server/scripts:/code/scripts - ./configs/login_server:/etc/grd_login - - login_build_3:/code/build + - login_build_3.1:/code/build ######################################################### @@ -100,4 +100,4 @@ services: volumes: frontend_node_modules: - login_build_3: + login_build_3.1: diff --git a/docker-compose.yml b/docker-compose.yml index e1a1b8dc5..2cc2ceff7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -80,6 +80,7 @@ services: depends_on: - community-server - login-server + - frontend ports: - 80:80 diff --git a/login_server/CMakeLists.txt.lib b/login_server/CMakeLists.txt.lib index e0c3bd65f..cb45dcfce 100644 --- a/login_server/CMakeLists.txt.lib +++ b/login_server/CMakeLists.txt.lib @@ -30,22 +30,16 @@ include_directories( find_package(Protobuf REQUIRED) include_directories(${Protobuf_INCLUDE_DIRS}) -FIND_PACKAGE(gRPC CONFIG REQUIRED) -find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin) - set(PROTOBUF_LIBS protobuf::libprotobuf protobuf::libprotobuf-lite protobuf::libprotoc) ############################## parse proto files ################################### FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/proto GRADIDO_PROTO_MODEL_PATH) -FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/proto/hedera/hedera-protobuf/src/main/proto HEDERA_PROTO_MODEL_PATH) FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/proto PROTOBINDING_PATH) file(MAKE_DIRECTORY ${PROTOBINDING_PATH}) file(MAKE_DIRECTORY ${PROTOBINDING_PATH}/gradido) -file(MAKE_DIRECTORY ${PROTOBINDING_PATH}/hedera) FILE(GLOB DATAMODEL_GRADIDO_PROTOS "${GRADIDO_PROTO_MODEL_PATH}/gradido/*.proto") -FILE(GLOB DATAMODEL_HEDERA_PROTOS "${HEDERA_PROTO_MODEL_PATH}/*.proto") FOREACH(proto ${DATAMODEL_GRADIDO_PROTOS}) FILE(TO_NATIVE_PATH ${proto} proto_native) @@ -71,31 +65,6 @@ FOREACH(proto ${DATAMODEL_GRADIDO_PROTOS}) ENDFOREACH(proto) -FOREACH(proto ${DATAMODEL_HEDERA_PROTOS}) - FILE(TO_NATIVE_PATH ${proto} proto_native) - get_filename_component(proto_parsed ${proto} NAME_WLE) - FILE(TO_NATIVE_PATH ${PROTOBINDING_PATH}/hedera/${proto_parsed}.pb.h proto_parsed_native) - IF(${proto_native} IS_NEWER_THAN ${proto_parsed_native}) - EXECUTE_PROCESS( - COMMAND - ${PROTOBUF_PROTOC_EXECUTABLE} - --plugin=protoc-gen-grpc=${GRPC_CPP_PLUGIN} - --proto_path=${HEDERA_PROTO_MODEL_PATH} - --proto_path=${GOOGLE_PROTOBUF_INCLUDES} - --cpp_out=${PROTOBINDING_PATH}/hedera - --grpc_out ${PROTOBINDING_PATH}/hedera - ${proto_native} - RESULT_VARIABLE rv - ) - # Optional, but that can show the user if something have gone wrong with the proto generation - IF(${rv}) - MESSAGE("Generation of data model returned ${rv} for proto ${proto_native}") - ELSE() - MESSAGE("Parsed: src/proto/hedera/hedera-protobuf/src/main/proto/${proto_parsed}.proto") - ENDIF() - ENDIF() -ENDFOREACH(proto) - ############################## parse cpsp Files #################################### FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/cpsp GRADIDO_CPSP_PAGE_SRC_PATH) FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/http_pages GRADIDO_HTTP_PAGES_PATH) @@ -153,7 +122,6 @@ FILE(GLOB CRYPTO "src/cpp/Crypto/*.h" "src/cpp/Crypto/*.cpp") FILE(GLOB MAIN "src/cpp/*.cpp" "src/cpp/*.c" "src/cpp/*.h") FILE(GLOB MYSQL "src/cpp/MySQL/*.cpp" "src/cpp/MySQL/*.h" "src/cpp/MySQL/Poco/*.h") FILE(GLOB PROTO_GRADIDO "${PROTOBINDING_PATH}/gradido/*.cc" "${PROTOBINDING_PATH}/gradido/*.h") -FILE(GLOB PROTO_HEDERA "${PROTOBINDING_PATH}/hedera/*.cc" "${PROTOBINDING_PATH}/hedera/*.h") # used only for test project FILE(GLOB TEST "src/cpp/test/*.cpp" "src/cpp/test/*.h") @@ -204,81 +172,83 @@ set(POCO_LIBS ${POCO_FOUNDATION_LIB} ${POCO_UTIL_LIB} ${POCO_NET_SSL_LIB} ${POCO ############################## build login server ################################### -target_link_libraries(Gradido_LoginServer gRPC::grpc++ ${PROTOBUF_LIBS} ${MYSQL_LIBRARIES} ${POCO_LIBS} sodium pthread) +target_link_libraries(Gradido_LoginServer ${PROTOBUF_LIBS} ${MYSQL_LIBRARIES} ${POCO_LIBS} sodium pthread) ############################## build login server test ################################### -project(Gradido_LoginServer_Test C CXX) +IF(CMAKE_BUILD_TYPE STREQUAL "Debug") + project(Gradido_LoginServer_Test C CXX) -enable_testing() + enable_testing() -option(COLLECT_COVERAGE_DATA "Use cov to collect coverage informations" OFF) -set(COVERAGE_TOOL "Coverage Tool (gcovr|lcov|fastcov)" CACHE STRING "gcovr") + option(COLLECT_COVERAGE_DATA "Use cov to collect coverage informations" OFF) + set(COVERAGE_TOOL "Coverage Tool (gcovr|lcov|fastcov)" CACHE STRING "gcovr") -if(COLLECT_COVERAGE_DATA) - - include(cmake/CodeCoverage.cmake) - append_coverage_compiler_flags() - set(EXCLUDE_FOR_HTML_COV - "${CMAKE_CURRENT_SOURCE_DIR}/build/proto/*" - "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/*" - "${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/test/*" - "${CMAKE_CURRENT_SOURCE_DIR}/googletest/googletest/include/gtest/internal/*" - "${CMAKE_CURRENT_SOURCE_DIR}/googletest/googletest/src/" - ) - if("${COVERAGE_TOOL}" STREQUAL "gcovr") - setup_target_for_coverage_gcovr_html( - NAME coverage - EXECUTABLE Gradido_LoginServer_Test - EXCLUDE ${EXCLUDE_FOR_HTML_COV} - GCOVR_ADDITIONAL_ARGS "--txt " - #DEPENDENCIES lib/libmariadb.so.3 + if(COLLECT_COVERAGE_DATA) + + include(cmake/CodeCoverage.cmake) + append_coverage_compiler_flags() + set(EXCLUDE_FOR_HTML_COV + "${CMAKE_CURRENT_SOURCE_DIR}/build/proto/*" + "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/*" + "${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/test/*" + "${CMAKE_CURRENT_SOURCE_DIR}/googletest/googletest/include/gtest/internal/*" + "${CMAKE_CURRENT_SOURCE_DIR}/googletest/googletest/src/" ) - endif() + if("${COVERAGE_TOOL}" STREQUAL "gcovr") + setup_target_for_coverage_gcovr_html( + NAME coverage + EXECUTABLE Gradido_LoginServer_Test + EXCLUDE ${EXCLUDE_FOR_HTML_COV} + GCOVR_ADDITIONAL_ARGS "--txt " + #DEPENDENCIES lib/libmariadb.so.3 + ) + endif() - set(EXCLUDE_FOR_COV - ${EXCLUDE_FOR_HTML_COV} - "/usr/include/*" - ) - if("${COVERAGE_TOOL}" STREQUAL "lcov") - setup_target_for_coverage_lcov( - NAME coverage - EXECUTABLE Gradido_LoginServer_Test - EXCLUDE "${EXCLUDE_FOR_COV}" - #DEPENDENCIES lib/libmariadb.so.3 + set(EXCLUDE_FOR_COV + ${EXCLUDE_FOR_HTML_COV} + "/usr/include/*" ) + if("${COVERAGE_TOOL}" STREQUAL "lcov") + setup_target_for_coverage_lcov( + NAME coverage + EXECUTABLE Gradido_LoginServer_Test + EXCLUDE "${EXCLUDE_FOR_COV}" + #DEPENDENCIES lib/libmariadb.so.3 + ) + endif() + + if("${COVERAGE_TOOL}" STREQUAL "fastcov") + setup_target_for_coverage_fastcov( + NAME coverage # New target name + EXECUTABLE Gradido_LoginServer_Test -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR + #BASE_DIRECTORY "coverage" # Base directory for report + # (defaults to PROJECT_SOURCE_DIR) + EXCLUDE "${EXCLUDE_FOR_COV}" # Patterns to exclude. + NO_DEMANGLE # Don't demangle C++ symbols + # even if c++filt is found + SKIP_HTML # Don't create html report + ) + endif() + endif() - - if("${COVERAGE_TOOL}" STREQUAL "fastcov") - setup_target_for_coverage_fastcov( - NAME coverage # New target name - EXECUTABLE Gradido_LoginServer_Test -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR - #BASE_DIRECTORY "coverage" # Base directory for report - # (defaults to PROJECT_SOURCE_DIR) - EXCLUDE "${EXCLUDE_FOR_COV}" # Patterns to exclude. - NO_DEMANGLE # Don't demangle C++ symbols - # even if c++filt is found - SKIP_HTML # Don't create html report - ) + #_TEST_BUILD + + add_subdirectory("googletest") + + add_executable(Gradido_LoginServer_Test ${LOCAL_SRCS} ${LOCAL_TEST_SRC}) + target_compile_definitions(Gradido_LoginServer_Test PUBLIC "_TEST_BUILD") + + target_link_libraries(Gradido_LoginServer_Test ${GRPC_LIBS} ) + + if(WIN32) + target_link_libraries(Gradido_LoginServer_Test ${CONAN_LIBS} ) + #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() + target_link_libraries(Gradido_LoginServer_Test ${PROTOBUF_LIBS} ${MYSQL_LIBRARIES} ${POCO_LIBS} sodium pthread gtest) endif() -endif() -#_TEST_BUILD - -add_subdirectory("googletest") - -add_executable(Gradido_LoginServer_Test ${LOCAL_SRCS} ${LOCAL_TEST_SRC}) -target_compile_definitions(Gradido_LoginServer_Test PUBLIC "_TEST_BUILD") - -target_link_libraries(Gradido_LoginServer_Test ${GRPC_LIBS} ) - -if(WIN32) - target_link_libraries(Gradido_LoginServer_Test ${CONAN_LIBS} ) - #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() - target_link_libraries(Gradido_LoginServer_Test gRPC::grpc++ ${PROTOBUF_LIBS} ${MYSQL_LIBRARIES} ${POCO_LIBS} sodium pthread gtest) -endif() - -add_test(NAME main COMMAND Gradido_LoginServer_Test) \ No newline at end of file + add_test(NAME main COMMAND Gradido_LoginServer_Test) +ENDIF() \ No newline at end of file diff --git a/login_server/Dockerfile b/login_server/Dockerfile index ba46520ac..cd14eb73b 100644 --- a/login_server/Dockerfile +++ b/login_server/Dockerfile @@ -2,7 +2,7 @@ ######################################################################################################### # Prepare debug ######################################################################################################### -FROM gradido/login_dependencies:gcc9-debug-1 as prepare_debug +FROM gradido/login_dependencies:gcc9-debug-3 as prepare_debug ENV DOCKER_WORKDIR="/code" WORKDIR ${DOCKER_WORKDIR} @@ -83,7 +83,7 @@ ENTRYPOINT ["build/bin/Gradido_LoginServer"] ######################################################################################################### # Build release ######################################################################################################### -FROM gradido/login_dependencies:alpine-release-2 as release +FROM gradido/login_dependencies:alpine-release-3 as release ENV DOCKER_WORKDIR="/code" WORKDIR ${DOCKER_WORKDIR} @@ -118,20 +118,13 @@ WORKDIR "/usr/bin" COPY --from=release /code/build/bin/Gradido_LoginServer /usr/bin/ COPY --from=release /usr/local/lib/mariadb/libmariadb.so.3 /usr/local/lib/ -COPY --from=release /usr/local/lib/libPoco* /usr/local/lib/ -COPY --from=release /usr/lib/libsodium.so.23 /usr/lib/ -COPY --from=release /usr/lib/libstdc++.so.6 /usr/lib/ -COPY --from=release /usr/lib/libgcc_s.so.1 /usr/lib/ +COPY --from=release /usr/local/lib/libPoco* /usr/local/lib/ +COPY --from=release /usr/local/lib/libproto* /usr/local/lib/ +COPY --from=release /usr/lib/libsodium.so.23 /usr/lib/ +COPY --from=release /usr/lib/libstdc++.so.6 /usr/lib/ +COPY --from=release /usr/lib/libgcc_s.so.1 /usr/lib/ RUN chmod +x /usr/bin/Gradido_LoginServer ENTRYPOINT ["/usr/bin/Gradido_LoginServer"] #CMD Gradido_LoginServer - -######################################################################################################### -# run release with default docker config -######################################################################################################### -FROM login_server as login_server_default_config - -COPY ../configs/login_server/grd_login.properties /etc/grd_login/ - diff --git a/login_server/Dockerfile.alpine-debug b/login_server/Dockerfile.alpine-debug index 59ab8d39e..e1f168586 100644 --- a/login_server/Dockerfile.alpine-debug +++ b/login_server/Dockerfile.alpine-debug @@ -1,4 +1,4 @@ -FROM gradido/login_dependencies:alpine-debug-2 as login_server_alpine_debug +FROM gradido/login_dependencies:alpine-debug-3 as login_server_alpine_debug ENV DOCKER_WORKDIR="/code" diff --git a/login_server/Dockerfile.debug b/login_server/Dockerfile.debug deleted file mode 100644 index 0e6138c51..000000000 --- a/login_server/Dockerfile.debug +++ /dev/null @@ -1,54 +0,0 @@ -######################################################################################################### -# cmake -######################################################################################################### -FROM gcc:9 as cmake-gcc-9 - -ENV DOCKER_WORKDIR="/code" -RUN mkdir -p ${DOCKER_WORKDIR} -WORKDIR ${DOCKER_WORKDIR} - -USER root - -RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 \ - && cd CMake \ - && ./bootstrap \ - && make -j$(nproc) \ - && make install - -######################################################################################################### -# Build debug -######################################################################################################### -From gradido/login_dependencies:stage2 as debug - -ENV DOCKER_WORKDIR="/code" - -USER root - -WORKDIR ${DOCKER_WORKDIR} -COPY . . - -RUN cd scripts \ - && chmod +x ./prepare_build.sh \ - && ./prepare_build.sh - -RUN ./compile_pot.sh -RUN ./unix_parse_proto.sh - - -######################################################################################################### -# run debug -######################################################################################################### -FROM debug as login_server_debug - -ENV DOCKER_WORKDIR="/code" - -VOLUME /var/log/grd_login -VOLUME /code/src - -EXPOSE 1200 -EXPOSE 1201 -WORKDIR ${DOCKER_WORKDIR} -RUN chmod +x ./scripts/build_and_run.sh - -CMD ./Dockerfiles/build_and_run.sh; ./build_vol/bin/Gradido_LoginServer - diff --git a/login_server/Dockerfile.default b/login_server/Dockerfiles/Dockerfile.default similarity index 94% rename from login_server/Dockerfile.default rename to login_server/Dockerfiles/Dockerfile.default index 6be9de908..4be44dfd0 100644 --- a/login_server/Dockerfile.default +++ b/login_server/Dockerfiles/Dockerfile.default @@ -2,14 +2,13 @@ ######################################################################################################### # Build release ######################################################################################################### -FROM gradido/login_dependencies:alpine-release-2 as release_default +FROM gradido/login_dependencies:alpine-release-3 as release_default ENV DOCKER_WORKDIR="/code" WORKDIR ${DOCKER_WORKDIR} COPY ./login_server/CMakeLists.txt.lib ./CMakeLists.txt COPY ./login_server/src ./src -RUN ln -s /usr/local/googletest ./googletest COPY ./login_server/dependencies/cmake-modules ./dependencies/cmake-modules COPY ./login_server/dependencies/spirit-po ./dependencies/spirit-po COPY ./login_server/dependencies/tinf ./dependencies/tinf diff --git a/login_server/Dockerfiles/Dockerfile.dependencies b/login_server/Dockerfiles/Dockerfile.dependencies index 24fd31691..bc2cd1fd2 100644 --- a/login_server/Dockerfiles/Dockerfile.dependencies +++ b/login_server/Dockerfiles/Dockerfile.dependencies @@ -21,21 +21,20 @@ RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 && \ make install ######### BUILD grpc ############## -FROM gcc_9_cmake as gcc_9_grpc +FROM gcc_9_cmake as gcc_9_protobuf ARG BUILD_TYPE=Debug -RUN git clone https://github.com/grpc/grpc.git --branch=v1.37.0 --recursive -j4 && \ - cd grpc && \ - mkdir build && cd build && \ - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE .. && make -j$(nproc) && \ - make install - -# abseil don't install themself correctly -RUN cp -r grpc/third_party/abseil-cpp/absl /usr/local/include/ +RUN git clone https://github.com/protocolbuffers/protobuf.git --recursive -j4 && \ + cd protobuf && \ + ./autogen.sh && \ + ./configure && \ + make -j$(nproc) && \ + make install && \ + ldconfig # protobuf libs missing after make install -RUN cp grpc/build/third_party/protobuf/*.a /usr/local/lib/ +#RUN cp grpc/build/third_party/protobuf/*.a /usr/local/lib/ ######### BUILD poco ############## FROM gcc_9_cmake as gcc_9_poco @@ -74,8 +73,8 @@ COPY --from=gcc_9_cmake /usr/local/share/cmake-3.19/Modules /usr/local/share/cma COPY --from=gcc_9_cmake /usr/local/share/cmake-3.19/Templates /usr/local/share/cmake-3.19/Templates # copy from grpc -COPY --from=gcc_9_grpc /usr/local /usr/local -COPY --from=gcc_9_grpc /grpc/third_party/googletest /usr/local/googletest +COPY --from=gcc_9_protobuf /usr/local /usr/local +COPY --from=gcc_9_protobuf /protobuf/third_party/googletest /usr/local/googletest # COPY from poco COPY --from=gcc_9_poco /usr/local /usr/local diff --git a/login_server/Dockerfiles/Dockerfile.dependencies-alpine b/login_server/Dockerfiles/Dockerfile.dependencies-alpine index 6ac27d441..c388d528c 100644 --- a/login_server/Dockerfiles/Dockerfile.dependencies-alpine +++ b/login_server/Dockerfiles/Dockerfile.dependencies-alpine @@ -15,31 +15,22 @@ RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 && \ make -j$(nproc) && \ make install -##### lcov ##### -FROM alpine-build as alpine-lcov - -RUN apk add --no-cache bash perl - -RUN git clone https://github.com/linux-test-project/lcov.git --branch=v1.15 && \ - cd lcov && \ - make install - ######### BUILD grpc ############## -FROM alpine-gxx-cmake as alpine-gxx-grpc +FROM alpine-gxx-cmake as alpine-gxx-protobuf ARG BUILD_TYPE=Debug -RUN git clone https://github.com/grpc/grpc.git --branch=v1.37.0 --recursive -j4 && \ - cd grpc && \ - mkdir build && cd build && \ - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE .. && make -j$(nproc) && \ - make install +RUN apk add --no-cache autoconf automake libtool curl unzip -# abseil don't install themself correctly -RUN cp -r grpc/third_party/abseil-cpp/absl /usr/local/include/ +RUN git clone https://github.com/protocolbuffers/protobuf.git --recursive -j4 && \ + cd protobuf && \ + ./autogen.sh && \ + ./configure && \ + make -j$(nproc) && \ + make install # protobuf libs missing after make install -RUN cp grpc/build/third_party/protobuf/*.a /usr/local/lib/ +#RUN cp grpc/build/third_party/protobuf/*.a /usr/local/lib/ ######### BUILD poco ############## FROM alpine-gxx-cmake as alpine-gxx-poco @@ -76,12 +67,7 @@ COPY --from=alpine-gxx-cmake /usr/local/share/cmake-3.19/Modules /usr/local/shar COPY --from=alpine-gxx-cmake /usr/local/share/cmake-3.19/Templates /usr/local/share/cmake-3.19/Templates # copy from grpc -COPY --from=alpine-gxx-grpc /usr/local /usr/local -COPY --from=alpine-gxx-grpc /grpc/third_party/googletest /usr/local/googletest - -# copy from lcov -COPY --from=alpine-lcov /usr/local/bin /usr/local/bin -COPY --from=alpine-lcov /usr/local/etc/lcovrc /usr/local/etc/lcovrc +COPY --from=alpine-gxx-protobuf /usr/local /usr/local # COPY from poco COPY --from=alpine-gxx-poco /usr/local /usr/local @@ -89,4 +75,10 @@ COPY --from=alpine-gxx-poco /usr/local /usr/local # COPY from mariadb COPY --from=alpine-gxx-mariadb-connector /usr/local /usr/local +######################################################################################################### +# COPY Things only needed for testing +######################################################################################################### +FROM alpine-libs as alpine-libs-test + +COPY --from=alpine-gxx-protobuf /protobuf/third_party/googletest /usr/local/googletest diff --git a/login_server/Dockerfiles/Dockerfile.protoc b/login_server/Dockerfiles/Dockerfile.protoc deleted file mode 100644 index 7aef56f62..000000000 --- a/login_server/Dockerfiles/Dockerfile.protoc +++ /dev/null @@ -1,30 +0,0 @@ -######################################################################################################### -# Build protoc -######################################################################################################### -FROM gcc:7.5 as protoc3.9.1_build -RUN git clone --recurse-submodules https://github.com/protocolbuffers/protobuf.git -WORKDIR /protobuf - -RUN git checkout v3.9.1 -RUN ./autogen.sh -RUN ./configure --enable-static=yes -RUN make -j$(nproc) -#RUN make check - -CMD ["./protobuf"] - -######################################################################################################### -# Store protoc -######################################################################################################### -FROM alpine:3.10 as protoc - -COPY --from=protoc3.9.1_build /protobuf/src/.libs/protoc /usr/bin/ -COPY --from=protoc3.9.1_build /protobuf/src/.libs/libprotobuf.so.20.0.1 /usr/lib/libprotobuf.so.20 -COPY --from=protoc3.9.1_build /protobuf/src/.libs/libprotoc.so.20.0.1 /usr/lib/libprotoc.so.20 -COPY --from=protoc3.9.1_build /protobuf/src/google/protobuf/*.proto /usr/include/google/protobuf/ -COPY --from=protoc3.9.1_build /protobuf/src/google/protobuf/*.h /usr/include/google/protobuf/ - -## build with: -# docker build . -f Dockefile.protoc -t gradido/protoc:3.9.1 -## upload (login to docker hub on shell before): -# docker push gradido/protoc:3.9.1 \ No newline at end of file diff --git a/login_server/src/cpp/model/table/User.cpp b/login_server/src/cpp/model/table/User.cpp index 24f1371ee..2b9dba755 100644 --- a/login_server/src/cpp/model/table/User.cpp +++ b/login_server/src/cpp/model/table/User.cpp @@ -83,11 +83,11 @@ namespace model { if (mPasswordHashed) { - insert << "INSERT INTO users (email, first_name, last_name, username, description, password, email_hash, language, group_id) VALUES(?,?,?,?,?,?,?,?);", + insert << "INSERT INTO users (email, first_name, last_name, username, description, password, email_hash, language, group_id) VALUES(?,?,?,?,?,?,?,?,?);", use(mEmail), use(mFirstName), use(mLastName), use(mUsername), use(mDescription), bind(mPasswordHashed), use(mEmailHash), use(mLanguageKey), use(mGroupId); } else { - insert << "INSERT INTO users (email, first_name, last_name, username, description, email_hash, language, group_id) VALUES(?,?,?,?,?,?,?);", + insert << "INSERT INTO users (email, first_name, last_name, username, description, email_hash, language, group_id) VALUES(?,?,?,?,?,?,?,?);", use(mEmail), use(mFirstName), use(mLastName), use(mUsername), use(mDescription), use(mEmailHash), use(mLanguageKey), use(mGroupId); }