a4ca568...
by
Marcus Eggenberger <email address hidden>
Fixing issues with multiple CTCP requests in one message
If we receive multiple CTCP requests in one PRIVMSG we now answer with
one packed NOTICE containing all CTCP replies. This fixes a possible
DoS Attack rendering Quassels IRC connection useless. Upgrading is
strongly recommended. Thanks to Jima for reporting and supporting.
Currently, if a client attempts to configure a core's storage backend
even though it is already configured, the core will ignore the attempt
silently (e.g. the existing storage backends will simply drop the request,
but the client also won't receive an error message). This can never happen
unless you use an alternative client with a buggy handshake sequence though,
since quasselclient checks if the core is already configured beforehand.
Nonetheless, it makes sense to properly error out from the core side, just in case
we're getting new storage backends in the future that don't properly check this,
or alternative clients which might be confused by not receiving an error when they should.
Check if the notifications client supports actions
Ubuntu's notification system doesn't support actions and shows fugly popups
in case apps still define them. So we check for the capability and disable actions
if they're not supported.
Needless to mention that the Quassel team heartily recommends using a notification daemon
that is action-enabled for added value.
Unfortunately this means we have to remove our wordwrap workaround for newer versions of Qt,
so we're adding a runtime version check for that. Please note that if you're using a 4.7 snapshot
that's too old, you'll have broken wordwrap now. Upgrade Qt.