diff --git a/repertory/librepertory/src/app_config.cpp b/repertory/librepertory/src/app_config.cpp index 2a1b6859..0c56c055 100644 --- a/repertory/librepertory/src/app_config.cpp +++ b/repertory/librepertory/src/app_config.cpp @@ -64,8 +64,7 @@ auto app_config::get_stop_requested() -> bool { return stop_requested.load(); } void app_config::set_stop_requested() { stop_requested.store(true); } -app_config::app_config(provider_type prov, - std::string_view data_directory) +app_config::app_config(provider_type prov, std::string_view data_directory) : prov_(prov), api_password_(utils::generate_random_string(default_api_password_size)), api_port_(default_rpc_port), @@ -230,6 +229,8 @@ app_config::app_config(provider_type prov, [this]() { return get_s3_config().bucket; }}, {fmt::format("{}.{}", JSON_S3_CONFIG, JSON_ENCRYPTION_TOKEN), [this]() { return get_s3_config().encryption_token; }}, + {fmt::format("{}.{}", JSON_S3_CONFIG, JSON_FORCE_LEGACY_ENCRYPTION), + [this]() { return get_s3_config().force_legacy_encryption; }}, {fmt::format("{}.{}", JSON_S3_CONFIG, JSON_REGION), [this]() { return get_s3_config().region; }}, {fmt::format("{}.{}", JSON_S3_CONFIG, JSON_SECRET_KEY), @@ -602,6 +603,16 @@ app_config::app_config(provider_type prov, return get_s3_config().encryption_token; }, }, + { + fmt::format("{}.{}", JSON_S3_CONFIG, JSON_FORCE_LEGACY_ENCRYPTION), + [this](const std::string &value) { + auto cfg = get_s3_config(); + cfg.force_legacy_encryption = utils::string::to_bool(value); + set_s3_config(cfg); + return utils::string::from_bool( + get_s3_config().force_legacy_encryption); + }, + }, { fmt::format("{}.{}", JSON_S3_CONFIG, JSON_REGION), [this](const std::string &value) { @@ -723,16 +734,14 @@ auto app_config::get_root_data_directory() -> std::string { return data_directory; } -auto app_config::default_data_directory(provider_type prov) - -> std::string { +auto app_config::default_data_directory(provider_type prov) -> std::string { return utils::path::combine(app_config::get_root_data_directory(), { app_config::get_provider_name(prov), }); } -auto app_config::default_remote_api_port(provider_type prov) - -> std::uint16_t { +auto app_config::default_remote_api_port(provider_type prov) -> std::uint16_t { static const std::array(provider_type::unknown)> PROVIDER_REMOTE_PORTS = { @@ -929,8 +938,7 @@ auto app_config::get_preferred_download_type() const -> download_type { return preferred_download_type_; } -auto app_config::get_provider_display_name(provider_type prov) - -> std::string { +auto app_config::get_provider_display_name(provider_type prov) -> std::string { static const std::array(provider_type::unknown) + 1U> PROVIDER_DISPLAY_NAMES = {