fix encrypted profile creation
Some checks are pending
ContinuousDelivery / linux-ubuntu (push) Waiting to run
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Waiting to run
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Waiting to run
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Waiting to run
ContinuousDelivery / windows (windows-2022, ) (push) Waiting to run
ContinuousDelivery / windows (windows-2022, asan) (push) Waiting to run
ContinuousDelivery / dumpsyms (push) Blocked by required conditions
ContinuousDelivery / release (push) Blocked by required conditions
ContinuousIntegration / on ubuntu-24.04-arm (push) Waiting to run
ContinuousIntegration / asan on ubuntu-24.04-arm (push) Waiting to run
ContinuousIntegration / on ubuntu-latest (push) Waiting to run
ContinuousIntegration / asan on ubuntu-latest (push) Waiting to run
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Waiting to run
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Waiting to run
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Waiting to run
ContinuousIntegration / macos (push) Waiting to run
ContinuousIntegration / windows (push) Waiting to run

This commit is contained in:
Green Sky
2025-12-17 12:25:38 +01:00
parent 2dbce14e5e
commit e676bd1e65

View File

@@ -61,7 +61,6 @@ ToxClient::ToxClient(ConfigModelI& conf, std::string_view save_path, std::string
)) { )) {
throw std::runtime_error("failed to decrypt save file!"); throw std::runtime_error("failed to decrypt save file!");
} }
eee(_tox_profile_password);
} }
tox_options_set_savedata_type(options.get(), TOX_SAVEDATA_TYPE_TOX_SAVE); tox_options_set_savedata_type(options.get(), TOX_SAVEDATA_TYPE_TOX_SAVE);
tox_options_set_savedata_data(options.get(), profile_data.data(), profile_data.size()); tox_options_set_savedata_data(options.get(), profile_data.data(), profile_data.size());
@@ -71,6 +70,12 @@ ToxClient::ToxClient(ConfigModelI& conf, std::string_view save_path, std::string
} }
} }
// prepare for runtime state
if (!_tox_profile_password.empty()) {
eee(_tox_profile_password);
}
tox_options_set_ipv6_enabled(options.get(), conf.get_bool("tox", "ipv6_enabled").value_or(true)); tox_options_set_ipv6_enabled(options.get(), conf.get_bool("tox", "ipv6_enabled").value_or(true));
tox_options_set_udp_enabled(options.get(), conf.get_bool("tox", "udp_enabled").value_or(true)); tox_options_set_udp_enabled(options.get(), conf.get_bool("tox", "udp_enabled").value_or(true));
tox_options_set_local_discovery_enabled(options.get(), conf.get_bool("tox", "local_discovery_enabled").value_or(true)); tox_options_set_local_discovery_enabled(options.get(), conf.get_bool("tox", "local_discovery_enabled").value_or(true));
@@ -207,7 +212,6 @@ void ToxClient::saveToxProfile(void) {
if (!_tox_profile_password.empty()) { if (!_tox_profile_password.empty()) {
std::vector<uint8_t> unencrypted_copy(data.begin(), data.end()); std::vector<uint8_t> unencrypted_copy(data.begin(), data.end());
//profile_data.clear();
data.resize(unencrypted_copy.size() + TOX_PASS_ENCRYPTION_EXTRA_LENGTH); data.resize(unencrypted_copy.size() + TOX_PASS_ENCRYPTION_EXTRA_LENGTH);
eee(_tox_profile_password); eee(_tox_profile_password);
if (!tox_pass_encrypt( if (!tox_pass_encrypt(