4 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!

4 years agoMerge pull request #195 from seezer/qt5sessions
Manuel Nickschas [Sun, 24 Apr 2016 18:39:44 +0000 (20:39 +0200)]
Merge pull request #195 from seezer/qt5sessions

Support session management with Qt5

4 years agoMerge pull request #188 from digitalcircuit/ircv3-fix-usermode
Manuel Nickschas [Sun, 24 Apr 2016 18:22:17 +0000 (20:22 +0200)]
Merge pull request #188 from digitalcircuit/ircv3-fix-usermode

Don't update IrcUser modes with channel-specific modes

4 years agoSupport session management with Qt5 195/head
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.

4 years agoRevert "Merge pull request #165 from esainane/coreinfo-dirty-status"
Daniel Albers [Sun, 3 Apr 2016 17:35:40 +0000 (19:35 +0200)]
Revert "Merge pull request #165 from esainane/coreinfo-dirty-status"

`git describe` is called on the committish, which doesn't work with

This reverts commit dd711790dddee81442e2138b3917764dac39c487, reversing
changes made to 9585227400dd89f8a4d6bbc723f2d36ca0dc1a70.

4 years agoMerge pull request #193 from mamarley/statusmsg
Daniel Albers [Fri, 1 Apr 2016 01:49:49 +0000 (03:49 +0200)]
Merge pull request #193 from mamarley/statusmsg

Handle STATUSMSG messages

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

4 years agoMerge pull request #183 from romibi/enableLinkPreview
Daniel Albers [Fri, 1 Apr 2016 00:34:03 +0000 (02:34 +0200)]
Merge pull request #183 from romibi/enableLinkPreview

Enable Link-Preview on appveyor builds

4 years agoMerge pull request #168 from esainane/irssi-msg-escape
Daniel Albers [Fri, 1 Apr 2016 00:32:19 +0000 (02:32 +0200)]
Merge pull request #168 from esainane/irssi-msg-escape

Make "/ " use the rest of the message as a literal

4 years agoMerge pull request #165 from esainane/coreinfo-dirty-status
Daniel Albers [Thu, 31 Mar 2016 23:51:51 +0000 (01:51 +0200)]
Merge pull request #165 from esainane/coreinfo-dirty-status

Include dirty status in core information

4 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.

4 years agoFix wrong zh_CN translation
Shengjing Zhu [Mon, 14 Mar 2016 08:54:47 +0000 (16:54 +0800)]
Fix wrong zh_CN translation

4 years agoFix IRCv3 capability code documentation 188/head
Shane Synan [Thu, 10 Mar 2016 04:04:53 +0000 (22:04 -0600)]
Fix IRCv3 capability code documentation

Add the missing param[in]'s to capEanbled and capValue.

4 years agoTransfers also should notify on changes to transferred()
Manuel Nickschas [Mon, 7 Mar 2016 23:18:39 +0000 (00:18 +0100)]
Transfers also should notify on changes to transferred()

Adds the missing signal, and emits it appropriately.

4 years agoAdd accessors for the amount of transferred data to Transfer classes
Manuel Nickschas [Wed, 2 Mar 2016 00:12:03 +0000 (01:12 +0100)]
Add accessors for the amount of transferred data to Transfer classes

Also fixes more inconsistent/missing uses of 'override'.

4 years agoAdd Transfer::prettyStatus()
Manuel Nickschas [Wed, 2 Mar 2016 00:09:59 +0000 (01:09 +0100)]
Add Transfer::prettyStatus()

For now, this method just returns the current status as a
translatable string for UI purposes.

4 years agoRename Transfer::State to Transfer::Status
Manuel Nickschas [Tue, 1 Mar 2016 23:20:32 +0000 (00:20 +0100)]
Rename Transfer::State to Transfer::Status

Native-speaking soures told me that Status is preferred over State
for what we want to express. So let's rename this before it's too

4 years agoUse 'override' where appropriate
Manuel Nickschas [Tue, 1 Mar 2016 23:15:08 +0000 (00:15 +0100)]
Use 'override' where appropriate

4 years agoFix inconsistent use of override in NickListWidget
Manuel Nickschas [Tue, 1 Mar 2016 19:01:14 +0000 (20:01 +0100)]
Fix inconsistent use of override in NickListWidget

Clang warns about this.

4 years agoSet CMake policy for visibility
Manuel Nickschas [Tue, 1 Mar 2016 18:55:53 +0000 (19:55 +0100)]
Set CMake policy for visibility

CMake 3.3+ changed behavior for handling visibility for target types
other than dynamic libraries. This commit adds a cmake_policy call
to allow the new behavior, removing a dev warning in the process.

4 years agoMerge pull request #189 from phuzion/master
Daniel Albers [Mon, 29 Feb 2016 19:44:45 +0000 (20:44 +0100)]
Merge pull request #189 from phuzion/master

Minor string cleanup

4 years agoMinor string cleanup 189/head
phuzion [Mon, 29 Feb 2016 17:51:10 +0000 (17:51 +0000)]
Minor string cleanup

4 years agoLimit user mode updates from WHO to given channel
Shane Synan [Mon, 29 Feb 2016 04:26:17 +0000 (22:26 -0600)]
Limit user mode updates from WHO to given channel

Limit user mode updates in WHO replies to the given channel, unless
a '*' is specified indicating any channel.  IrcUsers are shared
between channels, while channel user modes are not.

Showing user modes in the Quassel tooltips need fixed client-side in
IrcUserItem::toolTip(), checking the current channel.

4 years agoDon't update IrcUser modes with channel modes
Shane Synan [Mon, 29 Feb 2016 00:03:37 +0000 (18:03 -0600)]
Don't update IrcUser modes with channel modes

Remove IrcUser mode updates in IrcChannel.  IrcUsers are shared
between channels, while channel user modes are not.

Showing user modes in the Quassel tooltips need fixed client-side to
check the current channel.

4 years agoFix (meta) type handling in existing DCC code
Manuel Nickschas [Sun, 28 Feb 2016 23:23:25 +0000 (00:23 +0100)]
Fix (meta) type handling in existing DCC code

Obviously, this code was never tested with a non-monolithic build,
and Qt didn't know how to handle our fancy enums.

Also, enum classes are now a thing since C++11, and we should use
them. Unfortunately, they have the same annoyances as nested classes
with Qt4-style signal/slot connections...

4 years agoRemove weird convenience accessors
Manuel Nickschas [Sun, 28 Feb 2016 21:11:05 +0000 (22:11 +0100)]
Remove weird convenience accessors

No clue why I thought this would be a good idea...

4 years agoMerge pull request #180 from digitalcircuit/ircv3-expanded-caps
Manuel Nickschas [Sun, 28 Feb 2016 19:29:29 +0000 (20:29 +0100)]
Merge pull request #180 from digitalcircuit/ircv3-expanded-caps

Implement IRCv3.2 CAP LS, away-notify and friends

4 years agoMerge pull request #136 from sandsmark/sonnet
Manuel Nickschas [Sun, 28 Feb 2016 17:58:03 +0000 (18:58 +0100)]
Merge pull request #136 from sandsmark/sonnet

Add spell-checking support via the Sonnet framework

4 years agoSend extra modes via non-breaking protocol change 180/head
Shane Synan [Fri, 19 Feb 2016 09:17:26 +0000 (03:17 -0600)]
Send extra modes via non-breaking protocol change

Send extra user mode updates in backwards-compatible manner.

When multiple modes are received in IrcChannel::joinIrcUsers, call
addUserMode one time for each, then call ircuser->addUserModes() with
the new modes.  Perhaps less efficient, but avoids breaking protocol.

Reduce excess network traffic by only syncing IrcUser::setUserModes
and IrcUser::addUserModes when changes are made.

Preliminary test results on Ubuntu (more testing always welcome!)
* New core, new client - works fine (as one might hope)
* New core, old client - client prints warning to console but works
(IrcChannel modes might internally get out of sync, but visible
 channel list updates with mode changes, multiple modes, etc)
* New core, Quasseldroid alpha/NG - works fine
* Old core, new client - works fine

If desired, the warning and other potential risks could be avoided
entirely by implementing a new Feature flag and only sending the
additional mode information to clients that request it.  However,
this seemed excessive to avoid what in limited testing was only a
warning in the client console log, normally hidden away from sight.

4 years agoAdd support for multi-prefix
Shane Synan [Fri, 19 Feb 2016 08:25:10 +0000 (02:25 -0600)]
Add support for multi-prefix

Add support for multi-prefix to get a full list of modes in NAMES and
WHO replies, updating ircuser objects as appropriate.  This enables
seeing if an operator (+o) also has voice (+v), etc.  In the future,
Quassel could show this information in a smart, useful manner.

This commit limits synced modes to one for 'NAMES' replies to avoid a
warning in older clients.  The next commit will address this.

See http://ircv3.net/specs/extensions/multi-prefix-3.1.html

4 years agoAdd support for userhost-in-names capability
Shane Synan [Wed, 17 Feb 2016 19:51:23 +0000 (13:51 -0600)]
Add support for userhost-in-names capability

Add support for userhost-in-names, which, if enabled, allows getting
the user/hostname information of a channel without using WHO polling.

See http://ircv3.net/specs/extensions/userhost-in-names-3.2.html

4 years agoAdd support for account-notify, extended-join
Shane Synan [Wed, 17 Feb 2016 19:49:48 +0000 (13:49 -0600)]
Add support for account-notify, extended-join

Add support for account-notify to track account changes and
extended-join to get account information on join.  For now, this only
updates user/hostname information.  In the future it will track
logged in accounts in ircuser, pending a new feature flag and
inclusion of WHOX support.

See http://ircv3.net/specs/extensions/account-notify-3.1.html
And http://ircv3.net/specs/extensions/extended-join-3.1.html

4 years agoAdd more sources of nick!user@host updates
Shane Synan [Wed, 17 Feb 2016 20:03:26 +0000 (14:03 -0600)]
Add more sources of nick!user@host updates

Update IrcUser user and hostname information from more sources.  This
is more important now since away-notify disables automatic WHO
polling, so user@host information won't be updated if the server
doesn't generate fake join/quit messages for /chghost and friends.

In the future, IRCv3 capability chghost will remove the need for this
once all servers support it.  (In only a few decades, right..?)
For chghost, see http://ircv3.net/specs/extensions/chghost-3.2.html

4 years agoAdd support for away-notify capability
Shane Synan [Wed, 17 Feb 2016 20:03:01 +0000 (14:03 -0600)]
Add support for away-notify capability

Add support for away-notify. As nicks change status, update ircuser
objects with new away status and messages, no /whois needed.

Modify automatic WHO polling when away-notify is active to poll all
channels ONCE regardless of polling settings and nick-limit.  This
captures away state for existing nicks in the channel.  Channels
joined after this will queue a separate one-off WHO poll.

Queue one-time WHO of nicks who join a channel when away-notify is
active as some servers won't send an :away message in this situation.
To support this, autoWhoQueue can now check specific users.

See http://ircv3.net/specs/extensions/away-notify-3.1.html

4 years agoImplement IRCv3.2 capability negotiation
Shane Synan [Wed, 17 Feb 2016 20:00:43 +0000 (14:00 -0600)]
Implement IRCv3.2 capability negotiation

Always send CAP LS, similar to ZNC and HexChat.  IrcEventCap checks
returned capabilities, queuing up desired ones until all replies
finish, then requests each capability one-by-one.  This prevents an
error with one capability from blocking all of them.

See http://ircv3.net/specs/core/capability-negotiation-3.1.html
And http://ircv3.net/specs/core/capability-negotiation-3.2.html

Modify SASL authentication to only happen if present in capability
list.  If it's not supported, log an error in the status buffer and
continue connecting anyways.

See http://ircv3.net/specs/extensions/sasl-3.1.html
And http://ircv3.net/specs/extensions/sasl-3.2.html

4 years agoAdd some more needed DLL's for Link-Preview support 183/head
romibi [Sun, 14 Feb 2016 14:06:50 +0000 (15:06 +0100)]
Add some more needed DLL's for Link-Preview support

4 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

4 years agoFix typo in translatable string.
Daniel Albers [Thu, 11 Feb 2016 09:15:37 +0000 (10:15 +0100)]
Fix typo in translatable string.

Thanks to yurchor for flagging.

4 years agoAdd catalog update to tx-sync.sh.
Daniel Albers [Thu, 11 Feb 2016 00:17:08 +0000 (01:17 +0100)]
Add catalog update to tx-sync.sh.

Transifex now offers automatic fetching of source files. Let tx-sync.sh
regenerate and commit quassel.pot automatically to make use of that.

4 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>

4 years agoupdate-pot.sh: Fix patch call
Daniel Albers [Tue, 7 Apr 2015 19:01:52 +0000 (21:01 +0200)]
update-pot.sh: Fix patch call

4 years agopull-from-transifex.sh: Drop -e from git commit
Daniel Albers [Tue, 31 Mar 2015 18:24:51 +0000 (20:24 +0200)]
pull-from-transifex.sh: Drop -e from git commit

4 years agoMake update-pot.sh $PWD independent.
Daniel Albers [Mon, 30 Mar 2015 16:32:51 +0000 (18:32 +0200)]
Make update-pot.sh $PWD independent.

4 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...

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

4 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.

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

4 years agoMerge pull request #178 from TheOneRing/fix_snore_crash
Manuel Nickschas [Mon, 8 Feb 2016 20:34:48 +0000 (21:34 +0100)]
Merge pull request #178 from TheOneRing/fix_snore_crash

Fix possible crash, mostly occurring on notification flood.

4 years agoMerge pull request #177 from justjanne/patch-1
Manuel Nickschas [Mon, 8 Feb 2016 20:34:17 +0000 (21:34 +0100)]
Merge pull request #177 from justjanne/patch-1

Fixed a tiny bug in aliasmanager

4 years agoMerge pull request #175 from ayonix/ssl-fix
Manuel Nickschas [Mon, 8 Feb 2016 20:33:53 +0000 (21:33 +0100)]
Merge pull request #175 from ayonix/ssl-fix

Fix the SSL check on systems that don't use OpenSSL

4 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

Fixes #1389.

4 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.

4 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.

4 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

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.

4 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.

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

4 years agoFixed a tiny bug in aliasmanager 177/head
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).

4 years agoMerge pull request #173 from TheOneRing/snor_next
Manuel Nickschas [Sun, 31 Jan 2016 22:05:25 +0000 (23:05 +0100)]
Merge pull request #173 from TheOneRing/snor_next

Fix build with snorenotify 0.7

4 years agoMerge pull request #172 from TheOneRing/fix_msvcx64
Manuel Nickschas [Sun, 31 Jan 2016 22:05:06 +0000 (23:05 +0100)]
Merge pull request #172 from TheOneRing/fix_msvcx64

Fix msvc x64 build and openssl for msc.

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

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

5 years agoFix msvc x64 build and openssl for msc. 172/head
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.

5 years agoMerge pull request #167 from esainane/patch-1
Manuel Nickschas [Sat, 2 Jan 2016 19:47:06 +0000 (20:47 +0100)]
Merge pull request #167 from esainane/patch-1

signalproxy: Correct signal method name warnings

5 years agoMerge pull request #166 from mamarley/hashversionmigrationfix
Manuel Nickschas [Sat, 2 Jan 2016 15:35:01 +0000 (16:35 +0100)]
Merge pull request #166 from mamarley/hashversionmigrationfix

Fix migration of hashversion

5 years agoMake "/ " use the rest of the message as a literal 168/head
esainane [Sat, 19 Dec 2015 23:31:41 +0000 (12:31 +1300)]
Make "/ " use the rest of the message as a literal

"/ /asdf" now works the same as "//asdf". This is just a convenience for
those of us used to irssi habits, which tend to die hard. :)

5 years agoMerge pull request #143 from TheOneRing/windows-ci
Daniel Albers [Sat, 19 Dec 2015 11:08:16 +0000 (12:08 +0100)]
Merge pull request #143 from TheOneRing/windows-ci

This adds CI for Windows builds. The executables can be found at

5 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.

5 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.

5 years agosignalproxy: Correct signal method name warnings 167/head
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&

5 years agoFix migration of hashversion 166/head
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.

5 years agoInclude dirty status in core information 165/head
esainane [Mon, 30 Nov 2015 11:25:20 +0000 (00:25 +1300)]
Include dirty status in core information

If a core was built with a dirty working tree, -dirty will be appended
to the version string. Interestingly, we already test for this in
quassel.cpp (line 292), but this was not being added in the cmake phase.

5 years agoMerge pull request #163 from esainane/fix-ssl-identd-race
Daniel Albers [Sun, 29 Nov 2015 20:52:45 +0000 (21:52 +0100)]
Merge pull request #163 from esainane/fix-ssl-identd-race

Fix ident race condition

5 years agoFix ident race condition 163/head
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(...).

5 years agoMerge pull request #158 from romibi/master
Manuel Nickschas [Sun, 22 Nov 2015 22:27:34 +0000 (23:27 +0100)]
Merge pull request #158 from romibi/master

Fix Lambda

5 years agoMerge pull request #157 from wengxt/wengxt-patch-1
Manuel Nickschas [Sun, 22 Nov 2015 22:26:52 +0000 (23:26 +0100)]
Merge pull request #157 from wengxt/wengxt-patch-1

Fix SSL detection

5 years agoMerge pull request #156 from veeti/sha256-certificate
Manuel Nickschas [Sun, 22 Nov 2015 22:26:28 +0000 (23:26 +0100)]
Merge pull request #156 from veeti/sha256-certificate

Display SHA256 fingerprint for SSL certificates

5 years agoMerge pull request #155 from TheOneRing/improve_connect
Manuel Nickschas [Sun, 22 Nov 2015 22:26:03 +0000 (23:26 +0100)]
Merge pull request #155 from TheOneRing/improve_connect

Improve MainPage

5 years agoMerge pull request #154 from rsalinas/master
Manuel Nickschas [Sun, 22 Nov 2015 22:21:45 +0000 (23:21 +0100)]
Merge pull request #154 from rsalinas/master

quasselcore: fixed return values for --add-user and --change-userpass

5 years agoMerge pull request #153 from elxa/fix-op-command-crashing-core
Manuel Nickschas [Sun, 22 Nov 2015 22:20:30 +0000 (23:20 +0100)]
Merge pull request #153 from elxa/fix-op-command-crashing-core

Fixes a crash of the core when executing "/op *" in a query.

5 years agoMerge pull request #152 from heftig/master
Manuel Nickschas [Sun, 22 Nov 2015 21:21:33 +0000 (22:21 +0100)]
Merge pull request #152 from heftig/master

Correct capitalization of networkid column name

5 years agoFix OIdentdConfigGenerator double-printing on ssl 161/head
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.

5 years agoFix Lambda 158/head
romibi [Fri, 13 Nov 2015 10:50:14 +0000 (11:50 +0100)]
Fix Lambda

No default values for Lambda's allowed...

5 years agoFix SSL detection 157/head
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.

5 years agoFix build with Qt4 155/head
Hannah von Reth [Thu, 5 Nov 2015 18:07:31 +0000 (19:07 +0100)]
Fix build with Qt4

5 years agoDisplay SHA256 fingerprint for SSL certificates 156/head
Veeti Paananen [Wed, 4 Nov 2015 22:12:50 +0000 (00:12 +0200)]
Display SHA256 fingerprint for SSL certificates

5 years agoDisable connect to core dialog if not disconnected.
Hannah von Reth [Tue, 3 Nov 2015 14:22:07 +0000 (15:22 +0100)]
Disable connect to core dialog if not disconnected.

5 years agoSimplify MainPage and add Connect to core button in clients
Hannah von Reth [Tue, 3 Nov 2015 14:07:13 +0000 (15:07 +0100)]
Simplify MainPage and add Connect to core button in clients

Instead of overriding the paint function simply use a layout
and a QLabel in MainPage, this also enables us to add a button
to open the connect to core dialog.

This commit also hides the Nick list in a disconnected state,
to make sure the Quassel logo is centred and to keep it in line
with the All Chats view.

5 years agoquasselcore: --add-user and --change-userpass now exit with non-null in case 154/head
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.

5 years agoFixes a crash of the core when executing "/op *" in a query. 153/head
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.

5 years agoCorrect capitalization of networkid column name 152/head
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

5 years agoMerge pull request #151 from Tucos/ws-hist
Manuel Nickschas [Thu, 8 Oct 2015 22:12:37 +0000 (00:12 +0200)]
Merge pull request #151 from Tucos/ws-hist

Preserve white-space in the input history.

5 years agoMerge pull request #150 from Tucos/autospace
Manuel Nickschas [Thu, 8 Oct 2015 22:07:54 +0000 (00:07 +0200)]
Merge pull request #150 from Tucos/autospace

Automatically remove automatically added space

5 years agoMerge pull request #149 from Tucos/cipherkeys
Manuel Nickschas [Thu, 8 Oct 2015 22:06:12 +0000 (00:06 +0200)]
Merge pull request #149 from Tucos/cipherkeys

Store the channel keys in CoreNetwork again

5 years agoMerge pull request #148 from Tucos/DMdebug
Manuel Nickschas [Thu, 8 Oct 2015 22:04:54 +0000 (00:04 +0200)]
Merge pull request #148 from Tucos/DMdebug

Disable checkbox if no DockManager is present

5 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.

5 years agoMerge pull request #146 from benapetr/master
Manuel Nickschas [Thu, 8 Oct 2015 21:58:43 +0000 (23:58 +0200)]
Merge pull request #146 from benapetr/master

Clean up

5 years agoMerge pull request #145 from Scheirle/enh_usertooltip
Manuel Nickschas [Thu, 8 Oct 2015 21:57:05 +0000 (23:57 +0200)]
Merge pull request #145 from Scheirle/enh_usertooltip

Adds nicer ircuser tooltips

5 years agoMerge pull request #139 from TheOneRing/snorenotify-0.6
Manuel Nickschas [Thu, 8 Oct 2015 21:48:11 +0000 (23:48 +0200)]
Merge pull request #139 from TheOneRing/snorenotify-0.6

Updated the Snorenotification backend to the new api of Snorenotify.

5 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.

5 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