Commit Graph

448 Commits

Author SHA1 Message Date
Davide Beatrici
2bd9f06651 travis-ci: Execute "make check" using Wine 2017-03-17 19:14:13 +01:00
Mikkel Krautz
f9cf8da5b8 travis-ci: Use MinGW build envs 2017-03-17 19:14:12 +01:00
Mikkel Krautz
cad1bac314 Merge PR #2794: ServerDB, Meta: add support for SQLite WAL. 2017-03-05 23:12:15 +01:00
Mikkel Krautz
1818476399 ServerDB, Meta: add support for SQLite WAL.
Using SQLite's WAL (write-ahead log) can create less disk I/O while
still providing good consistency and durability.

This change uses SQLite's WAL with synchronous=NORMAL which can
cause loss of transactions on power failure. Only the transactions
which haven't been synced to the disk by the OS are lost. The
database itself will still be in a consistent state, but it might
not have all recent changes.
2017-03-05 22:42:57 +01:00
Davide Beatrici
d04995899a Move .pri files and "toolchain" folder in "qmake" 2017-03-05 15:48:16 +01:00
Mikkel Krautz
a58d708f1e Merge PR #2882: CryptographicRandom: new class for acquiring random data for cryptographic purposes. 2017-03-02 00:26:49 +01:00
Mikkel Krautz
aa25435a7b CryptographicRandom: new class for acquiring random data for cryptographic purposes.
The class implements an API similar to OpenBSD's arc4random:

 - A way to get a random uint32_t. (arc4random)
 - A way to get a random uint32_t with an upper bound. (arc4random_uniform)
 - A way to fill a buffer with random data. (arc4random_buf)
2017-03-01 23:29:07 +01:00
Mikkel Krautz
629dd2d889 Add Qt 5 Trusty build to .travis.yml. 2017-02-28 01:52:11 +01:00
Stefan Hacker
86f8eefd61 Add appveyor configuration for windows proof builds
The current configuration uses a hacked up
win64-static-no-ltcg build environment until we
build our next set of real ones. As we do not want
to distribute our build env at this point the source
is obfuscated for now.

We utilize the appveyor cache to cache the compressed
build environment we downloaded. We do not cache the
uncompressed variant to save the time it takes to package
it up in case of cache invalidation. Cache invalidation
is keyed on changes to the appveyor.yml .
2017-02-12 13:57:46 +01:00
Mikkel Krautz
91ebb8b0b5 Update tree copyrights to 2017. 2017-01-08 21:05:57 +01:00
Mikkel Krautz
54dd7e71eb Split mumble_flags.qrc into seperate files to reduce .cpp size for older compilers.
With the current setup, OpenBSD 6.0's g++4 on a VM with 4GB ram can't even
build Mumble, because the generated .cpp file from mumble_flags.qrc is
32MB.

This commit attempts to work around that by splitting our SVG flags into
separate resource files.

To make it easier to work with from the qmake build, we now also generate
a mumble_flags.pri file that will automatically add all necessary .qrc
files to RESOURCES.
2016-11-27 13:49:26 +01:00
Mikkel Krautz
2c3eb27f39 scripts/mkflags.pl: remove old flags script.
It doesn't work with the new SVG flags, so drop it.
2016-11-27 12:34:36 +01:00
Mikkel Krautz
cc2b1c7dae Move licenses.h header to src/ from src/mumble/.
We'll need it to display license information in
Murmur.
2016-11-24 00:27:32 +01:00
Mikkel Krautz
493204f3d5 About: add AUTHORS file to the about dialog. 2016-11-15 00:15:21 +01:00
Matthias Mailänder
a063ee26ef Add an appdata.xml file. 2016-09-25 10:07:39 +02:00
Mikkel Krautz
42ddfccb06 Remove hacks specific to the manual plugin from the build.
This removes a lot of very hacky stuff. Its own job was to
let the manual plugin be a separate DLL.

Now that the manual plugin is built into Mumble itself, all
these dirty tricks can be removed.

Since we don't have to export a lot of symbols that we don't
use anymore, the linker can remove a lot of unused code for us:

mumble_app.dll before (1.3.0~969):  40.345 KB
mumble_app.dll after:               36.819 KB
Difference:                         -3.526 KB
2016-07-17 00:32:11 +02:00
Mikkel Krautz
f6a0138a19 scripts/mkini.sh: consider semicolons as comments to fix .ini generation.
As-is, the murmur.ini.system used by our PPA builds
(and Debian-based distros) are broken because the
script doesn't set the "logfile" and "pidfile"
options.
2016-06-11 01:55:21 +02:00
Mikkel Krautz
c71461e4a0 scripts/generate-CHANGES.py, CHANGES: update script to use commit date rather than author date. 2016-05-18 23:49:09 +02:00
Mikkel Krautz
b0005c4fbb scripts/generate-CHANGES.py: fix capture group in gitMailmapLookup's contact regexp.
The email capture group accidently captured
the whole email part of the contact, including
angle brackets.

Update the capture group to only capture the
actual email address.
2016-05-13 22:58:49 +02:00
Mikkel Krautz
19214a475d Add remaining files that use the old-style license header to 3rdPartyLicenses. 2016-05-10 22:42:04 +02:00
Mikkel Krautz
63f2bd8e4e scripts: update to use LICENSE.header. 2016-05-10 22:42:04 +02:00
Mikkel Krautz
ac716df4f2 scripts/generate-CHANGES.py: add Python replacement for 'git2cl.pl'.
This is a pure-Python, 100% compatible replacement of 'git2cl.pl'.
2016-05-09 23:47:54 +02:00
Tim Cooper
59bda9bec8 grpc: rename murmur.ini.grpc to murmur.grpc.ini 2016-05-08 16:45:52 +02:00
Mikkel Krautz
75d68fb473 grpc: sync murmur.ini.grpc with murmur.ini. 2016-05-08 16:45:52 +02:00
Tim Cooper
ff109d96f0 grpc: integrate murmur_grpc_wrapper_gen into qmake build 2016-05-08 16:45:52 +02:00
Tim Cooper
97741f645e grpc: move grpc-specific ini options to separate file 2016-05-08 16:45:52 +02:00
Tim Cooper
49a6d35f2b grpc: rename grpcCert, grpcKey to grpccert, grpckey 2016-05-08 16:45:52 +02:00
Tim Cooper
19537ac218 grpc: allow connections to be secured using TLS 2016-05-08 16:45:52 +02:00
Tim Cooper
d4b799deb9 grpc: add RPCSingleStreamCall base for single-streaming wrappers 2016-05-08 16:45:52 +02:00
Tim Cooper
0cbd230d8f grpc: reduce amount of generated wrapper code 2016-05-08 16:45:52 +02:00
Tim Cooper
c7686ff0a5 grpc: fix possible use-after-frees with the GRPC wrappers 2016-05-08 16:45:52 +02:00
Tim Cooper
89b487cd17 grpc: reduce compile warnings 2016-05-08 16:45:52 +02:00
Tim Cooper
cccbec3012 grpc: fix several TODO items 2016-05-08 16:45:52 +02:00
Tim Cooper
c53134dce1 grpc: simplify authenticator slots 2016-05-08 16:45:52 +02:00
Tim Cooper
fd52a050f2 grpc: make RPCCall.error's argument const 2016-05-08 16:45:52 +02:00
Tim Cooper
d63b5c7f47 grpc: add "request", "response" to stream-stream wrapper 2016-05-08 16:45:52 +02:00
Tim Cooper
3af2bc8a1f grpc: rename "response" in generated code to "stream" 2016-05-08 16:45:52 +02:00
Tim Cooper
5b2f2b966a grpc: generate callback() for "stream-stream" RPC methods 2016-05-08 16:45:52 +02:00
Tim Cooper
39984f6c60 grpc: add timer that will trigger cleanup function every minute 2016-05-08 16:45:52 +02:00
Tim Cooper
3a1da385b9 grpc: add callback() method to single-streaming calls, reenable ContextActionService.Events 2016-05-08 16:45:52 +02:00
Tim Cooper
0fdb1dfb06 grpc: RPCCall::error does not need to be a function anymore 2016-05-08 16:45:52 +02:00
Tim Cooper
a89333dfa0 grpc: pass grpc success variable to callback functions 2016-05-08 16:45:52 +02:00
Tim Cooper
1b3cdd8fa9 grpc: re-enable streaming wrapper generation 2016-05-08 16:45:52 +02:00
Tim Cooper
c386db3db1 grpc: rework non-streaming call wrappers, temporary disable streaming calls 2016-05-08 16:45:52 +02:00
Tim Cooper
b6aca4937d grpc: implemented streaming generator, temporary removed certain streaming RPC methods 2016-05-08 16:45:52 +02:00
Tim Cooper
e233c538ca grpc: add exception hander around *_Impl to ease error handing 2016-05-08 16:45:52 +02:00
Tim Cooper
0041ab3ee3 grpc: switch to async grpc API, change naming of service methods 2016-05-08 16:45:52 +02:00
Tim Cooper
d181c0d1d6 grpc: add *_Init to protoc-gen-grpcwrapper 2016-05-08 16:45:52 +02:00
Tim Cooper
05a450119d grpc: remove MurmurRPCImpl and AsyncService from _Impl signature 2016-05-08 16:45:52 +02:00
Tim Cooper
d749e0f167 grpc: add protoc-gen-grpcwrapper.cpp 2016-05-08 16:45:52 +02:00