quassel.git
3 years agoBump version for release 0.12.4
Manuel Nickschas [Sun, 24 Apr 2016 20:23:44 +0000 (22:23 +0200)]
Bump version for release

3 years agoUpdate ChangeLog
Manuel Nickschas [Sun, 24 Apr 2016 20:22:36 +0000 (22:22 +0200)]
Update ChangeLog

3 years agoAdd documentation to isStatusMsg
Shane Synan [Wed, 30 Mar 2016 23:50:46 +0000 (18:50 -0500)]
Add documentation to isStatusMsg

3 years agoHandle STATUSMSG messages
Michael Marley [Wed, 23 Mar 2016 20:47:02 +0000 (16:47 -0400)]
Handle STATUSMSG messages

Previously PRIVMSGs to channels prefixed with certain characters
(usually "+" or "@") (example "@#quassel") would appear in new
query buffers instead of in the channel buffer.  People were using
that problem to broadcast query SPAM in active channels such as

This patch fixes the issue by detecting the condition, first in
ircparser.cpp where it will use the channel name instead of the
sender's nick as the target.  ctcpparser.cpp then sees the prefixed
channel name and reacts by truncating the prefix(es) and setting a
new flag so that the client can tell the message was a STATUSMSG.
A look-ahead system is used to ensure that the channel prefix
character is not stripped even when the channel prefix characters
and STATUSMSG prefix characters overlap.

The server-provided STATUSMSG prefixes are used if available,
otherwise "@" and "+" are used.

This patch doesn't make the client display the STATUSMSGs any
differently than regular messages.  I omitted this because there
was some discussion on the channel about the best way to display
these messages, but no conclusion was ever reached.  This patch
will at least stop the query SPAM and also provides the
infrastructure necessary to change the display format later.

3 years agoEnable Link-Preview on appveyor builds
romibi [Sun, 14 Feb 2016 13:12:53 +0000 (14:12 +0100)]
Enable Link-Preview on appveyor builds

3 years agoHandle invalid handshake data properly in the core
Manuel Nickschas [Sun, 24 Apr 2016 19:59:15 +0000 (21:59 +0200)]
Handle invalid handshake data properly in the core

Clients sending invalid handshake data could make the core crash
due to an unchecked pointer. This commit fixes this issue by having
the core close the socket if a peer could not be created.

Thanks to Bas Pape (Tucos) for finding this one!

3 years agoSupport session management with Qt5
Sebastian Goth [Sat, 23 Apr 2016 11:39:59 +0000 (13:39 +0200)]
Support session management with Qt5

Qt5 moved away from virtual methods towards signals for commitData() and saveState().
These were simply not called anymore in our code.

In Qt 5.6 a bug was fixed that broke session management at least with KF5.
As we do handle the session management, we can safely disable the fallback.
See QTBUG-49667 and https://codereview.qt-project.org/#/c/148274/ for details.

3 years agoUpdate translations from Transifex
Daniel Albers [Wed, 25 Mar 2015 04:00:24 +0000 (05:00 +0100)]
Update translations from Transifex

  26449 translated messages

Many thanks to:
 - cs: Jaroslav Lichtblau <dragonlord@seznam.cz>
 - de: Sebastian Meyer <transifex@netzvieh.de>
 - es: Javier Llorente <javier@opensuse.org>
 - fi: Lasse Liehu <larso@gmx.com>
 - fr: Vlavv <vlavv2@gmail.com>
 - hi: Raju Devidas Vindane <rajuvindane@gmail.com>
 - pa: A S Alam <apreet.alam@gmail.com>
 - pt_BR: André Marcelo Alvarenga <alvarenga@kde.org>
 - sl: Andrej Mernik <andrejm@ubuntu.si>
 - tr: Demiray Muhterem <mdemiray@msn.com>, Volkan Gezer <volkangezer@gmail.com>
 - uk: Yuri Chornoivan <yurchor@ukr.net>

3 years agoDon't prefix the nick with a colon while connecting to a server
Manuel Nickschas [Wed, 10 Feb 2016 18:58:52 +0000 (19:58 +0100)]
Don't prefix the nick with a colon while connecting to a server

For the NICK command during the initial connection handshake, we
always prefixed the parameter with a colon. While this is not an RFC
violation, it is unnecessary as nicks can't contain spaces. Worse, it
confuses some obscure ircds...

3 years agoBump version for release 0.12.3
Manuel Nickschas [Tue, 9 Feb 2016 21:02:34 +0000 (22:02 +0100)]
Bump version for release

3 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 9 Feb 2016 20:59:55 +0000 (21:59 +0100)]
Update ChangeLog

3 years agoSupport new QtInfoMsg message type
Manuel Nickschas [Mon, 8 Feb 2016 21:37:57 +0000 (22:37 +0100)]
Support new QtInfoMsg message type

Qt 5.5 introduced QtInfoMsg. This commit adds support for this
in our logger, thus removing a warning.

3 years agoUpdate AboutData
Manuel Nickschas [Mon, 8 Feb 2016 21:21:43 +0000 (22:21 +0100)]
Update AboutData

3 years agoDon't allow newlines in buffer names
Manuel Nickschas [Mon, 8 Feb 2016 20:29:14 +0000 (21:29 +0100)]
Don't allow newlines in buffer names

Since it is possible to enter newlines when renaming a buffer via
the GUI, we need to have a sanity check that cuts off the additional
lines.

Fixes #1389.

3 years agoFix issues with buffer selection and filtered views
Manuel Nickschas [Mon, 8 Feb 2016 20:04:03 +0000 (21:04 +0100)]
Fix issues with buffer selection and filtered views

Whenever the current buffer changed, filtered BufferViews need to
check if the previously selected item should be hidden (e.g. due to
activity settings). The existing code for this never really worked
due to the currentChanged() signal emission being wonky (it would
sometimes be eaten for some reason), and fully stopped working in
Qt5 since it connected to a private, internal slot of QSFPM.

This commit removes the old code and replaces it by faking the
emission of a dataChanged() signal from the base model whenever
the current buffer changes.

3 years agoFix build with Qt4
Manuel Nickschas [Thu, 4 Feb 2016 21:40:49 +0000 (22:40 +0100)]
Fix build with Qt4

Qt4 can't serialize lists of things out of the box, in this case
lists of shortcuts. Rather than declaring a new metatype, we just
go back to storing a single shortcut for Qt4 - it's all we internally
support anyway.

3 years agoDon't serialize PeerPtr value in RPC connections
Manuel Nickschas [Wed, 3 Feb 2016 23:10:08 +0000 (00:10 +0100)]
Don't serialize PeerPtr value in RPC connections

PeerPtr is used in RPC signatures for enabling receivers to send replies
to a particular peer rather than broadcast to all connected ones.
To enable this, the SignalProxy transparently replaces the bogus value
received over the network with the actual address of the local Peer
instance.

Because the actual value isn't needed on the wire, it should be
serialized as null. This also prevents the accidental use of a bogus
remote pointer address.

3 years agoFix shortcut handling with KDE Frameworks
Manuel Nickschas [Wed, 3 Feb 2016 21:50:02 +0000 (22:50 +0100)]
Fix shortcut handling with KDE Frameworks

KDE Frameworks slightly altered the way it handles default shortcuts
for actions; the property name was changed to support lists of
shortcuts. This issue lead to default shortcuts not being active for
Quassel built against KDE Frameworks.

3 years agoFix possible crash, mostly occurring on notification flood.
Hannah von Reth [Wed, 3 Feb 2016 09:37:01 +0000 (10:37 +0100)]
Fix possible crash, mostly occurring on notification flood.

3 years agoFixed a tiny bug in aliasmanager
Janne Koschinski [Tue, 2 Feb 2016 16:50:32 +0000 (17:50 +0100)]
Fixed a tiny bug in aliasmanager

The `/wait` check is to test if the first command is a `/wait`, which would operate synchronously.
But `/wait` matches also on other commands – so, if, for example, we’d have a command like `/waiting`, it would be matched.
Instead we actually want to match on `/wait ` (with space at the end).

3 years agoFix the SSL check on systems that don't use OpenSSL
Ayonix [Mon, 18 Jan 2016 21:57:35 +0000 (22:57 +0100)]
Fix the SSL check on systems that don't use OpenSSL

3 years agoFix build with snorenotify 0.7
Hannah von Reth [Thu, 3 Dec 2015 14:49:23 +0000 (15:49 +0100)]
Fix build with snorenotify 0.7

3 years agoFix msvc x64 build and openssl for msc.
Hannah von Reth [Tue, 12 Jan 2016 14:53:57 +0000 (15:53 +0100)]
Fix msvc x64 build and openssl for msc.

Parts of the changes are in the external script.

3 years agoApply small snore api changed.
Patrick von Reth [Tue, 22 Sep 2015 13:31:28 +0000 (15:31 +0200)]
Apply small snore api changed.

3 years agoUpdate Snorenotify project location.
Patrick von Reth [Tue, 18 Aug 2015 07:12:46 +0000 (09:12 +0200)]
Update Snorenotify project location.

3 years agoUpdated the Snorenotification backend to the new api of Snorenotify.
Patrick von Reth [Thu, 16 Jul 2015 14:15:54 +0000 (16:15 +0200)]
Updated the Snorenotification backend to the new api of Snorenotify.

Use Snorenotify also if Quassel is build with KDE support but only load
secondary backends which allow redirection to a phone etc. are loaded.

3 years agosignalproxy: Correct signal method name warnings
esainane [Sat, 12 Dec 2015 05:56:17 +0000 (18:56 +1300)]
signalproxy: Correct signal method name warnings

_id was used to index SignalProxy::SignalRelay::_slots.
signal.signalId is used to index caller->metaObject()->method.

This can be verified by changing eg. displayMsg to use a type that is
compatible with Message but won't work with QMetaType::type, like Message&

3 years agoOnly link to ZLIB if it was found.
Hannah von Reth [Thu, 10 Dec 2015 15:54:26 +0000 (16:54 +0100)]
Only link to ZLIB if it was found.

3 years agoAdd support for Appvayor Windows ci.
Patrick von Reth [Tue, 4 Aug 2015 12:12:13 +0000 (14:12 +0200)]
Add support for Appvayor Windows ci.

Add build scripts for appveyor.com ci for mingw and msvc 2013.
The ci automatically creates a Nsis installer and a 7zip package.

3 years agoFix migration of hashversion
Michael Marley [Tue, 1 Dec 2015 00:33:37 +0000 (19:33 -0500)]
Fix migration of hashversion

Previously, hashversion was not migrated.  This would cause the
value to default to 0, causing login failures for existing users.

3 years agoUse SHA2-512 to store the core certificate digest in the client
Michael Marley [Sat, 23 May 2015 22:17:04 +0000 (18:17 -0400)]
Use SHA2-512 to store the core certificate digest in the client

Previously, MD5 was used.  Like the core password hashing update,
this implements a versioning system so that the digest will be
automagically upgraded without bugging the user.  If for some
reason the user downgrades again, the client will still work but
the user will be asked to validate the certificate again.

SHA2-256 is more common for storing certificate digests, but in
this case, SHA2-512 was used.  This is because Qt4 does not
implement any hash higher than SHA1 and a SHA2-512 implementation
is already bundled for use with the core password hashing.

3 years agoFix ident race condition
Sai Nane [Sat, 28 Nov 2015 23:43:40 +0000 (12:43 +1300)]
Fix ident race condition

This creates an entry for the port as soon as the socket is opened,
without duplicates. This allows an identd service to respond correctly
if a request is received before the SSL handshake has finished and been
processed on our side.

Since socketOpen is not used in the project, it is removed here.
Since the only usage of socketInitialized(...) is with oidentd, its
semantic meaning is slightly changed to occur earlier, like socketOpen,
but only once, like the former socketInitialized(...).

3 years agoFix OIdentdConfigGenerator double-printing on ssl
esainane [Sat, 21 Nov 2015 08:38:11 +0000 (21:38 +1300)]
Fix OIdentdConfigGenerator double-printing on ssl

connected() is always connected to socketInitialized().
encrypted() is also connected to socketInitialized() when ssl is enabled.

socketInitialized() fires socketOpen(...) unconditionally, but does not fire socketInitialized(...) if we're using SSL without encryption yet - see line 464.

With socketOpen(...) connected to OIdentdConfigurationGenerator::addSocket, OIdentdConfigurationGenerator writes to .oidentd.conf twice for every connection.

Changing this to have socketInitialized(...) connected instead prevents this duplication.

3 years agoFix SSL detection
Weng Xuetian [Thu, 12 Nov 2015 00:13:33 +0000 (16:13 -0800)]
Fix SSL detection

CMAKE_POSITION_INDEPENDENT_CODE will always append fPIE flag as last compiler flag when calling try_compile which makes check_cxx_source_compiles fails. Move the SSL check before set CMAKE_POSITION_INDEPENDENT_CODE and append Qt5Core_EXECUTABLE_COMPILE_FLAGS to CMAKE_CXX_FLAGS solve the problem.

3 years agoquasselcore: --add-user and --change-userpass now exit with non-null in case
Raul Salinas-Monteagudo [Sat, 31 Oct 2015 10:53:02 +0000 (11:53 +0100)]
quasselcore: --add-user and --change-userpass now exit with non-null in case
of errors.

3 years agoFixes a crash of the core when executing "/op *" in a query.
Konstantin Bläsi [Wed, 21 Oct 2015 01:26:02 +0000 (03:26 +0200)]
Fixes a crash of the core when executing "/op *" in a query.

3 years agoCorrect capitalization of networkid column name
Jan Alexander Steffens (heftig) [Mon, 19 Oct 2015 19:30:28 +0000 (21:30 +0200)]
Correct capitalization of networkid column name

Fixes http://bugs.quassel-irc.org/issues/1369

3 years agoPerformance tweak: rem. pointless recursive calls
Petr Bena [Wed, 23 Sep 2015 14:07:16 +0000 (16:07 +0200)]
Performance tweak: rem. pointless recursive calls

For some reason there was an extra call to IrcChannel::joinIrcUser
from IrcUser::joinIrcChannel. That means that in past we did:

* Call to                         IrcChannel::joinIrcUsers(...)
* From there we call              IrcUser::joinIrcChannel(this)
* And from there we called        IrcChannel::joinIrcUser(this)
* Which again called              IrcChannel::joinIrcUsers(list that contained only this 1 user)
* Which figured out this user is already in this channel and exits

That is a pointless overhead, so now we call the second function with
extra parameter that tells it not to call joinIrcUser because we know
this user doesn't need to be added there, thus saves few thousands of
pointless function calls and user list contructions, especially while
joining large channels.

3 years agoDon't assign a default value to spacePos
Pierre Schweitzer [Thu, 2 Jul 2015 12:31:29 +0000 (14:31 +0200)]
Don't assign a default value to spacePos

Will be ignored later on in CtcpParser::parseSimple.

3 years agoPass argument by reference in CliParserArg constructor
Pierre Schweitzer [Thu, 2 Jul 2015 12:28:05 +0000 (14:28 +0200)]
Pass argument by reference in CliParserArg constructor

3 years agoUse prefix operators when possible for non-primitive types
Pierre Schweitzer [Thu, 2 Jul 2015 12:21:55 +0000 (14:21 +0200)]
Use prefix operators when possible for non-primitive types

This affects mostly iterators.

3 years agoWrite out warning when a user login fails
Andrew Brown [Thu, 14 May 2015 08:12:26 +0000 (09:12 +0100)]
Write out warning when a user login fails

Fixes #1356.

3 years agoPreserve white-space in the input history.
Bas Pape [Sat, 28 Dec 2013 12:07:30 +0000 (13:07 +0100)]
Preserve white-space in the input history.

By default QTextHtmlImporter::appendNodeText replaces white-space
characters with a single space and leading white-space is removed. When
white-space is set to pre-wrap in the style of the node, it is preserved
instead.

Given that contents are in a span element, setting white-space to
pre-wrap on span makes the setHtml call do the expected thing.

3 years agoStore the channel keys in CoreNetwork again
Bas Pape [Thu, 24 Sep 2015 19:15:49 +0000 (21:15 +0200)]
Store the channel keys in CoreNetwork again

The refactoring from 3146ad0 (and e0781ee) was not a true refactoring as
it changed behaviour: CoreIrcChannels (as opposed to CoreNetworks) are
ephemeral, which meant disconnecting or parting lost the channel key.
Keys are still kept by the channel's cipher, but synced from/to its network when
the constructor/destructor is called.

Fixes #1248

3 years agoDisable checkbox if no DockManager is present
Bas Pape [Thu, 24 Sep 2015 18:32:13 +0000 (20:32 +0200)]
Disable checkbox if no DockManager is present

This gets rid of the stray debug message introduced by 0bf9227 and adds
some visual feedback on the settingspage instead.

3 years agoRemove forward declarations in multilineedit.h
Bas Pape [Thu, 24 Sep 2015 18:29:08 +0000 (20:29 +0200)]
Remove forward declarations in multilineedit.h

TabCompleter isn't used and QKeyEvent's header is included (and required
for inlined functions).

3 years agoRemove the tabcompletion space at end of text
Bas Pape [Thu, 24 Sep 2015 18:11:48 +0000 (20:11 +0200)]
Remove the tabcompletion space at end of text

The "add space after nick when completing mid-sentence" option
introduced by 84381d6 left the space even if it turned out to be at
the end. Remove it again if the text hasn't changed when sending the
text.

3 years agoFixed english in ircchannel.cpp
Petr Bena [Tue, 22 Sep 2015 08:01:50 +0000 (10:01 +0200)]
Fixed english in ircchannel.cpp

Mostly only comments, it hurt my eyes while reading it :P

3 years agoClean up
Petr Bena [Mon, 21 Sep 2015 12:19:33 +0000 (14:19 +0200)]
Clean up

Removed extra semicolon and resolved some compiler warnings

3 years agoFix build with Qt-5.5
Armin K [Sat, 2 May 2015 21:04:53 +0000 (23:04 +0200)]
Fix build with Qt-5.5

http://code.qt.io/cgit/qt/qtbase.git/commit/?id=ebef2ad1360c80ad62de5f4a1c4e7e4051725c1c

3 years agoKeep _wantReconnect set to true by default instead of false
Michael Marley [Sat, 13 Jun 2015 21:38:29 +0000 (17:38 -0400)]
Keep _wantReconnect set to true by default instead of false

Previously _wantReconnect was set to false by default (unless the
client was actually disconnected).  If the disconnect() signal was
fired without any other signals (socketError(), for example), this
would cause the client to not reconnect.  This seems to be
happening rather often with Qt5 client builds because a vast
majority of the time when I restart my core (or the entire core
server), the Qt5 clients do not reconnect.  This patch keeps
_wantReconnect set to true whenever the client is connected so that
problem will not occur anymore.  Disconnecting manually will set
it back to false so that the client won't try to reconnect after
a manual disconnect.

3 years agoAdding tag file to the ignore list.
Jason Joyce [Wed, 13 May 2015 01:53:18 +0000 (21:53 -0400)]
Adding tag file to the ignore list.

3 years agoRespect WITH_WEBKIT when defining HAVE_WEBKIT
Deiz [Fri, 8 May 2015 19:37:52 +0000 (15:37 -0400)]
Respect WITH_WEBKIT when defining HAVE_WEBKIT

3 years agoAdding the build folder to the ignore file.
Jason Joyce [Fri, 8 May 2015 02:41:10 +0000 (22:41 -0400)]
Adding the build folder to the ignore file.

3 years agoAdding a gitignore file.
jjoyce [Thu, 7 May 2015 20:46:27 +0000 (16:46 -0400)]
Adding a gitignore file.

3 years agoPython PEP8 cleanup of macosx_makebundle.py
jjoyce [Thu, 7 May 2015 19:03:02 +0000 (15:03 -0400)]
Python PEP8 cleanup of macosx_makebundle.py

3 years agoPython PEP8 cleanup of macos_DeployApp.py
jjoyce [Thu, 7 May 2015 18:46:41 +0000 (14:46 -0400)]
Python PEP8 cleanup of macos_DeployApp.py

3 years agoFix SQL errors caused by sender insertion from multiple threads
Michael Marley [Tue, 5 May 2015 01:27:14 +0000 (21:27 -0400)]
Fix SQL errors caused by sender insertion from multiple threads

At least on Qt5, the QSqlQuery.lastQuery() function, when used with
prepared queries, returns the EXECUTE statement and not the actual
query.  Qt then attempts to PREPARE this statement, which causes
a syntax error, aborting the transaction and dropping the message that
was to be inserted.  A better idea would be to execute the named
prepared query directly, which avoids the problem.

3 years agoAdd cmdline options for SSL certificate/key paths.
Daniel Schaal [Fri, 1 May 2015 14:34:22 +0000 (16:34 +0200)]
Add cmdline options for SSL certificate/key paths.

Add cmdline options to core to specify the SSL certificate
and SSL key path, --ssl-cert and --ssl-key respectively.
If not set, the usual path CONFIGDIR/quasselCert.pem
will be used for the cert and the key.

If only the path to the certificate is set, it is assumed
to also contain the key.

3 years agoFix read GIT_HEAD and GIT_DESCRIBE from environment
Alf Gaida [Sat, 25 Apr 2015 17:25:34 +0000 (19:25 +0200)]
Fix read GIT_HEAD and GIT_DESCRIBE from environment

add missed ENV

3 years agoCall socketDisconnected() from socketStateChanged()
Michael Marley [Thu, 23 Apr 2015 22:05:31 +0000 (18:05 -0400)]
Call socketDisconnected() from socketStateChanged()

This makes sure that socketDisconnected() is always called when
Quassel disconnects even if it isn't fully connected yet.
Otherwise, reconnect occasionally fails to work properly.

4 years agoBump version for release 0.12.2
Manuel Nickschas [Thu, 23 Apr 2015 20:47:17 +0000 (22:47 +0200)]
Bump version for release

4 years agoUpdate ChangeLog
Manuel Nickschas [Thu, 23 Apr 2015 20:46:48 +0000 (22:46 +0200)]
Update ChangeLog

4 years agoMove config file migration after QCoreApplication instantiation
Manuel Nickschas [Thu, 23 Apr 2015 20:34:07 +0000 (22:34 +0200)]
Move config file migration after QCoreApplication instantiation

Seems like Kdelibs4ConfigMigrator accesses QCoreApplication::arguments()
now, leading to a warning on startup if QCA hasn't been instantiated yet.

4 years agoExecute initDbSession() on DB reconnects
Michael Marley [Thu, 23 Apr 2015 12:46:43 +0000 (08:46 -0400)]
Execute initDbSession() on DB reconnects

Previously, the initDbSession() function would only be run on the
initial connect.  Since the initDbSession() code in PostgreSQL is
used to fix the CVE-2013-4422 SQL Injection bug, this means that
Quassel was still vulnerable to that CVE if the PostgreSQL server
is restarted or the connection is lost at any point while Quassel
is running.

This bug also causes the Qt5 psql timezone fix to stop working
after a reconnect.

The fix is to disable Qt's automatic reconnecting, check the
connection status ourselves, and reconnect if necessary, executing
the initDbSession() function afterward.

4 years agoBump version for release 0.12.1
Manuel Nickschas [Tue, 21 Apr 2015 20:41:47 +0000 (22:41 +0200)]
Bump version for release

4 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 21 Apr 2015 20:41:11 +0000 (22:41 +0200)]
Update ChangeLog

4 years agoSet the PostgreSQL session timezone to 'UTC'
Michael Marley [Mon, 20 Apr 2015 16:43:53 +0000 (12:43 -0400)]
Set the PostgreSQL session timezone to 'UTC'

With Qt5, the PostgreSQL driver will transparently convert times
to the database's timezone before inserting.  Because the default
is 'localtime', this causes the local time to be stored in the DB
instead of the UTC time.  This in turn causes the time displayed
in the client to be wrong by the same offset as that timezone's
offset.  To fix the issue, just make sure the PostgreSQL is in the
'UTC' timezone, so the passed UTC time will not be converted.

4 years agoBump version for release 0.12.0
Manuel Nickschas [Wed, 15 Apr 2015 20:58:17 +0000 (22:58 +0200)]
Bump version for release

4 years agoUpdate ChangeLog
Manuel Nickschas [Wed, 15 Apr 2015 20:57:53 +0000 (22:57 +0200)]
Update ChangeLog

4 years agoOutput the CMake version during configuration
Manuel Nickschas [Wed, 15 Apr 2015 20:56:03 +0000 (22:56 +0200)]
Output the CMake version during configuration

This will allow us to quickly see if too old (or sometimes even
too new) CMake versions cause problems for building.

4 years agoUse the Qca-qt5 import target if available
Patrick von Reth [Mon, 16 Mar 2015 10:55:41 +0000 (11:55 +0100)]
Use the Qca-qt5 import target if available

4 years agoMerge pull request #121 from mamarley/unusedcipherfix
Manuel Nickschas [Wed, 15 Apr 2015 18:12:08 +0000 (20:12 +0200)]
Merge pull request #121 from mamarley/unusedcipherfix

Fix compiler warning when compiling without QCA support

4 years agoMerge pull request #120 from mamarley/dbcreatefix
Manuel Nickschas [Thu, 9 Apr 2015 11:53:29 +0000 (13:53 +0200)]
Merge pull request #120 from mamarley/dbcreatefix

Update the schema creation DDL for the new password hashing

4 years agoFix compiler warning when compiling without QCA support 121/head
Michael Marley [Mon, 6 Apr 2015 01:54:36 +0000 (21:54 -0400)]
Fix compiler warning when compiling without QCA support

4 years agoUpdate the schema creation DDL for the new password hashing 120/head
Michael Marley [Mon, 6 Apr 2015 01:35:09 +0000 (21:35 -0400)]
Update the schema creation DDL for the new password hashing

I'm not sure whether this slipped out in a merge or whether I
forgot to add it in the first place, but it should have been part
of commit 5924533c6d0f9777d38c01ed7e1510a55db2b876.  This
completely broke setting up a new Quassel instance from scratch
with 0.12-rc1, but upgrades from previous versions are unaffected.

4 years agoFix typo in PasswordChangeDlg failure message
Daniel Albers [Wed, 25 Mar 2015 12:11:50 +0000 (13:11 +0100)]
Fix typo in PasswordChangeDlg failure message

4 years agoUpdate translations from Transifex
Daniel Albers [Wed, 26 Mar 2014 04:00:33 +0000 (05:00 +0100)]
Update translations from Transifex

  26056 translated messages

Many thanks to:
 - cs: Jaroslav Lichtblau <dragonlord@seznam.cz>
 - da: Jens True <frazzer@hotmail.com>,
       Joe Hansen <joedalton2@yahoo.dk>
 - de: contradictioned <contradictioned@googlemail.com>,
       Felix Kaechele <felix@fetzig.org>,
       Manuel Hoffmann <contradictioned@googlemail.com>,
       Tobias Frei <tobias@freiwuppertal.de>
 - el: Stefanos Sofroniou <inactive+_stefanos_@transifex.com>
 - eo: Tinjo Kohen <tiffypet@yahoo.com>
 - es: Adolfo Jayme Barrientos <fitoschido@ubuntu.com>,
       Jonathan Farnham <jonathan@haitu-yu.com>
 - fi: Lasse Liehu <larso@gmx.com>
 - fr: Vlavv <vlavv2@gmail.com>
 - gl: Miguel Anxo Bouzada <mbouzada@gmail.com>
 - hi: Raju Devidas Vindane <rajuvindane@gmail.com>
 - ko: Sungjin Kang <potopro@gmail.com>
 - mr: Raju Devidas Vindane <rajuvindane@gmail.com>
 - nl: simonphilips <simon.philips@gmail.com>
 - oc: Cédric Valmary <cvalmary@yahoo.fr>
 - pa: A S Alam <apreet.alam@gmail.com>
 - pt_BR: Pedro Araujo <pedroaraujo@colorlesscube.com>
 - ro: Arthur Țițeică <arthur.titeica@gmail.com>
 - sl: Andrej Mernik <andrejm@ubuntu.si>
 - sr: Jovan Jojkić <jovanjojkic@gmail.com>
 - tr: Volkan Gezer <volkangezer@gmail.com>
 - uk: Yuri Chornoivan <yurchor@ukr.net>

4 years agoUpdate quassel.pot
Daniel Albers [Tue, 25 Mar 2014 23:10:11 +0000 (00:10 +0100)]
Update quassel.pot

4 years agoThese two settings keys shouldn't be translated
Lasse Liehu [Tue, 25 Mar 2014 22:53:23 +0000 (00:53 +0200)]
These two settings keys shouldn't be translated

4 years agoMerge pull request #118 from mamarley/randomfix
Manuel Nickschas [Wed, 11 Mar 2015 22:21:29 +0000 (23:21 +0100)]
Merge pull request #118 from mamarley/randomfix

Fix FTBFS on certain older libstdc++ versions.

4 years agoFix FTBFS on certain older libstdc++ versions. 118/head
Michael Marley [Wed, 11 Mar 2015 21:54:05 +0000 (17:54 -0400)]
Fix FTBFS on certain older libstdc++ versions.

4 years agoBump version for release 0.12-rc1
Manuel Nickschas [Wed, 11 Mar 2015 19:47:23 +0000 (20:47 +0100)]
Bump version for release

4 years agoUpdate ChangeLog
Manuel Nickschas [Wed, 11 Mar 2015 19:46:47 +0000 (20:46 +0100)]
Update ChangeLog

4 years agoMerge pull request #116 from mamarley/splitfix2
Manuel Nickschas [Wed, 11 Mar 2015 19:43:25 +0000 (20:43 +0100)]
Merge pull request #116 from mamarley/splitfix2

Improve the message-splitting algorithm for PRIVMSG and CTCP

4 years agoMove websearch from botton of context menu to underneath copy selection.
Chris H [Sun, 14 Sep 2014 17:30:09 +0000 (13:30 -0400)]
Move websearch from botton of context menu to underneath copy selection.

It seems the 'Copy Selection' button got moved between when the patch
was made and when it finally got applied. Got missed during the merge.

4 years agoMerge pull request #117 from mamarley/oldcoresslconfig
Manuel Nickschas [Wed, 11 Mar 2015 19:15:24 +0000 (20:15 +0100)]
Merge pull request #117 from mamarley/oldcoresslconfig

Add back the SSL protocol selection dialog box for old cores.

4 years agoMerge pull request #111 from mamarley/nosslloopback
Manuel Nickschas [Wed, 11 Mar 2015 19:13:12 +0000 (20:13 +0100)]
Merge pull request #111 from mamarley/nosslloopback

Don't require SSL for loopback connections with --require-ssl

4 years agoMerge pull request #110 from mamarley/passhash
Manuel Nickschas [Wed, 11 Mar 2015 19:10:41 +0000 (20:10 +0100)]
Merge pull request #110 from mamarley/passhash

Introduce new password hash versioning system and new salted SHA2-512 hash

4 years agoProvide a proper dialog for changing the core password
Manuel Nickschas [Wed, 11 Mar 2015 18:49:27 +0000 (19:49 +0100)]
Provide a proper dialog for changing the core password

The password change dialog now asks for your old password, and forces
you to confirm the new password by typing it twice, as is customary.
To make this works, we need to add bidirectional communication between
client and core, forcing some more changes to the way the first iteration
of the feature was done.

Note that this commit breaks compatibility with the previous implementation.
If you run a beta1 core or client, you need to upgrade both to make things
work again. Since no real release happened in between, I don't deem it
necessary to provide backwards compat or yet another feature guard.

4 years agoMake PeerPtr work for RPC calls
Manuel Nickschas [Wed, 11 Mar 2015 18:43:21 +0000 (19:43 +0100)]
Make PeerPtr work for RPC calls

While most of the functionality was already in place, it turns out
that we need to enable loading/saving PeerPtr from/to a QVariant in
order for SignalProxy to work properly.

I'm honestly not sure why it seemed to work without this when implementing
the TransferManager, but it's obvious it's required.

4 years agoAdd missing dependency to KWidgetsAddons
Manuel Nickschas [Mon, 9 Mar 2015 20:53:00 +0000 (21:53 +0100)]
Add missing dependency to KWidgetsAddons

This is pulled in by some other frameworks modules anyway, but we should
list it explicitly.

4 years agoAdd back the SSL protocol selection dialog box for old cores. 117/head
Michael Marley [Fri, 27 Feb 2015 17:31:17 +0000 (12:31 -0500)]
Add back the SSL protocol selection dialog box for old cores.

Cores before 0.10 will default to SSLv3 if the user doesn't make a
selection.  If a >=0.10 client is used with a <0.10 core to connect
to a server that has SSLv3 disabled, it is impossible to connect
to that server without upgrading the core or using an old client
to change the SSL protocol settings.

This also changes the SSLv2 and SSLv3 options to indicate their
insecurity and therefore discourage their use.

Cores from 0.10 and up use SSL autonegotiation and to not need the
protocol setting.

This partially reverts commit
e53fc69a91553b57932ba599b39999d550114588.

4 years agoDon't require SSL for loopback connections with --require-ssl 111/head
Michael Marley [Sat, 14 Feb 2015 01:12:18 +0000 (20:12 -0500)]
Don't require SSL for loopback connections with --require-ssl

Encrypting a loopback connection is a pointless waste of computing
power.  This patch will allow people to use loopback connections
from things like quassel-webserver without encryption while still
requiring encryption for remote connections.

4 years agoAdd support for SHA2-512 hash on Qt4 builds 110/head
Michael Marley [Tue, 3 Mar 2015 01:31:02 +0000 (20:31 -0500)]
Add support for SHA2-512 hash on Qt4 builds

Qt4 doesn't support anything higher than SHA1 in
QCryptographicHash, so it is necessary to include a fallback.  This
bundles sha512.c from PolarSSL/mbed TLS.  It is only used for Qt4
builds and does not require a dependency on external libraries that
might be hard to compile on Windows® or Mac OSX®.  It can be
removed once Qt4 is no longer supported.

4 years agoImprove the message-splitting algorithm for PRIVMSG and CTCP 116/head
Michael Marley [Sat, 21 Feb 2015 12:33:57 +0000 (07:33 -0500)]
Improve the message-splitting algorithm for PRIVMSG and CTCP

This introduces a new message splitting algorithm based on
QTextBoundaryFinder.  It works by first starting with the entire
message to be sent, encoding it, and checking to see if it is over
the maximum message length.  If it is, it uses QTBF to find the
word boundary most immediately preceding the maximum length.  If no
suitable boundary can be found, it falls back to searching for
grapheme boundaries.  It repeats this process until the entire
message has been sent.

Unlike what it replaces, the new splitting code is not recursive
and cannot cause stack overflows.  Additionally, if it is unable
to split a string, it will give up gracefully and not crash the
core or cause a thread to run away.

This patch fixes two bugs.  The first is garbage characters caused
by accidentally splitting the string in the middle of a multibyte
character.  Since the new code splits at a character level instead
of a byte level, this will no longer be an issue.  The second is
the core crash caused by sending an overlength CTCP query ("/me")
containing only multibyte characters.  This bug was caused by the
old CTCP splitter using the byte index from lastParamOverrun() as
a character index for a QString.

4 years agoBump version for release 0.12-beta1
Manuel Nickschas [Wed, 18 Feb 2015 21:09:54 +0000 (22:09 +0100)]
Bump version for release

4 years agoUpdate INSTALL
Manuel Nickschas [Wed, 18 Feb 2015 21:07:59 +0000 (22:07 +0100)]
Update INSTALL

4 years agoUpdate ChangeLog
Manuel Nickschas [Wed, 18 Feb 2015 20:54:50 +0000 (21:54 +0100)]
Update ChangeLog

4 years agoUpdate AboutData
Manuel Nickschas [Wed, 18 Feb 2015 20:17:51 +0000 (21:17 +0100)]
Update AboutData