From e228f241bfb2a725dceddba02222d23d0d5d46f4 Mon Sep 17 00:00:00 2001 From: Bartosz Wieczorek Date: Wed, 4 Jun 2025 13:29:35 +0200 Subject: [PATCH] fix initialization of core handler --- PAM/ssh/bin/rublon_application.cpp | 3 ++- PAM/ssh/include/rublon/configuration.hpp | 2 +- PAM/ssh/include/rublon/session.hpp | 18 ++++-------------- PAM/ssh/lib/pam.cpp | 2 +- 4 files changed, 8 insertions(+), 17 deletions(-) diff --git a/PAM/ssh/bin/rublon_application.cpp b/PAM/ssh/bin/rublon_application.cpp index 8dfde4a..882f80f 100644 --- a/PAM/ssh/bin/rublon_application.cpp +++ b/PAM/ssh/bin/rublon_application.cpp @@ -1,3 +1,4 @@ +#include "rublon/bits.hpp" #include #include #include @@ -46,7 +47,7 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] const char ** argv) { g_level = LogLevel::Warning; } - auto & CH = session.coreHandler(); + CoreHandler_t CH{session.config()}; auto selectMethod = [&](const MethodSelect & selector) { // return selector.create(pam); diff --git a/PAM/ssh/include/rublon/configuration.hpp b/PAM/ssh/include/rublon/configuration.hpp index 6c9765f..a987bc7 100644 --- a/PAM/ssh/include/rublon/configuration.hpp +++ b/PAM/ssh/include/rublon/configuration.hpp @@ -24,7 +24,7 @@ class Configuration { std::pmr::memory_resource * memoryResource; public: - Configuration(std::pmr::memory_resource * mr = memory::default_resource()) : memoryResource{mr} {} + Configuration(std::pmr::memory_resource * mr) : memoryResource{mr} {} // change to StaticString std::pmr::string systemToken{memoryResource}; diff --git a/PAM/ssh/include/rublon/session.hpp b/PAM/ssh/include/rublon/session.hpp index 21bae4c..58a9e28 100644 --- a/PAM/ssh/include/rublon/session.hpp +++ b/PAM/ssh/include/rublon/session.hpp @@ -1,6 +1,7 @@ #pragma once #include "rublon/memory.hpp" +#include #include #include #include @@ -94,18 +95,15 @@ class DefaultResource { } }; -class Session :public DefaultResource { +class Session : public DefaultResource { std::pmr::memory_resource * mr; const Pam_t & _pam; Configuration _config; - std::pmr::string _tid; std::pmr::string _accessToken; - CoreHandler_t _coreHandler; - /// TODO log public: - Session(const Pam_t & pam) : DefaultResource{}, mr{memory::default_resource()}, _pam{pam}, _config{mr}, _coreHandler{_config} { + Session(const Pam_t & pam) : DefaultResource{}, mr{memory::default_resource()}, _pam{pam}, _config{mr}, _tid{mr}, _accessToken{mr} { details::initLog(); } @@ -115,9 +113,6 @@ class Session :public DefaultResource { Session & operator=(Session &&) noexcept = delete; Session & operator=(const Session &) = delete; - const auto & coreHandler() const { - return _coreHandler; - } const auto & pam() const { return _pam; } @@ -167,12 +162,7 @@ class Session :public DefaultResource { } } const char * ctransactionID() const { - if(_tid.empty()) { - log(LogLevel::Warning, "Transaction ID is not defined, but requested"); - return ""; - } else { - return _tid.data(); - } + return transactionID().data(); } }; diff --git a/PAM/ssh/lib/pam.cpp b/PAM/ssh/lib/pam.cpp index 3f29e20..5bc0ffa 100644 --- a/PAM/ssh/lib/pam.cpp +++ b/PAM/ssh/lib/pam.cpp @@ -68,7 +68,7 @@ pam_sm_authenticate(pam_handle_t * pamh, [[maybe_unused]] int flags, [[maybe_unu g_level = LogLevel::Warning; } - auto & CH = session.coreHandler(); + CoreHandler_t CH{session.config()}; auto selectMethod = [&](const MethodSelect & selector) { // return selector.create(pam);