Commit Graph

20 Commits

Author SHA1 Message Date
Robert Adam
249d2c6298 MAINT: Update copyright headers to 2023 2023-01-08 15:54:35 +01:00
Hartmnt
79762ce55e FIX(client, server): Fix patch versions > 255
Previously, the Mumble version was encoded with a uint32
in the network protocol reserving 2 bytes for the major
component and 1 byte for each minor and patch.
The versioning format was changed to include a build
number in the patch field. With a recent update (1.4.274)
the patch field exceeded 255 for the first time and broke
the protocol version.

This commit completely reworks how the version is stored
internally and transfered with the network protocol.
The new version is a uint64 and consists of 4 fields with
2 bytes each. This allows each version component to reach
up to 65535. Furthermore, all instances of integer version
types have been replaced with the alias Version::full_t for
a better abstraction. Version literals have been replaced by
Version::fromComponents calls.

Fixes #5827
2022-09-08 10:45:47 +02:00
Robert Adam
03a4c6706f REFAC: Make raw-version functions constexpr
The manipulation of raw version specifiers was turned into constexpr
functions, in order for them to be usable in constexpr expressions.
2022-03-22 18:28:26 +01:00
Robert Adam
d100ff1467 MAINT: Update copyright to 2022 2022-01-04 20:17:33 +01:00
Robert Adam
b6b79cc458 REFAC: Turn MumbleVersion into namespace
The "class" was only used as a namespace anyway. And while we're on it
the entire thing was renamed to "Version" instead of "MumbleVersion".
2021-06-03 16:13:36 +02:00
Robert Adam
59ae429972 MAINT: Update copyright notice to 2021
This was done by running scripts/updateLicenseHeaders.py and then
manually editing the LICENSE file.
2021-03-02 10:15:01 +01:00
Robert Adam
148dc8d0e1 FIX(client): Version parsing
7a96dc46e6 adapted the used RegEx to
include support for build-numbers. This however was done without keeping
the option for not specifying a build number (as done for the versions
used in Mumble URLs for instance).

This commit adapts the RegEx such that the build number is now optional.

Fixes #4684
2021-02-23 13:31:47 +01:00
Davide Beatrici
7a96dc46e6 FIX(client, server): Fix protocol version not being set correctly
27471118b5 introduced support for the 4th part (build/tweak) of the version, however:

1. It didn't replace all instances of MUMBLE_VERSION_STRING with MUMBLE_VERSION.
2. It accidentally replaced MUMBLE_VERSION_STRING with MUMBLE_RELEASE_ID in MumbleVersion::get()'s signature.
3. It didn't update the regex expression in MumbleVersion::get() to support 4 digits.

This commit fixes all issues listed above.
2021-01-13 06:18:10 +01:00
Davide Beatrici
4e67a2fafb Auto-update LICENSE.header in source files 2020-01-07 03:09:22 +01:00
Davide Beatrici
15831dbca8 Add missing includes for "no-pch" build
This commit adds all the missing includes when the PCH header is not used.

Also, some includes are reordered and/or made consistent (e.g. "#include <QtEndian>" -> "#include <QtCore/QtEndian>").
2019-09-12 22:08:39 +02:00
Davide Beatrici
5a07244a44 Don't include PCH headers directly
According to Qt's documentation the PCH header doesn't need to be included.

From https://doc.qt.io/qt-5/qmake-precompiledheaders.html:

"To make your project use precompiled headers, you only need to define the PRECOMPILED_HEADER variable in your project file."

"qmake will handle the rest, to ensure the creation and use of the precompiled header file. You do not need to include the precompiled header file in HEADERS, as qmake will do this if the configuration supports precompiled headers."
2019-09-12 00:13:35 +02:00
Davide Beatrici
b427333257 Auto-update LICENSE.header in source files 2019-01-25 04:56:19 +01:00
Mikkel Krautz
f6ba3a52bf Auto-update LICENSE.header in source files. 2018-01-01 23:05:37 +01:00
Mikkel Krautz
91ebb8b0b5 Update tree copyrights to 2017. 2017-01-08 21:05:57 +01:00
Mikkel Krautz
395c084b7a src: update to use LICENSE.header. 2016-05-10 22:42:02 +02:00
Benjamin Jemlich
07737a314c Fix include guards and PCH includes 2011-11-09 00:12:10 +01:00
Thorvald Natvig
94967abfd8 Suggest Config 2011-03-25 19:54:26 -07:00
Thorvald Natvig
f3437a6ba7 Update copyright year ranges of dev team. 2011-03-18 05:52:51 +01:00
Benjamin Jemlich
907c41fbfe Fix compile without PCH 2010-11-15 11:19:27 +01:00
Stefan Hacker
65e4071055 Switch VAD default from SnR to Amplitude and adjust UI accordingly. Run audio wizard without asking first. Add update counter to config for future updates. Add abstraction for Version query/parsing. 2010-10-18 23:38:21 +02:00