28 const QString username = user.value(QStringLiteral(
"username"));
30 QTemporaryFile tmp(m_filename + QLatin1String(
"-XXXXXXX"));
31 tmp.setAutoRemove(
false);
33 qCWarning(C_AUTH_HTPASSWD) <<
"Failed to open temporary file for writing";
38 QFile file(m_filename);
39 if (file.exists() && file.open(QFile::ReadWrite | QFile::Text)) {
40 while (!file.atEnd()) {
41 QByteArray line = file.readLine();
42 QByteArrayList parts = line.split(
':');
43 if (!wrote && parts.size() >= 2 && parts.first() == username.toLatin1()) {
44 line = username.toLatin1() +
':' +
45 user.value(QStringLiteral(
"password")).toLatin1().replace(
':',
',') +
'\n';
54 QByteArray line = username.toLatin1() +
':' +
55 user.value(QStringLiteral(
"password")).toLatin1().replace(
':',
',') +
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(QStringLiteral(
"username"));
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(QStringLiteral(
"username"), username);
85 QByteArray password = parts.at(1);
86 ret.
insert(QStringLiteral(
"password"),
87 QString::fromLatin1(password.replace(
',',
':')));