diff options
Diffstat (limited to 'net-irc/quassel/files')
-rw-r--r-- | net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch | 22 | ||||
-rw-r--r-- | net-irc/quassel/files/quassel-0.12.2-qt55.patch | 53 | ||||
-rw-r--r-- | net-irc/quassel/files/quassel.logrotate | 9 | ||||
-rw-r--r-- | net-irc/quassel/files/quasselcore.conf | 22 | ||||
-rw-r--r-- | net-irc/quassel/files/quasselcore.init | 63 | ||||
-rw-r--r-- | net-irc/quassel/files/quasselcore.service | 11 |
6 files changed, 180 insertions, 0 deletions
diff --git a/net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch b/net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch new file mode 100644 index 00000000..cf838c7c --- /dev/null +++ b/net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch @@ -0,0 +1,22 @@ +From 476aaa050f26d6a31494631d172724409e4c569b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Konstantin=20Bl=C3=A4si?= <kblaesi@gmail.com> +Date: Wed, 21 Oct 2015 03:26:02 +0200 +Subject: [PATCH] Fixes a crash of the core when executing "/op *" in a query. + +--- + src/core/coreuserinputhandler.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/coreuserinputhandler.cpp b/src/core/coreuserinputhandler.cpp +index 7887a92..73aac48 100644 +--- a/src/core/coreuserinputhandler.cpp ++++ b/src/core/coreuserinputhandler.cpp +@@ -228,7 +228,7 @@ void CoreUserInputHandler::doMode(const BufferInfo &bufferInfo, const QChar& add + if (!isNumber || maxModes == 0) maxModes = 1; + + QStringList nickList; +- if (nicks == "*") { // All users in channel ++ if (nicks == "*" && bufferInfo.type() == BufferInfo::ChannelBuffer) { // All users in channel + const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers(); + foreach(IrcUser *user, users) { + if ((addOrRemove == '+' && !network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode)) diff --git a/net-irc/quassel/files/quassel-0.12.2-qt55.patch b/net-irc/quassel/files/quassel-0.12.2-qt55.patch new file mode 100644 index 00000000..3bf8989e --- /dev/null +++ b/net-irc/quassel/files/quassel-0.12.2-qt55.patch @@ -0,0 +1,53 @@ +From 0df317e85ab3d1d80135995d3b5d7f5341fef6e4 Mon Sep 17 00:00:00 2001 +From: Armin K <krejzi@email.com> +Date: Sat, 2 May 2015 23:04:53 +0200 +Subject: [PATCH] Fix build with Qt-5.5 + +http://code.qt.io/cgit/qt/qtbase.git/commit/?id=ebef2ad1360c80ad62de5f4a1c4e7e4051725c1c +--- + src/client/treemodel.cpp | 5 ++--- + src/common/peer.h | 1 + + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp +index f599803..fd47bc0 100644 +--- a/src/client/treemodel.cpp ++++ b/src/client/treemodel.cpp +@@ -556,10 +556,9 @@ void TreeModel::endAppendChilds() + ChildStatus cs = _childStatus; + #ifndef QT_NO_DEBUG + QModelIndex parent = indexByItem(parentItem); +-#endif + Q_ASSERT(cs.parent == parent); + Q_ASSERT(rowCount(parent) == cs.childCount + cs.end - cs.start + 1); +- ++#endif + _aboutToRemoveOrInsert = false; + for (int i = cs.start; i <= cs.end; i++) { + connectItem(parentItem->child(i)); +@@ -605,9 +604,9 @@ void TreeModel::endRemoveChilds() + #ifndef QT_NO_DEBUG + ChildStatus cs = _childStatus; + QModelIndex parent = indexByItem(parentItem); +-#endif + Q_ASSERT(cs.parent == parent); + Q_ASSERT(rowCount(parent) == cs.childCount - cs.end + cs.start - 1); ++#endif + _aboutToRemoveOrInsert = false; + + endRemoveRows(); +diff --git a/src/common/peer.h b/src/common/peer.h +index 02eb3c0..79204b4 100644 +--- a/src/common/peer.h ++++ b/src/common/peer.h +@@ -22,6 +22,7 @@ + #define PEER_H + + #include <QAbstractSocket> ++#include <QDataStream> + #include <QPointer> + + #include "authhandler.h" +-- +2.4.0 + diff --git a/net-irc/quassel/files/quassel.logrotate b/net-irc/quassel/files/quassel.logrotate new file mode 100644 index 00000000..8e720835 --- /dev/null +++ b/net-irc/quassel/files/quassel.logrotate @@ -0,0 +1,9 @@ +/var/log/quassel.log { + compress + rotate 4 + weekly + delaycompress + copytruncate + missingok + notifempty +} diff --git a/net-irc/quassel/files/quasselcore.conf b/net-irc/quassel/files/quasselcore.conf new file mode 100644 index 00000000..4a000714 --- /dev/null +++ b/net-irc/quassel/files/quasselcore.conf @@ -0,0 +1,22 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Loglevel Debug|Info|Warning|Error. Default is: Info +# The logfile is located at /var/log/quassel.log. +#LOGLEVEL="Info" + +# The address(es) quasselcore will listen on. Default is 0.0.0.0 +#LISTEN="0.0.0.0" + +# The port quasselcore will listen at. Default is: 4242 +#PORT="4242" + +# User we want our daemon to run under. +#QUASSEL_USER="quassel" + +# Directory we store all quasselcore content. +#CONFIGDIR="/var/lib/quassel" + +# File quasselcore will log all its events into. +#LOGFILE="/var/log/quassel.log" diff --git a/net-irc/quassel/files/quasselcore.init b/net-irc/quassel/files/quasselcore.init new file mode 100644 index 00000000..1cbbc838 --- /dev/null +++ b/net-irc/quassel/files/quasselcore.init @@ -0,0 +1,63 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount net + after bootmisc postgres +} + +CORE="$(which quasselcore)" +PID="/var/run/quassel.pid" +LOGFILE=${LOGFILE:-"/var/log/quassel.log"} +CONFIGDIR=${CONFIGDIR:-"/var/lib/quassel"} +QUASSEL_USER=${QUASSEL_USER:-"quassel"} + +checkconfig() { + # set defaults + LOGLEVEL=${LOGLEVEL:-"Info"} + + # check config folder + if [ ! -d "${CONFIGDIR}" ]; then + mkdir "${CONFIGDIR}" || return 1 + fi + # permissions always changed just to avoid runtime issues + chown -R "${QUASSEL_USER}":"${QUASSEL_USER}" "${CONFIGDIR}" || return 1 + + # check log file + if [ ! -e "${LOGFILE}" ]; then + touch "${LOGFILE}" || return 1 + fi + # permissions always changed just to avoid runtime issues + chown "${QUASSEL_USER}":"${QUASSEL_USER}" "${LOGFILE}" || return 1 +} + +start() { + checkconfig || return 1 + + ebegin "Starting Quassel Core" + + if [ -n "${RC_UNAME}" ]; then + # running on baselayout-2/openrc + start-stop-daemon --start --user "${QUASSEL_USER}" --background --make-pidfile \ + --pidfile "${PID}" \ + --exec "${CORE}" -- --logfile="${LOGFILE}" --loglevel="${LOGLEVEL}" \ + ${LISTEN:+--listen="${LISTEN}"} ${PORT:+--port="${PORT}"} \ + --configdir="${CONFIGDIR}" + else + # running on baselayout-1 + start-stop-daemon --start --chuid "${QUASSEL_USER}" --background --make-pidfile \ + --pidfile "${PID}" --env HOME="${CONFIGDIR}" \ + --exec "${CORE}" -- --logfile="${LOGFILE}" --loglevel="${LOGLEVEL}" \ + ${LISTEN:+--listen="${LISTEN}"} ${PORT:+--port="${PORT}"} \ + --configdir="${CONFIGDIR}" + fi + eend $? +} + +stop() { + ebegin "Stopping Quassel Core" + start-stop-daemon --stop --pidfile "${PID}" --exec "${CORE}" + eend $? +} diff --git a/net-irc/quassel/files/quasselcore.service b/net-irc/quassel/files/quasselcore.service new file mode 100644 index 00000000..f5b49ab0 --- /dev/null +++ b/net-irc/quassel/files/quasselcore.service @@ -0,0 +1,11 @@ +[Unit] +Description=Quassel Core +After=network.target + +[Service] +User=quassel +Group=quassel +ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel + +[Install] +WantedBy=multi-user.target |