diff --git a/src/libs/CMakeLists.txt b/src/libs/CMakeLists.txt index 196b2a1b..728cc175 100644 --- a/src/libs/CMakeLists.txt +++ b/src/libs/CMakeLists.txt @@ -1,4 +1,5 @@ +add_subdirectory(auth) add_subdirectory(av) add_subdirectory(database) add_subdirectory(image) diff --git a/src/libs/auth/CMakeLists.txt b/src/libs/auth/CMakeLists.txt new file mode 100644 index 00000000..07400a6b --- /dev/null +++ b/src/libs/auth/CMakeLists.txt @@ -0,0 +1,40 @@ + +add_library(lmsauth SHARED + impl/AuthTokenService.cpp + impl/AuthServiceBase.cpp + impl/EnvService.cpp + impl/LoginThrottler.cpp + impl/PasswordServiceBase.cpp + impl/http-headers/HttpHeadersEnvService.cpp + impl/internal/InternalPasswordService.cpp + ) + +target_include_directories(lmsauth INTERFACE + include + ) + +target_include_directories(lmsauth PRIVATE + include + impl + ) + +target_link_libraries(lmsauth PRIVATE + lmsutils + lmsdatabase + ) + +target_link_libraries(lmsauth PUBLIC + pthread + Boost::system + Wt::Wt + ) + +if (USE_PAM) + target_compile_options(lmsauth PRIVATE "-DLMS_SUPPORT_PAM") + target_sources(lmsauth PRIVATE impl/pam/PAMPasswordService.cpp) + target_include_directories(lmsauth PRIVATE ${PAM_INCLUDE_DIR}) + target_link_libraries(lmsauth PRIVATE ${PAM_LIBRARIES}) +endif (USE_PAM) + +install(TARGETS lmsauth DESTINATION lib) + diff --git a/src/libs/lmscore/impl/auth/AuthServiceBase.cpp b/src/libs/auth/impl/AuthServiceBase.cpp similarity index 100% rename from src/libs/lmscore/impl/auth/AuthServiceBase.cpp rename to src/libs/auth/impl/AuthServiceBase.cpp diff --git a/src/libs/lmscore/impl/auth/AuthServiceBase.hpp b/src/libs/auth/impl/AuthServiceBase.hpp similarity index 100% rename from src/libs/lmscore/impl/auth/AuthServiceBase.hpp rename to src/libs/auth/impl/AuthServiceBase.hpp diff --git a/src/libs/lmscore/impl/auth/AuthTokenService.cpp b/src/libs/auth/impl/AuthTokenService.cpp similarity index 99% rename from src/libs/lmscore/impl/auth/AuthTokenService.cpp rename to src/libs/auth/impl/AuthTokenService.cpp index 05949870..f6f305b6 100644 --- a/src/libs/lmscore/impl/auth/AuthTokenService.cpp +++ b/src/libs/auth/impl/AuthTokenService.cpp @@ -23,7 +23,7 @@ #include #include -#include "lmscore/auth/Types.hpp" +#include "auth/Types.hpp" #include "database/Session.hpp" #include "database/User.hpp" #include "utils/Exception.hpp" diff --git a/src/libs/lmscore/impl/auth/AuthTokenService.hpp b/src/libs/auth/impl/AuthTokenService.hpp similarity index 97% rename from src/libs/lmscore/impl/auth/AuthTokenService.hpp rename to src/libs/auth/impl/AuthTokenService.hpp index f1425117..8825a3d3 100644 --- a/src/libs/lmscore/impl/auth/AuthTokenService.hpp +++ b/src/libs/auth/impl/AuthTokenService.hpp @@ -21,7 +21,7 @@ #include -#include "lmscore/auth/IAuthTokenService.hpp" +#include "auth/IAuthTokenService.hpp" #include "AuthServiceBase.hpp" #include "LoginThrottler.hpp" diff --git a/src/libs/lmscore/impl/auth/EnvService.cpp b/src/libs/auth/impl/EnvService.cpp similarity index 93% rename from src/libs/lmscore/impl/auth/EnvService.cpp rename to src/libs/auth/impl/EnvService.cpp index 99046d40..12de9858 100644 --- a/src/libs/lmscore/impl/auth/EnvService.cpp +++ b/src/libs/auth/impl/EnvService.cpp @@ -17,8 +17,9 @@ * along with LMS. If not, see . */ -#include "lmscore/auth/IEnvService.hpp" -#include "lmscore/auth/Types.hpp" +#include "auth/IEnvService.hpp" + +#include "auth/Types.hpp" #include "http-headers/HttpHeadersEnvService.hpp" namespace Auth diff --git a/src/libs/lmscore/impl/auth/LoginThrottler.cpp b/src/libs/auth/impl/LoginThrottler.cpp similarity index 100% rename from src/libs/lmscore/impl/auth/LoginThrottler.cpp rename to src/libs/auth/impl/LoginThrottler.cpp diff --git a/src/libs/lmscore/impl/auth/LoginThrottler.hpp b/src/libs/auth/impl/LoginThrottler.hpp similarity index 100% rename from src/libs/lmscore/impl/auth/LoginThrottler.hpp rename to src/libs/auth/impl/LoginThrottler.hpp diff --git a/src/libs/lmscore/impl/auth/PasswordServiceBase.cpp b/src/libs/auth/impl/PasswordServiceBase.cpp similarity index 98% rename from src/libs/lmscore/impl/auth/PasswordServiceBase.cpp rename to src/libs/auth/impl/PasswordServiceBase.cpp index e80d1b9b..3b230503 100644 --- a/src/libs/lmscore/impl/auth/PasswordServiceBase.cpp +++ b/src/libs/auth/impl/PasswordServiceBase.cpp @@ -27,7 +27,7 @@ #include "pam/PAMPasswordService.hpp" #endif // LMS_SUPPORT_PAM -#include "lmscore/auth/Types.hpp" +#include "auth/Types.hpp" #include "database/Session.hpp" #include "database/User.hpp" #include "utils/Exception.hpp" diff --git a/src/libs/lmscore/impl/auth/PasswordServiceBase.hpp b/src/libs/auth/impl/PasswordServiceBase.hpp similarity index 95% rename from src/libs/lmscore/impl/auth/PasswordServiceBase.hpp rename to src/libs/auth/impl/PasswordServiceBase.hpp index 5c922f55..f575e4e1 100644 --- a/src/libs/lmscore/impl/auth/PasswordServiceBase.hpp +++ b/src/libs/auth/impl/PasswordServiceBase.hpp @@ -21,8 +21,8 @@ #include -#include "lmscore/auth/IPasswordService.hpp" -#include "auth/AuthServiceBase.hpp" +#include "auth/IPasswordService.hpp" +#include "AuthServiceBase.hpp" #include "LoginThrottler.hpp" namespace Database diff --git a/src/libs/lmscore/impl/auth/http-headers/HttpHeadersEnvService.cpp b/src/libs/auth/impl/http-headers/HttpHeadersEnvService.cpp similarity index 100% rename from src/libs/lmscore/impl/auth/http-headers/HttpHeadersEnvService.cpp rename to src/libs/auth/impl/http-headers/HttpHeadersEnvService.cpp diff --git a/src/libs/lmscore/impl/auth/http-headers/HttpHeadersEnvService.hpp b/src/libs/auth/impl/http-headers/HttpHeadersEnvService.hpp similarity index 93% rename from src/libs/lmscore/impl/auth/http-headers/HttpHeadersEnvService.hpp rename to src/libs/auth/impl/http-headers/HttpHeadersEnvService.hpp index 7cad1441..5c44b9fb 100644 --- a/src/libs/lmscore/impl/auth/http-headers/HttpHeadersEnvService.hpp +++ b/src/libs/auth/impl/http-headers/HttpHeadersEnvService.hpp @@ -19,8 +19,8 @@ #pragma once -#include "lmscore/auth/IEnvService.hpp" -#include "auth/AuthServiceBase.hpp" +#include "auth/IEnvService.hpp" +#include "AuthServiceBase.hpp" namespace Auth { diff --git a/src/libs/lmscore/impl/auth/internal/InternalPasswordService.cpp b/src/libs/auth/impl/internal/InternalPasswordService.cpp similarity index 98% rename from src/libs/lmscore/impl/auth/internal/InternalPasswordService.cpp rename to src/libs/auth/impl/internal/InternalPasswordService.cpp index 233fb9aa..96a6c34a 100644 --- a/src/libs/lmscore/impl/auth/internal/InternalPasswordService.cpp +++ b/src/libs/auth/impl/internal/InternalPasswordService.cpp @@ -20,8 +20,8 @@ #include "InternalPasswordService.hpp" #include -#include "lmscore/auth/IAuthTokenService.hpp" -#include "lmscore/auth/Types.hpp" +#include "auth/IAuthTokenService.hpp" +#include "auth/Types.hpp" #include "database/Session.hpp" #include "database/User.hpp" #include "utils/Exception.hpp" diff --git a/src/libs/lmscore/impl/auth/internal/InternalPasswordService.hpp b/src/libs/auth/impl/internal/InternalPasswordService.hpp similarity index 95% rename from src/libs/lmscore/impl/auth/internal/InternalPasswordService.hpp rename to src/libs/auth/impl/internal/InternalPasswordService.hpp index 42b830f1..6c241f31 100644 --- a/src/libs/lmscore/impl/auth/internal/InternalPasswordService.hpp +++ b/src/libs/auth/impl/internal/InternalPasswordService.hpp @@ -23,8 +23,8 @@ #include #include "database/User.hpp" -#include "auth/PasswordServiceBase.hpp" -#include "auth/LoginThrottler.hpp" +#include "PasswordServiceBase.hpp" +#include "LoginThrottler.hpp" namespace Auth { diff --git a/src/libs/lmscore/impl/auth/pam/PAMPasswordService.cpp b/src/libs/auth/impl/pam/PAMPasswordService.cpp similarity index 99% rename from src/libs/lmscore/impl/auth/pam/PAMPasswordService.cpp rename to src/libs/auth/impl/pam/PAMPasswordService.cpp index 708ce457..c5682f42 100644 --- a/src/libs/lmscore/impl/auth/pam/PAMPasswordService.cpp +++ b/src/libs/auth/impl/pam/PAMPasswordService.cpp @@ -26,7 +26,7 @@ #include #include -#include "lmscore/auth/Types.hpp" +#include "auth/Types.hpp" #include "database/Session.hpp" #include "utils/Logger.hpp" diff --git a/src/libs/lmscore/impl/auth/pam/PAMPasswordService.hpp b/src/libs/auth/impl/pam/PAMPasswordService.hpp similarity index 95% rename from src/libs/lmscore/impl/auth/pam/PAMPasswordService.hpp rename to src/libs/auth/impl/pam/PAMPasswordService.hpp index 9c88c955..2de5bc82 100644 --- a/src/libs/lmscore/impl/auth/pam/PAMPasswordService.hpp +++ b/src/libs/auth/impl/pam/PAMPasswordService.hpp @@ -19,7 +19,9 @@ #pragma once -#include "auth/PasswordServiceBase.hpp" +#include + +#include "PasswordServiceBase.hpp" namespace Auth { diff --git a/src/libs/lmscore/include/lmscore/auth/IAuthTokenService.hpp b/src/libs/auth/include/auth/IAuthTokenService.hpp similarity index 100% rename from src/libs/lmscore/include/lmscore/auth/IAuthTokenService.hpp rename to src/libs/auth/include/auth/IAuthTokenService.hpp diff --git a/src/libs/lmscore/include/lmscore/auth/IEnvService.hpp b/src/libs/auth/include/auth/IEnvService.hpp similarity index 100% rename from src/libs/lmscore/include/lmscore/auth/IEnvService.hpp rename to src/libs/auth/include/auth/IEnvService.hpp diff --git a/src/libs/lmscore/include/lmscore/auth/IPasswordService.hpp b/src/libs/auth/include/auth/IPasswordService.hpp similarity index 98% rename from src/libs/lmscore/include/lmscore/auth/IPasswordService.hpp rename to src/libs/auth/include/auth/IPasswordService.hpp index 86edc868..f197ae16 100644 --- a/src/libs/lmscore/include/lmscore/auth/IPasswordService.hpp +++ b/src/libs/auth/include/auth/IPasswordService.hpp @@ -21,11 +21,11 @@ #include -#include #include #include -#include "lmscore/auth/Types.hpp" +#include +#include "auth/Types.hpp" #include "database/Types.hpp" namespace Database diff --git a/src/libs/lmscore/include/lmscore/auth/Types.hpp b/src/libs/auth/include/auth/Types.hpp similarity index 100% rename from src/libs/lmscore/include/lmscore/auth/Types.hpp rename to src/libs/auth/include/auth/Types.hpp diff --git a/src/libs/lmscore/CMakeLists.txt b/src/libs/lmscore/CMakeLists.txt index 4403380a..358df97a 100644 --- a/src/libs/lmscore/CMakeLists.txt +++ b/src/libs/lmscore/CMakeLists.txt @@ -1,13 +1,6 @@ add_library(lmscore SHARED - impl/auth/AuthTokenService.cpp - impl/auth/AuthServiceBase.cpp - impl/auth/EnvService.cpp - impl/auth/LoginThrottler.cpp - impl/auth/PasswordServiceBase.cpp - impl/auth/http-headers/HttpHeadersEnvService.cpp - impl/auth/internal/InternalPasswordService.cpp - impl/cover/CoverService.cpp + impl/CoverService.cpp ) target_include_directories(lmscore INTERFACE @@ -21,6 +14,7 @@ target_include_directories(lmscore PRIVATE target_link_libraries(lmscore PRIVATE lmsav + lmsimage ) target_link_libraries(lmscore PUBLIC @@ -28,16 +22,7 @@ target_link_libraries(lmscore PUBLIC lmsimage lmsutils std::filesystem - Wt::Wt ) -if (USE_PAM) - target_compile_options(lmscore PRIVATE "-DLMS_SUPPORT_PAM") - target_sources(lmscore PRIVATE impl/auth/pam/PAMPasswordService.cpp) - target_include_directories(lmscore PRIVATE ${PAM_INCLUDE_DIR}) - target_link_libraries(lmscore PRIVATE ${PAM_LIBRARIES}) -endif (USE_PAM) - - install(TARGETS lmscore DESTINATION lib) diff --git a/src/libs/lmscore/impl/cover/CoverService.cpp b/src/libs/lmscore/impl/CoverService.cpp similarity index 100% rename from src/libs/lmscore/impl/cover/CoverService.cpp rename to src/libs/lmscore/impl/CoverService.cpp diff --git a/src/libs/lmscore/impl/cover/CoverService.hpp b/src/libs/lmscore/impl/CoverService.hpp similarity index 98% rename from src/libs/lmscore/impl/cover/CoverService.hpp rename to src/libs/lmscore/impl/CoverService.hpp index f1a845ac..a740673e 100644 --- a/src/libs/lmscore/impl/cover/CoverService.hpp +++ b/src/libs/lmscore/impl/CoverService.hpp @@ -29,7 +29,7 @@ #include #include -#include "lmscore/cover/ICoverService.hpp" +#include "lmscore/services/ICoverService.hpp" #include "image/IEncodedImage.hpp" #include "database/Types.hpp" diff --git a/src/libs/lmscore/include/lmscore/cover/ICoverService.hpp b/src/libs/lmscore/include/lmscore/services/ICoverService.hpp similarity index 100% rename from src/libs/lmscore/include/lmscore/cover/ICoverService.hpp rename to src/libs/lmscore/include/lmscore/services/ICoverService.hpp diff --git a/src/libs/subsonic/impl/SubsonicResource.cpp b/src/libs/subsonic/impl/SubsonicResource.cpp index 866cccf9..888eadf6 100644 --- a/src/libs/subsonic/impl/SubsonicResource.cpp +++ b/src/libs/subsonic/impl/SubsonicResource.cpp @@ -26,9 +26,9 @@ #include -#include "lmscore/auth/IPasswordService.hpp" -#include "lmscore/auth/IEnvService.hpp" -#include "lmscore/cover/ICoverService.hpp" +#include "auth/IPasswordService.hpp" +#include "auth/IEnvService.hpp" +#include "lmscore/services/ICoverService.hpp" #include "database/Artist.hpp" #include "database/Cluster.hpp" #include "database/Db.hpp" diff --git a/src/lms/main.cpp b/src/lms/main.cpp index 7ae3a787..2d6230cf 100644 --- a/src/lms/main.cpp +++ b/src/lms/main.cpp @@ -25,10 +25,10 @@ #include #include -#include "lmscore/auth/IAuthTokenService.hpp" -#include "lmscore/auth/IPasswordService.hpp" -#include "lmscore/auth/IEnvService.hpp" -#include "lmscore/cover/ICoverService.hpp" +#include "auth/IAuthTokenService.hpp" +#include "auth/IPasswordService.hpp" +#include "auth/IEnvService.hpp" +#include "lmscore/services/ICoverService.hpp" #include "database/Db.hpp" #include "database/Session.hpp" #include "scanner/IScanner.hpp" diff --git a/src/lms/ui/Auth.cpp b/src/lms/ui/Auth.cpp index 6f406cac..29414b43 100644 --- a/src/lms/ui/Auth.cpp +++ b/src/lms/ui/Auth.cpp @@ -28,8 +28,8 @@ #include #include -#include "lmscore/auth/IAuthTokenService.hpp" -#include "lmscore/auth/IPasswordService.hpp" +#include "auth/IAuthTokenService.hpp" +#include "auth/IPasswordService.hpp" #include "database/Session.hpp" #include "database/User.hpp" #include "utils/Logger.hpp" diff --git a/src/lms/ui/LmsApplication.cpp b/src/lms/ui/LmsApplication.cpp index c68012fc..8eb688e2 100644 --- a/src/lms/ui/LmsApplication.cpp +++ b/src/lms/ui/LmsApplication.cpp @@ -28,9 +28,9 @@ #include #include -#include "lmscore/auth/IEnvService.hpp" -#include "lmscore/auth/IPasswordService.hpp" -#include "lmscore/cover/ICoverService.hpp" +#include "auth/IEnvService.hpp" +#include "auth/IPasswordService.hpp" +#include "lmscore/services/ICoverService.hpp" #include "database/Artist.hpp" #include "database/Cluster.hpp" #include "database/Db.hpp" diff --git a/src/lms/ui/SettingsView.cpp b/src/lms/ui/SettingsView.cpp index d2cb3a95..66105842 100644 --- a/src/lms/ui/SettingsView.cpp +++ b/src/lms/ui/SettingsView.cpp @@ -34,7 +34,7 @@ #include "common/UUIDValidator.hpp" #include "common/ValueStringModel.hpp" -#include "lmscore/auth/IPasswordService.hpp" +#include "auth/IPasswordService.hpp" #include "database/Session.hpp" #include "utils/IConfig.hpp" #include "utils/Logger.hpp" diff --git a/src/lms/ui/admin/InitWizardView.cpp b/src/lms/ui/admin/InitWizardView.cpp index 3ca4d184..b37645b3 100644 --- a/src/lms/ui/admin/InitWizardView.cpp +++ b/src/lms/ui/admin/InitWizardView.cpp @@ -24,7 +24,7 @@ #include #include -#include "lmscore/auth/IPasswordService.hpp" +#include "auth/IPasswordService.hpp" #include "database/Session.hpp" #include "database/User.hpp" #include "utils/Exception.hpp" diff --git a/src/lms/ui/admin/UserView.cpp b/src/lms/ui/admin/UserView.cpp index b0f99755..16374d80 100644 --- a/src/lms/ui/admin/UserView.cpp +++ b/src/lms/ui/admin/UserView.cpp @@ -27,7 +27,7 @@ #include -#include "lmscore/auth/IPasswordService.hpp" +#include "auth/IPasswordService.hpp" #include "database/User.hpp" #include "database/Session.hpp" #include "utils/IConfig.hpp" diff --git a/src/lms/ui/admin/UsersView.cpp b/src/lms/ui/admin/UsersView.cpp index 8f26e470..50bc58e7 100644 --- a/src/lms/ui/admin/UsersView.cpp +++ b/src/lms/ui/admin/UsersView.cpp @@ -23,7 +23,7 @@ #include #include -#include "lmscore/auth/IPasswordService.hpp" +#include "auth/IPasswordService.hpp" #include "database/User.hpp" #include "database/Session.hpp" #include "utils/Logger.hpp" diff --git a/src/lms/ui/common/PasswordValidator.cpp b/src/lms/ui/common/PasswordValidator.cpp index 3a559c71..2df00c3f 100644 --- a/src/lms/ui/common/PasswordValidator.cpp +++ b/src/lms/ui/common/PasswordValidator.cpp @@ -21,7 +21,7 @@ #include -#include "lmscore/auth/IPasswordService.hpp" +#include "auth/IPasswordService.hpp" #include "utils/Service.hpp" #include "LmsApplication.hpp" diff --git a/src/lms/ui/common/PasswordValidator.hpp b/src/lms/ui/common/PasswordValidator.hpp index a3efe8e6..d504dbc1 100644 --- a/src/lms/ui/common/PasswordValidator.hpp +++ b/src/lms/ui/common/PasswordValidator.hpp @@ -23,7 +23,7 @@ #include #include "database/Types.hpp" -#include "lmscore/auth/Types.hpp" +#include "auth/Types.hpp" namespace UserInterface { diff --git a/src/lms/ui/resource/CoverResource.cpp b/src/lms/ui/resource/CoverResource.cpp index 44d1189d..c13c5996 100644 --- a/src/lms/ui/resource/CoverResource.cpp +++ b/src/lms/ui/resource/CoverResource.cpp @@ -22,7 +22,7 @@ #include #include -#include "lmscore/cover/ICoverService.hpp" +#include "lmscore/services/ICoverService.hpp" #include "database/Track.hpp" #include "utils/Exception.hpp" #include "utils/Logger.hpp" diff --git a/src/tools/cover/LmsCover.cpp b/src/tools/cover/LmsCover.cpp index 8202497c..d2a5e784 100644 --- a/src/tools/cover/LmsCover.cpp +++ b/src/tools/cover/LmsCover.cpp @@ -24,7 +24,7 @@ #include -#include "lmscore/cover/ICoverService.hpp" +#include "lmscore/services/ICoverService.hpp" #include "database/Db.hpp" #include "database/Release.hpp" #include "database/Session.hpp"