29 const QString username = user.value(u
"username"_s);
31 QTemporaryFile tmp(m_filename + u
"-XXXXXXX");
32 tmp.setAutoRemove(
false);
34 qCWarning(C_AUTH_HTPASSWD) <<
"Failed to open temporary file for writing";
39 QFile file(m_filename);
40 if (file.exists() && file.open(QFile::ReadWrite | QFile::Text)) {
41 while (!file.atEnd()) {
42 QByteArray line = file.readLine();
43 QByteArrayList parts = line.split(
':');
44 if (!wrote && parts.size() >= 2 && parts.first() == username.toLatin1()) {
45 line = username.toLatin1() +
':' +
46 user.value(u
"password"_s).toLatin1().replace(
':',
',') +
'\n';
55 QByteArray line = username.toLatin1() +
':' +
56 user.value(u
"password"_s).toLatin1().replace(
':',
',') +
'\n';
60 if (file.exists() && !file.remove()) {
61 qCWarning(C_AUTH_HTPASSWD) <<
"Failed to remove auth file for replacement";
65 if (!tmp.rename(m_filename)) {
66 qCWarning(C_AUTH_HTPASSWD) <<
"Failed to rename temporary file";
74 const QString username = userInfo.
value(u
"username"_s);
76 QFile file(m_filename);
77 if (file.open(QFile::ReadOnly | QFile::Text)) {
78 while (!file.atEnd()) {
79 QByteArray line = file.readLine();
80 QByteArrayList parts = line.trimmed().split(
':');
81 if (parts.size() >= 2 && !parts.first().startsWith(
'#') &&
82 parts.first() == username.toLatin1()) {
83 ret.
insert(u
"username"_s, username);
85 QByteArray password = parts.at(1);
86 ret.
insert(u
"password"_s, QString::fromLatin1(password.replace(
',',
':')));