mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-20 23:47:23 -06:00
Use HTTP digest mode for Web UI authentication (instead of Basic)
This commit is contained in:
@@ -36,6 +36,8 @@
|
||||
#include <QPair>
|
||||
#include <QDir>
|
||||
|
||||
#define QBT_REALM "Web UI Access"
|
||||
|
||||
class Preferences {
|
||||
public:
|
||||
// General options
|
||||
@@ -708,9 +710,10 @@ public:
|
||||
if(current_pass_md5 == new_password) return;
|
||||
// Encode to md5 and save
|
||||
QCryptographicHash md5(QCryptographicHash::Md5);
|
||||
md5.addData(getWebUiUsername().toLocal8Bit()+":"+QBT_REALM+":");
|
||||
md5.addData(new_password.toLocal8Bit());
|
||||
QSettings settings("qBittorrent", "qBittorrent");
|
||||
settings.setValue("Preferences/WebUI/Password_md5", md5.result().toHex());
|
||||
settings.setValue("Preferences/WebUI/Password_ha1", md5.result().toHex());
|
||||
}
|
||||
|
||||
static QString getWebUiPassword() {
|
||||
@@ -720,18 +723,20 @@ public:
|
||||
QString clear_pass = settings.value("Preferences/WebUI/Password", "adminadmin").toString();
|
||||
settings.remove("Preferences/WebUI/Password");
|
||||
QCryptographicHash md5(QCryptographicHash::Md5);
|
||||
md5.addData(getWebUiUsername().toLocal8Bit()+":"+QBT_REALM+":");
|
||||
md5.addData(clear_pass.toLocal8Bit());
|
||||
QString pass_md5(md5.result().toHex());
|
||||
settings.setValue("Preferences/WebUI/Password_md5", pass_md5);
|
||||
settings.setValue("Preferences/WebUI/Password_ha1", pass_md5);
|
||||
return pass_md5;
|
||||
}
|
||||
QString pass_md5 = settings.value("Preferences/WebUI/Password_md5", "").toString();
|
||||
if(pass_md5.isEmpty()) {
|
||||
QString pass_ha1 = settings.value("Preferences/WebUI/Password_ha1", "").toString();
|
||||
if(pass_ha1.isEmpty()) {
|
||||
QCryptographicHash md5(QCryptographicHash::Md5);
|
||||
md5.addData(getWebUiUsername().toLocal8Bit()+":"+QBT_REALM+":");
|
||||
md5.addData("adminadmin");
|
||||
pass_md5 = md5.result().toHex();
|
||||
pass_ha1 = md5.result().toHex();
|
||||
}
|
||||
return pass_md5;
|
||||
return pass_ha1;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user