mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Config: Use std::string for ServerPassword instead of QString
Less Qt leeching into things is better.
This commit is contained in:
parent
9db7464faa
commit
9123879c76
@ -69,16 +69,16 @@ void Config::Load(json config)
|
||||
if (config.contains(PARAM_AUTHREQUIRED) && config[PARAM_AUTHREQUIRED].is_boolean())
|
||||
AuthRequired = config[PARAM_AUTHREQUIRED];
|
||||
if (config.contains(PARAM_PASSWORD) && config[PARAM_PASSWORD].is_string())
|
||||
ServerPassword = QString::fromStdString(config[PARAM_PASSWORD].get<std::string>());
|
||||
ServerPassword = config[PARAM_PASSWORD];
|
||||
|
||||
// Set server password and save it to the config before processing overrides,
|
||||
// so that there is always a true configured password regardless of if
|
||||
// future loads use the override flag.
|
||||
if (FirstLoad) {
|
||||
FirstLoad = false;
|
||||
if (ServerPassword.isEmpty()) {
|
||||
if (ServerPassword.empty()) {
|
||||
blog(LOG_INFO, "[Config::Load] (FirstLoad) Generating new server password.");
|
||||
ServerPassword = QString::fromStdString(Utils::Crypto::GeneratePassword());
|
||||
ServerPassword = Utils::Crypto::GeneratePassword();
|
||||
} else {
|
||||
blog(LOG_INFO, "[Config::Load] (FirstLoad) Not generating new password since one is already configured.");
|
||||
}
|
||||
@ -111,7 +111,7 @@ void Config::Load(json config)
|
||||
blog(LOG_INFO, "[Config::Load] --websocket_password passed. Overriding WebSocket password.");
|
||||
PasswordOverridden = true;
|
||||
AuthRequired = true;
|
||||
ServerPassword = passwordArgument;
|
||||
ServerPassword = passwordArgument.toStdString();
|
||||
}
|
||||
|
||||
// Process `--websocket_debug` override
|
||||
@ -136,7 +136,7 @@ void Config::Save()
|
||||
config[PARAM_ALERTS] = AlertsEnabled.load();
|
||||
if (!PasswordOverridden) {
|
||||
config[PARAM_AUTHREQUIRED] = AuthRequired.load();
|
||||
config[PARAM_PASSWORD] = ServerPassword.toStdString();
|
||||
config[PARAM_PASSWORD] = ServerPassword;
|
||||
}
|
||||
|
||||
if (!Utils::Json::SetJsonFileContent(configFilePath, config))
|
||||
|
@ -40,7 +40,7 @@ struct Config {
|
||||
std::atomic<bool> DebugEnabled = false;
|
||||
std::atomic<bool> AlertsEnabled = false;
|
||||
std::atomic<bool> AuthRequired = true;
|
||||
QString ServerPassword;
|
||||
std::string ServerPassword;
|
||||
};
|
||||
|
||||
json MigrateGlobalConfigData();
|
||||
|
@ -64,7 +64,7 @@ void ConnectInfo::RefreshData()
|
||||
QString serverPassword;
|
||||
if (conf->AuthRequired) {
|
||||
ui->copyServerPasswordButton->setEnabled(true);
|
||||
serverPassword = QUrl::toPercentEncoding(conf->ServerPassword);
|
||||
serverPassword = QUrl::toPercentEncoding(QString::fromStdString(conf->ServerPassword));
|
||||
} else {
|
||||
ui->copyServerPasswordButton->setEnabled(false);
|
||||
serverPassword = obs_module_text("OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText");
|
||||
|
@ -123,7 +123,7 @@ void SettingsDialog::RefreshData()
|
||||
ui->enableDebugLoggingCheckBox->setChecked(conf->DebugEnabled);
|
||||
ui->serverPortSpinBox->setValue(conf->ServerPort);
|
||||
ui->enableAuthenticationCheckBox->setChecked(conf->AuthRequired);
|
||||
ui->serverPasswordLineEdit->setText(conf->ServerPassword);
|
||||
ui->serverPasswordLineEdit->setText(QString::fromStdString(conf->ServerPassword));
|
||||
|
||||
ui->serverPasswordLineEdit->setEnabled(conf->AuthRequired);
|
||||
ui->generatePasswordButton->setEnabled(conf->AuthRequired);
|
||||
@ -158,7 +158,7 @@ void SettingsDialog::SaveFormData()
|
||||
}
|
||||
|
||||
// Show a confirmation box to the user if they attempt to provide their own password
|
||||
if (passwordManuallyEdited && (conf->ServerPassword != ui->serverPasswordLineEdit->text())) {
|
||||
if (passwordManuallyEdited && (conf->ServerPassword != ui->serverPasswordLineEdit->text().toStdString())) {
|
||||
QMessageBox msgBox;
|
||||
msgBox.setWindowTitle(obs_module_text("OBSWebSocket.Settings.Save.UserPasswordWarningTitle"));
|
||||
msgBox.setText(obs_module_text("OBSWebSocket.Settings.Save.UserPasswordWarningMessage"));
|
||||
@ -172,7 +172,7 @@ void SettingsDialog::SaveFormData()
|
||||
break;
|
||||
case QMessageBox::No:
|
||||
default:
|
||||
ui->serverPasswordLineEdit->setText(conf->ServerPassword);
|
||||
ui->serverPasswordLineEdit->setText(QString::fromStdString(conf->ServerPassword));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -180,14 +180,14 @@ void SettingsDialog::SaveFormData()
|
||||
bool needsRestart =
|
||||
(conf->ServerEnabled != ui->enableWebSocketServerCheckBox->isChecked()) ||
|
||||
(conf->ServerPort != ui->serverPortSpinBox->value()) ||
|
||||
(ui->enableAuthenticationCheckBox->isChecked() && conf->ServerPassword != ui->serverPasswordLineEdit->text());
|
||||
(ui->enableAuthenticationCheckBox->isChecked() && conf->ServerPassword != ui->serverPasswordLineEdit->text().toStdString());
|
||||
|
||||
conf->ServerEnabled = ui->enableWebSocketServerCheckBox->isChecked();
|
||||
conf->AlertsEnabled = ui->enableSystemTrayAlertsCheckBox->isChecked();
|
||||
conf->DebugEnabled = ui->enableDebugLoggingCheckBox->isChecked();
|
||||
conf->ServerPort = ui->serverPortSpinBox->value();
|
||||
conf->AuthRequired = ui->enableAuthenticationCheckBox->isChecked();
|
||||
conf->ServerPassword = ui->serverPasswordLineEdit->text();
|
||||
conf->ServerPassword = ui->serverPasswordLineEdit->text().toStdString();
|
||||
|
||||
conf->Save();
|
||||
|
||||
|
@ -97,7 +97,7 @@ void WebSocketServer::Start()
|
||||
}
|
||||
|
||||
_authenticationSalt = Utils::Crypto::GenerateSalt();
|
||||
_authenticationSecret = Utils::Crypto::GenerateSecret(conf->ServerPassword.toStdString(), _authenticationSalt);
|
||||
_authenticationSecret = Utils::Crypto::GenerateSecret(conf->ServerPassword, _authenticationSalt);
|
||||
|
||||
// Set log levels if debug is enabled
|
||||
if (IsDebugEnabled()) {
|
||||
|
Loading…
Reference in New Issue
Block a user