/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2016 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
query.prepare(queryString("insert_quasseluser"));
query.bindValue(":username", user);
query.bindValue(":password", hashPassword(password));
- query.bindValue(":hashversion", Storage::HashVersion::latest);
+ query.bindValue(":hashversion", Storage::HashVersion::Latest);
lockForWrite();
safeExec(query);
if (query.lastError().isValid() && query.lastError().number() == 19) { // user already exists - sadly 19 seems to be the general constraint violation error...
query.prepare(queryString("update_userpassword"));
query.bindValue(":userid", user.toInt());
query.bindValue(":password", hashPassword(password));
- query.bindValue(":hashversion", Storage::HashVersion::latest);
+ query.bindValue(":hashversion", Storage::HashVersion::Latest);
lockForWrite();
safeExec(query);
success = query.numRowsAffected() != 0;
{
UserId userId;
QString hashedPassword;
- Storage::HashVersion hashVersion;
+ Storage::HashVersion hashVersion = Storage::HashVersion::Latest;
{
QSqlQuery query(logDb());
query.bindValue(":autoreconnectretries", info.autoReconnectRetries);
query.bindValue(":unlimitedconnectretries", info.unlimitedReconnectRetries ? 1 : 0);
query.bindValue(":rejoinchannels", info.rejoinChannels ? 1 : 0);
+ // Custom rate limiting
+ query.bindValue(":usecustomessagerate", info.useCustomMessageRate ? 1 : 0);
+ query.bindValue(":messagerateburstsize", info.messageRateBurstSize);
+ query.bindValue(":messageratedelay", info.messageRateDelay);
+ query.bindValue(":unlimitedmessagerate", info.unlimitedMessageRate ? 1 : 0);
if (info.networkId.isValid())
query.bindValue(":networkid", info.networkId.toInt());
}
query.bindValue(":proxyport", server.proxyPort);
query.bindValue(":proxyuser", server.proxyUser);
query.bindValue(":proxypass", server.proxyPass);
+ query.bindValue(":sslverify", server.sslVerify ? 1 : 0);
}
net.useSasl = networksQuery.value(16).toInt() == 1 ? true : false;
net.saslAccount = networksQuery.value(17).toString();
net.saslPassword = networksQuery.value(18).toString();
+ // Custom rate limiting
+ net.useCustomMessageRate = networksQuery.value(19).toInt() == 1 ? true : false;
+ net.messageRateBurstSize = networksQuery.value(20).toUInt();
+ net.messageRateDelay = networksQuery.value(21).toUInt();
+ net.unlimitedMessageRate = networksQuery.value(22).toInt() == 1 ? true : false;
serversQuery.bindValue(":networkid", net.networkId.toInt());
safeExec(serversQuery);
server.proxyPort = serversQuery.value(8).toUInt();
server.proxyUser = serversQuery.value(9).toString();
server.proxyPass = serversQuery.value(10).toString();
+ server.sslVerify = serversQuery.value(11).toInt() == 1 ? true : false;
servers << server;
}
net.serverList = servers;
QSqlQuery query(db);
query.prepare(queryString("update_buffer_persistent_channel"));
query.bindValue(":userid", user.toInt());
- query.bindValue(":networkId", networkId.toInt());
+ query.bindValue(":networkid", networkId.toInt());
query.bindValue(":buffercname", channel.toLower());
query.bindValue(":joined", isJoined ? 1 : 0);
QSqlQuery query(db);
query.prepare(queryString("update_buffer_set_channel_key"));
query.bindValue(":userid", user.toInt());
- query.bindValue(":networkId", networkId.toInt());
+ query.bindValue(":networkid", networkId.toInt());
query.bindValue(":buffercname", channel.toLower());
query.bindValue(":key", key);
user.id = value(0).toInt();
user.username = value(1).toString();
user.password = value(2).toString();
+ user.hashversion = value(3).toInt();
return true;
}
network.usesasl = value(22).toInt() == 1 ? true : false;
network.saslaccount = value(23).toString();
network.saslpassword = value(24).toString();
+ // Custom rate limiting
+ network.usecustommessagerate = value(25).toInt() == 1 ? true : false;
+ network.messagerateburstsize = value(26).toInt();
+ network.messageratedelay = value(27).toUInt();
+ network.unlimitedmessagerate = value(28).toInt() == 1 ? true : false;
return true;
}
ircserver.proxyport = value(11).toInt();
ircserver.proxyuser = value(12).toString();
ircserver.proxypass = value(13).toString();
+ ircserver.sslverify = value(14).toInt() == 1 ? true : false;
return true;
}