From fdd9d0964a0fe7aadfcef33c9e9c1f183ca10820 Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Wed, 7 Jun 2023 21:26:02 +0000 Subject: vis-config.cpp: define local load_string_file As boost has deprecated string_file helper functions since 1.81, define one locally with minor changes to use std types where needed. Bug-AGL: SPEC-4578 Signed-off-by: Denys Dmytriyenko Change-Id: I231ff70857e8d4ed827337a52c60e58d01ab6ea5 --- src/vis-config.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/vis-config.cpp b/src/vis-config.cpp index b8d9266..a55e235 100644 --- a/src/vis-config.cpp +++ b/src/vis-config.cpp @@ -15,6 +15,16 @@ namespace filesystem = boost::filesystem; #define DEFAULT_CLIENT_CERT_FILE "/etc/kuksa-val/Client.pem" #define DEFAULT_CA_CERT_FILE "/etc/kuksa-val/CA.pem" +inline +void load_string_file(const filesystem::path& p, std::string& str) +{ + std::ifstream file; + file.exceptions(std::ifstream::failbit | std::ifstream::badbit); + file.open(p, std::ios_base::binary); + std::size_t sz = static_cast(filesystem::file_size(p)); + str.resize(sz, '\0'); + file.read(&str[0], sz); +} VisConfig::VisConfig(const std::string &hostname, const unsigned port, @@ -93,7 +103,7 @@ VisConfig::VisConfig(const std::string &appname) : std::cerr << "Invalid client key filename" << std::endl; return; } - filesystem::load_string_file(keyFileName, m_clientKey); + load_string_file(keyFileName, m_clientKey); if (m_clientKey.empty()) { std::cerr << "Invalid client key file" << std::endl; return; @@ -107,7 +117,7 @@ VisConfig::VisConfig(const std::string &appname) : std::cerr << "Invalid client certificate filename" << std::endl; return; } - filesystem::load_string_file(certFileName, m_clientCert); + load_string_file(certFileName, m_clientCert); if (m_clientCert.empty()) { std::cerr << "Invalid client certificate file" << std::endl; return; @@ -121,7 +131,7 @@ VisConfig::VisConfig(const std::string &appname) : std::cerr << "Invalid CA certificate filename" << std::endl; return; } - filesystem::load_string_file(caCertFileName, m_caCert); + load_string_file(caCertFileName, m_caCert); if (m_caCert.empty()) { std::cerr << "Invalid CA certificate file" << std::endl; return; @@ -135,7 +145,7 @@ VisConfig::VisConfig(const std::string &appname) : std::cerr << "Invalid authorization token filename" << std::endl; return; } - filesystem::load_string_file(authTokenFileName, m_authToken); + load_string_file(authTokenFileName, m_authToken); if (m_authToken.empty()) { std::cerr << "Invalid authorization token file" << std::endl; return; -- cgit 1.2.3-korg