Commit Graph

7284 Commits

Author SHA1 Message Date
Mikkel Krautz
e5ff9c5225
Merge PR #3310: Correctly handle ServerResolver errors, with dedicated signal and slot 2018-01-21 17:09:53 +01:00
davidebeatrici
6bd9bc9c9d Correctly handle ServerResolver errors, with dedicated signal and slot
This commit adds a signal to ServerResolver and a slot to MainWindow to handle ServerHandler errors, in order to start the reconnection timer after the first connection attempt.

Fixes #3220.
2018-01-21 14:29:31 +01:00
Mikkel Krautz
71ab5b0086
Merge PR #3313: scripts/travis-ci: bump apt timeout in before_install.bash. 2018-01-20 20:54:22 +01:00
Mikkel Krautz
031abd01f4
Merge PR #3315: scripts/travis-ci: fix MUMBLE_NO_PCH checks in script.bash. 2018-01-20 20:39:35 +01:00
Mikkel Krautz
6a1663a502 scripts/travis-ci: fix MUMBLE_NO_PCH checks in script.bash.
Change our checks for MUMBLE_NO_PCH to use string comparisons
instead of numerical comparisons.

When MUMBLE_NO_PCH is not set, the numerical equivalent check
fails because nothing is on the left-hand side of the -eq operator.

Fixes mumble-voip/mumble#3314
2018-01-20 15:35:30 +01:00
Mikkel Krautz
edd1de098a scripts/travis-ci: bump apt timeout in before_install.bash.
After switching to using a mirror of MXE on dl.mumble.info we've begun
running into timeouts from apt on Travis CI. For example:

	E: Failed to fetch https://dl.mumble.info/mirror/pkg.mxe.cc/repos/apt/debian/pool/main/m/mxe-x86-64-unknown-linux-gnu-cmake/mxe-x86-64-unknown-linux-gnu-cmake_3.5.2-20170208_amd64.deb  Operation too slow. Less than 10 bytes/sec transferred the last 10 seconds

The error is from cURL, and it means that the options CURLOPT_LOW_SPEED_LIMIT
and CURLOPT_LOW_SPEED_TIME are set quite low.
(See bb0ffcc36f/lib/speedcheck.c)

To fix this, we set the Acquire::http::Timeout option to 120 seconds.
This causes apt's https transport to set CURLOPT_LOW_SPEED_TIME to 120.
(See https://github.com/Debian/apt/blob/debian/wheezy/methods/https.cc#L224-L230)

Fixes mumble-voip/mumble#3312
2018-01-20 15:24:42 +01:00
Mikkel Krautz
a189969521
Merge PR #3304: ServerHandler, Settings: add ping interval and connection timeout duration settings. 2018-01-15 22:19:56 +01:00
Mikkel Krautz
97d776aef1 ServerHandler: use ping interval and connection timeout duration from Settings instead of magic numbers. 2018-01-14 23:20:29 +01:00
Mikkel Krautz
5d4a7d3bc9 Settings: implement settings for ping interval and connection timeout duration.
This commit implements (hidden, for now) settings for setting the
ping interval and connection timeout duration.
2018-01-14 23:20:29 +01:00
Mikkel Krautz
b7b16cf70b
Merge PR #3305: scripts/travis-ci: use our own (Fastly-fronted) mirror of pkg.mxe.info.
Our Tavis CI builds ended up taking a long time to complete.

This PR was made to try out whether mirroring pkg.mxe.cc ourselves would improve that situation.

It did. Build times dropped from ~50 minutes to ~15 minutes.
2018-01-14 23:19:35 +01:00
Mikkel Krautz
8b1ef2ee95 scripts/travis-ci: use our own (Fastly-fronted) mirror of pkg.mxe.info. 2018-01-14 20:50:13 +01:00
Mikkel Krautz
2c24ee0faa
Merge PR #3303: ServerHandler: do not send pings unless the TLS handshake has completed. 2018-01-14 00:32:01 +01:00
Mikkel Krautz
d1888619f4 ServerHandler: do not send pings unless the TLS handshake has completed.
sss123next in mumble-voip/mumble#3294 reports that the current ping
timer logic causes problems with slow TLS handshakes, such as when
connecting to servers with large DH parameters.

This commit ensures pings are not sent before the TLS handshake has
completed.

This was tested against a Grumble instance built against a modified
crypto/tls package that sleeps during the handshake. I verified that
isEncrypted() returns false when the handshake has not finished, and
returns true when the handshake has completed.
2018-01-13 21:53:05 +01:00
Mikkel Krautz
1844f214e1
Merge PR #3301: GRPC: fix deadlock in removeChannel 2018-01-12 23:30:45 +01:00
davidebeatrici
e348e47f4a Remove leftover includes from "main" and "macx" project files 2018-01-12 18:08:15 +01:00
Jonas Herzig
fb4451da7a GRPC: fix deadlock in removeChannel
Server::removeChannel already acquires the voice threads lock where
necessary, doing so before calling it will result in a dead lock.
2018-01-09 12:57:24 +01:00
Mikkel Krautz
28a8e64569
Merge PR #3298: Update gRPC server to work with recent gRPC versions 2018-01-08 19:45:24 +01:00
Jonas Herzig
27edcd4b66 GRPC: remove unsafe calls to IsCancelled
Since AsyncNotifyWhenDone has been added to gRPC, IsCancelled is
never safe to call with the async API unless the done tag has arrived.
Now that AsyncNotifyWhenDone is used to clean up cancelled streams,
calling it isn't needed anyway as any cancelled streams are cleaned
up right after they're known to be cancelled.
2018-01-07 23:13:55 +01:00
Jonas Herzig
76a17577f6 GRPC: fix flipped logic in removeTextMessageFilter 2018-01-07 23:13:41 +01:00
Jonas Herzig
92cd615281 GRPC: use AsyncNotifyWhenDone instead of cleanup timer 2018-01-07 23:13:41 +01:00
Mikkel Krautz
76eb586f8d
Merge PR #3277: .travis.yml: remove mingw builds from allow_failures. 2018-01-05 10:33:04 +01:00
Mikkel Krautz
f41b0589bb .travis.yml: remove mingw builds from allow_failures.
Our MinGW build was left stale due to mumble-voip/mumble#3208.

Altough our current MinGW builders use Wine as their test runner
-- and were added to allow_failures exactly for that reason --
it makes more sense to get blocked from merging on build failures.
The alternative is that we actively *check* that the MinGW is not
broken, which doesn't happen in practice.

We obviously can't expect Wine to mirror the exact behavior on any
particular Windows version, but let's just look at the MinGW targets
in .travis.yml as a check for whether a) the MinGW build works on Linux,
and b) whether our tests pass using Wine.
2018-01-05 01:01:59 +01:00
Mikkel Krautz
820ee72eca
Merge PR #3295: Disable SRV tests when running on Wine 2018-01-05 01:01:05 +01:00
Mikkel Krautz
28f55afc34 TestServerResolver: reference upstream WineHQ bug in tests skipped on Wine. 2018-01-04 22:53:46 +01:00
Mikkel Krautz
3dd8f1d980 PlatformCheck: add a reference to the Wine wiki for our Wine detection code. 2018-01-04 16:58:02 +01:00
Mikkel Krautz
159be4bc4c PlatformCheck: do not assign QLibrary::resolve() retval to variable for wider compatibility.
Qt 4 uses 'void *' for this, Qt 5 uses QFunctionPointer -- a typedef to
'void (*)()'.
2018-01-04 12:09:39 +01:00
Mikkel Krautz
f0c2d8b1fc TestServerResolver: skip SRV tests when running on Wine. 2018-01-04 11:21:44 +01:00
Mikkel Krautz
5192831bc6 src/tests: update .pro files to append to SOURCES and HEADERS instead of overwriting them.
Now that test.pri adds source files and headers by default, the .pro files
of our tests need to append to SOURCES and HEADERS to ensure everything
test.pri adds to SOURCES and HEADERS are kept around.
2018-01-04 11:21:44 +01:00
Mikkel Krautz
29ebd2beff Build PlatformCheck into all test binaries. 2018-01-04 11:21:43 +01:00
Mikkel Krautz
3c400f4f02 Add PlatformCheck class, for runtime platform detection. 2018-01-04 11:21:23 +01:00
Mikkel Krautz
3ffd9ad3ed
Merge PR #3291: 2018: Happy New Year 2018-01-02 00:07:26 +01:00
Mikkel Krautz
d007191a57 Re-generate MurmurIceWrapper.cpp via scripts/mkwrapper.pl. 2018-01-01 23:30:18 +01:00
Mikkel Krautz
acb43a24c8 Update copyright years in about dialogs for Mumble and Murmur. 2018-01-01 23:10:54 +01:00
Mikkel Krautz
cc88443d6c Update src/licenses.h via scripts/mklic.pl. 2018-01-01 23:10:04 +01:00
Mikkel Krautz
23261e2959 Update copyright years in .plist and .rc files. 2018-01-01 23:09:16 +01:00
Mikkel Krautz
f6ba3a52bf Auto-update LICENSE.header in source files. 2018-01-01 23:05:37 +01:00
Mikkel Krautz
4c69e1df62 LICENSE, LICENSE.header: add 2018 to the copyright range. 2018-01-01 22:00:59 +01:00
Mikkel Krautz
caa187373e
Merge PR #3287: AudioOutput: do not use non-existant template version of std::abs. 2017-12-31 16:46:03 +01:00
Mikkel Krautz
6ca110a222 src/tests: add TestStdAbs test.
This adds a 'just-in-case' test for correct runtime behavior of std::abs's
float overload.
2017-12-31 13:19:59 +01:00
Mikkel Krautz
a221fedfd3 mumble_pch.hpp: explicitly include <cmath>.
Previously, we implicitly relied on <cmath> being included
by some other header.

Make it explicit.
2017-12-31 13:19:59 +01:00
Mikkel Krautz
ea861fe867 AudioOutput: do not use non-existant template version of std::abs.
This change fixes AudioOutput to use the float overload of std::abs:

    float std::abs(float);

instead of a non-existant template version.

Fixes mumble-voip/mumble#3281

Needs-Backport: 1.2.x
2017-12-31 13:19:59 +01:00
Mikkel Krautz
ab5ecba0a1
Merge PR #3289: qmake/compiler.pri: target macOS 10.8 when building against Qt 5.10 or above.
Qt 5.10 uses features available only on macOS 10.8, such as
std::future.

See the referenced issue for more information.

Fixes mumble-voip/mumble#3288
2017-12-31 13:19:11 +01:00
Mikkel Krautz
7ed03e686f OSInfo: ignore deprecation warnings for Gestalt.
Since we now build with a macOS target of 10.8 when
building against Qt 5.10, we get deprecation warnings
when calling gestalt.

The fix, for now, is to ignore deprecation warnings in
OSInfo on macOS.

This should be addressed in a better way in the future.
For that, mumble-voip/mumble#3290 has been filed.
2017-12-31 11:43:57 +01:00
Mikkel Krautz
da3222d721 qmake/compiler.pri: target macOS 10.8 when building against Qt 5.10 or above.
Qt 5.10 uses features available only on macOS 10.8, such as
std::future<void>.

See the referenced issue for more information.

Fixes mumble-voip/mumble#3288
2017-12-31 01:39:49 +01:00
Davide Beatrici
742a5d98b5
Merge PR #3276: GlobalShortcut_win: fix std::/boost:: confusion in comment. 2017-12-02 22:58:53 +01:00
Mikkel Krautz
53912f6d56 GlobalShortcut_win: fix std::/boost:: confusion in comment.
The comment block that justifies the use of Boost in GlobalShortcut_win
accidently stated that MinGW "does not support
boost:future/boost::promise", which is incorrect.

Fix the comment to say what was intended: that MinGW doesn't
support std::future/std::promise.
2017-12-02 21:40:44 +01:00
Davide Beatrici
6bfd039250
Merge PR #3272: ManualPlugin.cpp: "MublePluginQt" -> "MumblePluginQt" 2017-11-30 21:05:13 +01:00
davidebeatrici
60d18cde32 ManualPlugin.cpp: "MublePluginQt" -> "MumblePluginQt" 2017-11-29 17:47:29 +01:00
Mikkel Krautz
3125439740
Merge PR #3168: Log: remove support for external images.
This change remove support for loading external images.
That is, this change ensures Mumble doesn't load images from  tags in text messages,
comments and channel descriptions via HTTP or HTTPS.

With this change in place, Mumble only supports images that are embedded
in the message via data URLs.
2017-11-26 23:46:47 +01:00
Mikkel Krautz
24e437c68a
Merge PR #3230: overlay_gl: linux: only assume absolute dynamic entries on glibc. 2017-11-26 23:45:45 +01:00