Commit Graph

9752 Commits

Author SHA1 Message Date
Klemens Nanni
0ba01161bf MAINT(github): List OpenBSD as supported OS
Noticed while creating #5488.
2022-01-21 03:35:40 +03:00
Robert Adam
a517b06fb5
Merge PR #5467: DOCS: Updated build instructions to remove duplicated step 2022-01-19 08:16:58 +01:00
Brigzzy
223610b21d DOCS: Updated build instructions to remove duplicated step
There's a duplicated step in the build instructions, which is already covered on line 8. This change removes the unneeded duplicate step.
2022-01-18 13:01:14 -08:00
Robert Adam
1a5dd7c72c
Merge PR #5463: DOCS(build): Clean up leftovers from RELEASE_ID concept 2022-01-18 18:17:48 +01:00
Felix Singer
7e39ae927d DOCS(build): Clean up leftovers from RELEASE_ID concept
The concept of RELEASE_ID was dropped with PR #5401 in commit 6caa808e6.
Thus, drop its leftovers from the documentation.

Signed-off-by: Felix Singer <felixsinger@posteo.net>
2022-01-18 17:28:32 +01:00
Robert Adam
37c33fe01b
Merge PR #5443: FIX(server): Add missing line breaks to --help output 2022-01-18 12:03:36 +01:00
Robert Adam
239be45b8c
Merge PR #5442: BUILD: Use GNUInstallDirs to install resources into share
GNUInstallDirs is already used in cmake/install-paths.cmake. This fixes
arch-independent files ending up in $prefix/share instead of /usr/share.
This is required on multiarch/cross layouts setting the prefix to e.g.
/usr/x86_64-pc-linux-gnu or /usr/i686-pc-linux-gnu.
2022-01-18 08:17:25 +01:00
Felix Singer
00983b8be0 FIX(server): Add missing line breaks to --help output
Signed-off-by: Felix Singer <felixsinger@posteo.net>
2022-01-17 17:05:25 +01:00
Robert Adam
5574cc8e24
Merge PR #5437: MAINT(docker): Set Docker Compose restart policy to 'unless-stopped' 2022-01-17 16:57:30 +01:00
Timo Gurr
d2838e2731 BUILD: Use GNUInstallDirs to install resources into share
GNUInstallDirs is already used in cmake/install-paths.cmake. This fixes
arch-independent files ending up in $prefix/share instead of /usr/share.
This is required on multiarch/cross layouts setting the prefix to e.g.
/usr/x86_64-pc-linux-gnu or /usr/i686-pc-linux-gnu.
2022-01-17 16:29:05 +01:00
Robert Adam
551d4e87f7
Merge PR #5435: DOCS(docker): Document Docker Compose '--build' switch 2022-01-17 15:49:28 +01:00
pataquets
36fba0524c MAINT(docker): Set Docker Compose restart policy to 'unless-stopped'. 2022-01-17 13:41:13 +01:00
pataquets
c05f7194b1 DOCS(docker): Document Docker Compose '--build' switch. 2022-01-17 12:09:29 +01:00
Robert Adam
acda34d928
Merge PR #5431: CI: Update clang-format action 2022-01-17 09:29:32 +01:00
Robert Adam
df89dc1030 CI: Update clang-format action 2022-01-17 08:16:44 +01:00
Robert Adam
3b0fa8f8be
Merge PR #5422: BUILD(client): RNNoise: Support linking against the system library
OS packages (at least on Linux and BSDs) prefer prepackaged libraries to
bundled/statically linked versions where possible.

Introduce rnnoise (default ON) and make bundled-rnnoise default to
it's value; this retains current behaviour.

This way, rnnoise=OFF disables use of RNNoise completely and a simple
bundled-rnnoise=OFF requires the system's library.

Tested on OpenBSD 7.0-CURRENT.
2022-01-13 12:24:45 +01:00
Robert Adam
fafb5fa663
Merge PR #5423: CI(azure): checkDocs: Generate unified diffs
These are much easier to read and match default behaviour in git.
2022-01-13 11:36:55 +01:00
Klemens Nanni
f7b46c084e CI(azure): checkDocs: Generate unified diffs
These are much easier to read and match default behaviour in git.
2022-01-13 10:44:08 +01:00
Klemens Nanni
d45318d649 BUILD(client): RNNoise: Support linking against the system library
OS packages (at least on Linux and BSDs) prefer prepackaged libraries to
bundled/statically linked versions where possible.

Introduce `rnnoise` (default `ON`) and make `bundled-rnnoise` default to
it's value;  this retains current behaviour.

This way, `rnnoise=OFF` disables use of RNNoise completely and a simple
`bundled-rnnoise=OFF` requires the system's library.

Tested on OpenBSD 7.0-CURRENT.
2022-01-13 09:57:28 +01:00
Robert Adam
d5cb83f32d
Merge PR #5417: BUILD(audiowizard): Fix build with -Dspeechd=OFF -Dwarnings-as-errors=ON
Move the declaration/definition of `iMessage` to where it is used,
otherwise the build fails with

```
src/mumble/AudioWizard.cpp:95:10: error: variable 'iMessage' set but not used [-Werror,-Wunused-but-set-variable]
        quint32 iMessage = Settings::LogNone;
                        ^
1 error generated.
```

Build-tested on OpenBSD 7.0-CURRENT using
```
$ cc --version
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.0
Thread model: posix
InstalledDir: /usr/bin
```
2022-01-12 14:33:38 +01:00
Robert Adam
91c6fcd5cb
Merge PR #5416: BUILD(client): Plugin Framework: Fix build on NetBSD and OpenBSD 2022-01-12 09:25:02 +01:00
Robert Adam
6a0bcabdbd
Merge PR #5418: MAINT: Change build-number token for AppVeyor 2022-01-12 08:28:27 +01:00
Klemens Nanni
a707213aa1 BUILD(client): Plugin framework: Use correct struct kinfo_proc members on NetBSD/OpenBSD
`struct kinfo_proc` members are prefixed with `p_` in
OpenBSD (http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/sys/sysctl.h?annotate=1.220) and
NetBSD  (cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/sysctl.h?annotate=1.236)

FreeBSD (https://cgit.freebsd.org/src/tree/sys/sys/user.h?id=01cad731921bb60b4f6e04c1cac987eea7af9d08#n121)and presumably Linux (I did not check) use the `ki_` prefix.

Build-tested on OpenBSD 7.0-CURRENT.
2022-01-11 22:32:15 +01:00
Klemens Nanni
ccbacbf0ab BUILD(client): Plugin framework: Pass element size to kvm_getprocs(3) on OpenBSD
There is an additional `elemsize` argument
(https://man.openbsd.org/kvm_getprocs.3):

	Only the first elemsize bytes of each array entry are returned.

Complete OpenBSD signature:
```
struct kinfo_proc *
kvm_getprocs(kvm_t *kd, int op, int arg, size_t elemsize, int *cnt);
```

Linux, FreeBSD and NetBSD have the same four-argument signature:
```
struct kinfo_proc *
kvm_getprocs(kvm_t *kd, int op, int arg, int *cnt);
```

Build-tested on OpenBSD 7.0-CURRENT.
2022-01-11 22:32:15 +01:00
Klemens Nanni
42ad5edf5a BUILD(client): Plugin framework: Use KVM_PROC_ALL on NetBSD/OpenBSD
kvm_getprocs(3) on Linux and FreeBSD
(https://www.freebsd.org/cgi/man.cgi?kvm_getprocs) has
```
	KERN_PROC_PROC	all processes, without threads
	...
```

OpenBSD (https://man.openbsd.org/kvm_getprocs.3) and
NetBSD  (https://man.openbsd.org/kvm_getprocs.3) however only know
```
	KERN_PROC_KTHREAD
		all processes (user-level plus kernel threads)
	KERN_PROC_ALL
		all user-level processes
	...
```
and
```
	KERN_PROC_ALL	all processes
	KERN_PROC_PID	processes with process id arg
	...
```
respectively, thus fall back to KERN_PROC_ALL where needed.

Build-tested on OpenBSD 7.0-CURRENT.

NB:  The first hunk around kvm_openfiles(3) is from `clang-format`.
(should've have happened in the commit introducing this line, I guess.)
2022-01-11 22:29:54 +01:00
Klemens Nanni
0c769d87a1 BUILD(audiowizard): Fix build with -Dspeechd=OFF -Dwarnings-as-errors=ON
Move the declaration/definition of `iMessage` to where it is used,
otherwise the build fails with

```
src/mumble/AudioWizard.cpp:95:10: error: variable 'iMessage' set but not used [-Werror,-Wunused-but-set-variable]
        quint32 iMessage = Settings::LogNone;
                        ^
1 error generated.
```

Build-tested on OpenBSD 7.0-CURRENT using
```
$ cc --version
OpenBSD clang version 13.0.0
Target: amd64-unknown-openbsd7.0
Thread model: posix
InstalledDir: /usr/bin
```
2022-01-11 22:25:09 +01:00
Robert Adam
74425938d9 MAINT: Change build-number token for AppVeyor 2022-01-11 20:25:28 +01:00
Robert Adam
c89a9b4158
Merge PR #5415: MAINT: Fix password use in build-number script
There were a few typos in the program's logic regarding the handling of
a provided password which rendered its use invalid.
2022-01-11 10:56:19 +01:00
Robert Adam
c794aabd43 MAINT: Fix password use in build-number script
There were a few typos in the program's logic regarding the handling of
a provided password which rendered its use invalid.
2022-01-11 09:41:18 +01:00
Davide Beatrici
6df853e942
Merge PR #5414: DOCS(client): Mention OpenBSD support 2022-01-11 09:12:39 +01:00
Klemens Nanni
bb859242f5 DOCS(client): Mention OpenBSD support
OpenBSD has provided binary packages for years,
both `mumble` and `murmurd` work.
(I happen to currently maintain the audio/mumble port.)
2022-01-11 07:33:38 +01:00
Robert Adam
696ec230c5
Merge PR #5410: MAINT: Add script to fetch build number 2022-01-09 20:45:28 +01:00
Robert Adam
4f6c89b571 MAINT: Use python3 for mumble-version script 2022-01-09 19:54:49 +01:00
Robert Adam
afef15dac4 DOCS: Extend build number docs 2022-01-09 19:54:49 +01:00
Robert Adam
bec87be1e4 CI: Use new build-number script 2022-01-09 19:54:49 +01:00
Robert Adam
6de094482d MAINT: Add script to fetch build number 2022-01-09 19:54:49 +01:00
Robert Adam
53ddee7736
Merge PR #5406: FEAT(client): Improve handling of IP masks in BanEditor
When using the BanEditor to manually create a new Ban entry, it was
really easy to get the "mask" property wrong, which had the effect of
apparently not performing any action at all, when clicking on the "Add"
button.

The underlying problem was most likely that the "mask" field defaults to
128, which is only valid for IPv6 addresses. When entering an IPv4
address, the mask would be considered invalid (through some internal
wizardry) and thus the Ban would not be added.
However, the user was not presented with any kind of error message that
would have hinted at the problem.

This commit tackles this issue by first of all validating that the
entered IP address is valid. If it is not, then the respective input
field will be colored red. If it is, the mask spin box's maximum value
will automatically be set to the correct maximum value for the used IP
address flavor (32 for IPv4 and 128 for IPv6).

That way the user can only ever press "Add", if they entered a valid IP
address alongside a valid mask. Thus, pressing "Add" should now always
add the respective ban.

Fixes #3986
2022-01-07 20:04:29 +01:00
Robert Adam
4ad90046b1 FEAT(client): Improve handling of IP masks in BanEditor
When using the BanEditor to manually create a new Ban entry, it was
really easy to get the "mask" property wrong, which had the effect of
apparently not performing any action at all, when clicking on the "Add"
button.

The underlying problem was most likely that the "mask" field defaults to
128, which is only valid for IPv6 addresses. When entering an IPv4
address, the mask would be considered invalid (through some internal
wizardry) and thus the Ban would not be added.
However, the user was not presented with any kind of error message that
would have hinted at the problem.

This commit tackles this issue by first of all validating that the
entered IP address is valid. If it is not, then the respective input
field will be colored red. If it is, the mask spin box's maximum value
will automatically be set to the correct maximum value for the used IP
address flavor (32 for IPv4 and 128 for IPv6).

That way the user can only ever press "Add", if they entered a valid IP
address alongside a valid mask. Thus, pressing "Add" should now always
add the respective ban.

Fixes #3986
2022-01-07 19:17:36 +01:00
Robert Adam
5598fe82c7
Merge PR #5405: MAINT: Update copyright to 2022 2022-01-04 20:55:11 +01:00
Robert Adam
d100ff1467 MAINT: Update copyright to 2022 2022-01-04 20:17:33 +01:00
Davide Beatrici
25cb73731b
MAINT(github): Remove Bountysource funding link 2022-01-03 03:16:25 +01:00
Robert Adam
ad83b4b577
Merge PR #5402: BUILD: Fix build error
ef045be changed how the
mumble-version.py script works, but these two scripts have not been
adapted to it yet. This commit fixes that.
2022-01-02 17:35:06 +01:00
Robert Adam
d336491b2d BUILD: Fix build error
ef045be7fe changed how the
mumble-version.py script works, but these two scripts have not been
adapted to it yet. This commit fixes that.
2022-01-02 16:46:08 +01:00
Robert Adam
ef045be7fe
Merge PR #5400: BUILD: Remove concept of an RELEASE_ID
Having a separate RELEASE_ID just unnecessarily complicates drafting
releases. Plus, now that we are using different build numbers for every
new build anyway, a separate release ID is really not necessary.
2022-01-02 12:12:46 +01:00
Robert Adam
6caa808e67 BUILD: Remove concept of an RELEASE_ID
Having a separate RELEASE_ID just unnecessarily complicates drafting
releases. Plus, now that we are using different build numbers for every
new build anyway, a separate release ID is really not necessary.
2022-01-01 20:38:40 +01:00
Robert Adam
2a31ed0f34 DOCS: Describe how to find build number 2022-01-01 20:38:40 +01:00
Robert Adam
74057e0f52
Merge PR #5398: DOCS: Clarify MAINT type in commit guidelines
The used example was a bit misleading
2022-01-01 17:12:42 +01:00
Robert Adam
012245a944 DOCS: Clarify MAINT type in commit guidelines
The used example was a bit misleading

Co-authored-by: Davide Beatrici <github@davidebeatrici.dev>
2022-01-01 16:26:02 +01:00
Robert Adam
e2622fe453
Merge PR #5397: CHANGE(client): Remove channel listener persistence
This is done, since the underlying framework for how channel listeners
are handled (more specifically: where they are stored) will be changed
in an upcoming PR. This upcoming change will cause listener persistence
to only apply to registered users. Thus, if the current persistence
feature was to be retained, that would mean that when introducing this
change, we'd remove a feature from Mumble.

As that is not a great thing to do, we'll remove the feature now that it
is still unreleased and then the upcoming change will introduce
persistence for some users instead of taking it away from others.

Furthermore, this PR fixes a little bug that made it possible for channel listeners
to be shown multiple times in the UI.
2021-12-29 19:25:08 +01:00
Robert Adam
db57b63241
Merge PR #5396: FEAT(server): Add support for the tracy profiler
Tracy (wolfpld/tracy) is a profiler that is aimed at
having a very low impact on the runtime performance and is thus suitable
to be used in production systems to figure out what is going on and how
the code is performing.

For the time being, this commit instruments only the server code.
Furthermore, the instrumentation is performed in a rather minimalistic
way that should suffice to start profiling audio and control message
processing but is definitely far from being complete. Further
instrumentation will be added on-demand.
2021-12-29 18:52:42 +01:00