mirror of
https://github.com/znc/znc.git
synced 2026-08-06 08:52:57 +02:00
Merge branch 'master' into cap302
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
#include "znctest.h"
|
||||
|
||||
using testing::HasSubstr;
|
||||
using testing::ContainsRegex;
|
||||
|
||||
namespace znc_inttest {
|
||||
namespace {
|
||||
@@ -326,15 +327,15 @@ TEST_F(ZNCTest, StatusEchoMessage) {
|
||||
client.Write("CAP REQ :echo-message");
|
||||
client.Write("PRIVMSG *status :blah");
|
||||
client.ReadUntil(":nick!user@irc.znc.in PRIVMSG *status :blah");
|
||||
client.ReadUntil(":*status!znc@znc.in PRIVMSG nick :Unknown command");
|
||||
client.ReadUntil(":*status!status@znc.in PRIVMSG nick :Unknown command");
|
||||
client.Write("znc delnetwork test");
|
||||
client.ReadUntil("Network deleted");
|
||||
auto client2 = LoginClient();
|
||||
client2.Write("PRIVMSG *status :blah2");
|
||||
client2.ReadUntil(":*status!znc@znc.in PRIVMSG nick :Unknown command");
|
||||
client2.ReadUntil(":*status!status@znc.in PRIVMSG nick :Unknown command");
|
||||
auto client3 = LoginClient();
|
||||
client3.Write("PRIVMSG *status :blah3");
|
||||
client3.ReadUntil(":*status!znc@znc.in PRIVMSG nick :Unknown command");
|
||||
client3.ReadUntil(":*status!status@znc.in PRIVMSG nick :Unknown command");
|
||||
}
|
||||
|
||||
TEST_F(ZNCTest, MoveChannels) {
|
||||
@@ -533,5 +534,49 @@ TEST_F(ZNCTest, CAP302LSValue) {
|
||||
client2.ReadUntil("testcap=");
|
||||
}
|
||||
|
||||
TEST_F(ZNCTest, HashUpgrade) {
|
||||
QFile conf(m_dir.path() + "/configs/znc.conf");
|
||||
ASSERT_TRUE(conf.open(QIODevice::Append | QIODevice::Text));
|
||||
QTextStream out(&conf);
|
||||
out << R"(
|
||||
<User foo>
|
||||
<Pass pass>
|
||||
Method = MD5
|
||||
Salt = abc
|
||||
Hash = defdf93cef7fa7a8ee88e65d0e277b99
|
||||
</Pass>
|
||||
</User>
|
||||
)";
|
||||
out.flush();
|
||||
conf.close();
|
||||
auto znc = Run();
|
||||
auto ircd = ConnectIRCd();
|
||||
|
||||
auto client = ConnectClient();
|
||||
client.Write("PASS :hunter2");
|
||||
client.Write("NICK nick");
|
||||
client.Write("USER foo x x :x");
|
||||
client.ReadUntil("Welcome");
|
||||
client.Close();
|
||||
|
||||
client = LoginClient();
|
||||
client.Write("znc saveconfig");
|
||||
client.ReadUntil("Wrote config");
|
||||
|
||||
ASSERT_TRUE(conf.open(QIODevice::ReadOnly | QIODevice::Text));
|
||||
QTextStream in(&conf);
|
||||
QString config = in.readAll();
|
||||
// It was upgraded to either Argon2 or SHA256
|
||||
EXPECT_THAT(config.toStdString(), Not(ContainsRegex("Method.*MD5")));
|
||||
|
||||
// Check that still can login after the upgrade
|
||||
client = ConnectClient();
|
||||
client.Write("PASS :hunter2");
|
||||
client.Write("NICK nick");
|
||||
client.Write("USER foo x x :x");
|
||||
client.ReadUntil("Welcome");
|
||||
client.Close();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace znc_inttest
|
||||
|
||||
Reference in New Issue
Block a user