diff -Nru quassel-0.12.1/ChangeLog quassel-0.12.2/ChangeLog --- quassel-0.12.1/ChangeLog 2015-04-21 20:41:47.000000000 +0000 +++ quassel-0.12.2/ChangeLog 2015-04-23 20:47:17.000000000 +0000 @@ -13,6 +13,12 @@ Without further ado, let's start: +Version 0.12.2 (2015-04-23) +=========================== + +* Fix PostgreSQL not re-initializing after reconnect (raising CVE-2013-4422 from the dead) +* Remove warning on startup due to a change in Kdelibs4ConfigMigrator + Version 0.12.1 (2015-04-21) =========================== diff -Nru quassel-0.12.1/CMakeLists.txt quassel-0.12.2/CMakeLists.txt --- quassel-0.12.1/CMakeLists.txt 2015-04-21 20:41:47.000000000 +0000 +++ quassel-0.12.2/CMakeLists.txt 2015-04-23 20:47:17.000000000 +0000 @@ -11,8 +11,8 @@ # Versions set(QUASSEL_MAJOR 0) set(QUASSEL_MINOR 12) -set(QUASSEL_PATCH 1) -set(QUASSEL_VERSION_STRING "0.12.1") +set(QUASSEL_PATCH 2) +set(QUASSEL_VERSION_STRING "0.12.2") # We want to know CMake's version for debug reasons message(STATUS "Using CMake ${CMAKE_VERSION}") diff -Nru quassel-0.12.1/debian/changelog quassel-0.12.2/debian/changelog --- quassel-0.12.1/debian/changelog 2015-04-23 13:34:27.000000000 +0000 +++ quassel-0.12.2/debian/changelog 2015-04-27 08:15:05.000000000 +0000 @@ -1,3 +1,10 @@ +quassel (0.12.2-0ubuntu0.1) vivid; urgency=medium + + * New upstream release + - LP: #1448911 Execute initDbSession() on DB reconnects + + -- Jonathan Riddell Mon, 27 Apr 2015 10:11:13 +0200 + quassel (0.12.1-0ubuntu0.1) vivid; urgency=medium * New upstream release diff -Nru quassel-0.12.1/src/common/main.cpp quassel-0.12.2/src/common/main.cpp --- quassel-0.12.1/src/common/main.cpp 2015-04-21 20:41:47.000000000 +0000 +++ quassel-0.12.2/src/common/main.cpp 2015-04-23 20:47:17.000000000 +0000 @@ -103,13 +103,6 @@ # endif #endif - // Migrate settings from KDE4 to KF5 if appropriate -#ifdef HAVE_KF5 - Kdelibs4ConfigMigrator migrator(QCoreApplication::applicationName()); - migrator.setConfigFiles(QStringList() << "quasselrc" << "quassel.notifyrc"); - migrator.migrate(); -#endif - AbstractCliParser *cliParser; #ifdef HAVE_KDE4 @@ -198,6 +191,13 @@ } #endif +// Migrate settings from KDE4 to KF5 if appropriate +#ifdef HAVE_KF5 + Kdelibs4ConfigMigrator migrator(QCoreApplication::applicationName()); + migrator.setConfigFiles(QStringList() << "quasselrc" << "quassel.notifyrc"); + migrator.migrate(); +#endif + #ifdef HAVE_KF5 // FIXME: This should be done after loading the translation catalogue, but still in main() AboutData aboutData; diff -Nru quassel-0.12.1/src/core/abstractsqlstorage.cpp quassel-0.12.2/src/core/abstractsqlstorage.cpp --- quassel-0.12.1/src/core/abstractsqlstorage.cpp 2015-04-21 20:41:47.000000000 +0000 +++ quassel-0.12.2/src/core/abstractsqlstorage.cpp 2015-04-23 20:47:17.000000000 +0000 @@ -53,7 +53,14 @@ if (!_connectionPool.contains(QThread::currentThread())) addConnectionToPool(); - return QSqlDatabase::database(_connectionPool[QThread::currentThread()]->name()); + QSqlDatabase db = QSqlDatabase::database(_connectionPool[QThread::currentThread()]->name(),false); + + if (!db.isOpen()) { + qWarning() << "Database connection" << displayName() << "for thread" << QThread::currentThread() << "was lost, attempting to reconnect..."; + dbConnect(db); + } + + return db; } @@ -90,6 +97,12 @@ db.setPassword(password()); } + dbConnect(db); +} + + +void AbstractSqlStorage::dbConnect(QSqlDatabase &db) +{ if (!db.open()) { quWarning() << "Unable to open database" << displayName() << "for thread" << QThread::currentThread(); quWarning() << "-" << db.lastError().text(); diff -Nru quassel-0.12.1/src/core/abstractsqlstorage.h quassel-0.12.2/src/core/abstractsqlstorage.h --- quassel-0.12.1/src/core/abstractsqlstorage.h 2015-04-21 20:41:47.000000000 +0000 +++ quassel-0.12.2/src/core/abstractsqlstorage.h 2015-04-23 20:47:17.000000000 +0000 @@ -87,6 +87,7 @@ private: void addConnectionToPool(); + void dbConnect(QSqlDatabase &db); int _schemaVersion; bool _debug; diff -Nru quassel-0.12.1/version.h.in quassel-0.12.2/version.h.in --- quassel-0.12.1/version.h.in 2015-04-21 20:41:47.000000000 +0000 +++ quassel-0.12.2/version.h.in 2015-04-23 20:47:17.000000000 +0000 @@ -9,5 +9,5 @@ #define GIT_DESCRIBE "@GIT_DESCRIBE@" // Will be substituted in official tarballs -#define DIST_HASH "126be94fe8f19dfa397842d78cf7acc388b50471" -#define DIST_DATE "1429648907" +#define DIST_HASH "9c5e6c666d5faa976eec2e0ac8bf8e1dd6c0332c" +#define DIST_DATE "1429822037"