Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-21Merge pull request #4087: Add autobanSuccessfulConnections flag.Robert Adam
The idea here is that sometimes you really do have a lot of folks connecting from a single IP, and if those connections are successful you don't want to ban any of them. However, in cases where the server needs to guard against malicious users attempting a DDOS by reconnecting their valid user account over and over, we need to be able to configure the server to still ban those successful attempts.
2020-04-20src/murmur/Meta.cpp: Negative values of these settings don't make sense.Sean Talts
Instead, we'll turn off the autoban feature if either are negative.
2020-04-20src/murmur: Add autobanSuccessfulConnections flag.Sean Talts
The idea here is that sometimes you really do have a lot of folks connecting from a single IP, and if those connections are successful you don't want to ban any of them. However, in cases where the server needs to guard against malicious users attempting a DDOS by reconnecting their valid user account over and over, we need to be able to configure the server to still ban those successful attempts.
2020-04-20Merge pull request #4082: Fix grpc buildRobert Adam
This PR fixes a compilation error that occurs when building murmur with GRPC enabled with an older version of the GRPC lib (probably a version less than 1.28 but I'm not sure of the exact version). Furthermore it fixes a Qt warning about a deprecated function (Qt >= 5.14) in the GRPC code. Finally it adds GRPC to be built on our CI in order to catch errors in the GRPC code in the CI as well.
2020-04-20CI: Include GRPC supportRobert Adam
We have had multiple cases now in which there have been some errors in changes related to GRPC that weren't detected by the CI because it excluded the GRPC code from the build process. This will bw changed now. As all other CIs have been stubborn, for now we'll only build GRPC on travis as these use a new-enough Ubuntu version to be able to build GRPC. MacOS CI I haven't got to work with the whole homebrew stuff and Windows is done in its own repo (which I won't touch either). m
2020-04-20src/murmur/MurmurGRPCImpl.cpp: Use QAtomicInteger::loadRelaxed() instead of ↵Robert Adam
QAtomicInteger::load() for Qt >= 5.14
2020-04-20src/murmur/MurmurGRPCImpl.h: Use namespace grpc instead of grpc_implRobert Adam
It appears as if more modern versions of GRPC-c++ have moved their classes from namespace grpc to namespace grpc_impl, which is what the most recent contribution to this file was using. However in older versions of the GRPC library this namespace doesn't exist yet and thus causes compile errors. Luckily it seems however that the GRPC devs were smart about this change as they added typedefs to the grpc namespace (which still exists) that reroute to the grpc_impl namespace. Thus we can simply use the grpc namespace and in newer versions this will redirect us to the grpc_impl namespace automatically. As a reference on the GRPC side see https://github.com/grpc/grpc/commit/d684ddc7e3091b8b5205b0cadbd786bd5f37487d
2020-04-18Merge pull request #4074: Dockerfile: update ubuntu version to latestRobert Adam
Building a docker image with the current Dockerfile seems to run into issues caused by not finding files on the Ubuntu disco repositories anymore. So, this patch updates the Ubuntu version in the Dockerfile from disco to latest.
2020-04-18Dockerfile: use regex for protobuf and grpc package nameshwipl
The latest Ubuntu LTS Docker image is version 18.04 and will switch to version 20.04 soon. The package names of libprotobuf and libgrpc differ in version 18.04 and 20.04. As suggested by Bartosz Zieba, this patch uses regex for installing these packages to make the Dockerfile work with both LTS versions. Co-authored-by: Bartosz Zieba <bartosz@zieba.pro> Signed-off-by: hwipl <33433250+hwipl@users.noreply.github.com>
2020-04-18Dockerfile: update ubuntu version to latesthwipl
Building a docker image with the current Dockerfile seems to run into issues caused by not finding files on the Ubuntu disco repositories anymore. So, this patch updates the Ubuntu version in the Dockerfile from disco to latest. Signed-off-by: hwipl <33433250+hwipl@users.noreply.github.com>
2020-04-17Merge pull request #4011: Channel ListenersRobert Adam
This implements #3319 by allowing users to "listen" to a channel they have not joined. Doing so will place a "listener proxy" (in other software this is sometimes known as a "phantom") in that channel which will look like a normal user except that it'll have the same name as the user listening to that channel and an ear-icon instead of the normal avatar-icon. It will also always show a muted-icon next to it. If a listener proxy is in a channel, the server will route all audio packets from that channel to the user the proxy belongs to (as if that user was in the channel). Note though that the opposite of this is not true: The users in the channel will not hear audio from the listening user unless that user decides to join the channel. Furthermore it is possible to set a local volume adjustment for each individual listener proxy so that audio received through them can be tuned in volume. Finally the ACLEditor is changed so that every time you fiddle with the Enter privilege, you'll also set the Listen privilege automatically. For why I think this to be necessary see the commit message of 77e89e4
2020-04-16Translation updateRobert Adam
Updating 'mumble_en.ts'... Found 1738 source text(s) (17 new and 1721 already existing) Removed 1 obsolete entries
2020-04-16Feature: Channel ListenersRobert Adam
This implements #3319 by allowing users to "listen" to a channel they have not joined. Doing so will place a "listener proxy" (in other software this is sometimes known as a "phantom") in that channel which will look like a normal user except that it'll have the same name as the user listening to that channel and an ear-icon instead of the normal avatar-icon. It will also always show a muted-icon next to it. If a listener proxy is in a channel, the server will route all audio packets from that channel to the user the proxy belongs to (as if that user was in the channel). Note though that the opposite of this is not true: The users in the channel will not hear audio from the listening user unless that user decides to join the channel. Furthermore it is possible to set a local volume adjustment for each individual proxy that will be applied to all audio that is received through it.
2020-04-10Merge pull request #4059: Update GTA V PluginRobert Adam
2020-04-10.github/stale.yml: Configure stale-botRobert Adam
2020-04-10Merge PR #4056: qmake: fix paths in toolchains to support recent Windows SDK ↵Davide Beatrici
versions
2020-04-09Update GTA V PluginMagnus Groß
2020-04-09src: Use enum values instead of magic numbers for speech flagsRobert Adam
2020-04-09Merge pull request #4048: Whisper to selectionRobert Adam
2020-04-09Merge pull request #4058: Add alias for places/network-workgroup.svgRobert Adam
2020-04-09themes: Add alias for places/network-workgroup.svgRobert Adam
This icon is referenced/needed from ConnectDialog and before this commit, an error would be printed that this icon can't be found (#4057).
2020-04-09qmake: fix paths in toolchains to support recent Windows SDK versionsDavide Beatrici
Libraries were already in versioned directories, but in recent versions of the Windows 10 SDK that's the case for executables and includes as well. This commit also removes duplicate backslashes in the paths. Fortunately it was only a cosmetic issue (in the console output).
2020-04-09Translation updateRobert Adam
Updating 'mumble_en.ts'... Found 1726 source text(s) (7 new and 1719 already existing) Removed 3 obsolete entries
2020-04-09src/mumble: Implemented #1548: Whisper/Shout to selectionRobert Adam
Before it was only possible to set hotkeys for whispering/shouting to fixed targets (e.g. a certain list of users or a certain channel). This commit adds the possibility to set up a hotkey to whisper/shout to whatever is the current selection in the UI. That means if I have another user selected, then I'll whisper to that user and if I have a channel selected, then I'll shout to that instead.
2020-04-09Documentation: Added some explainatory comments to how VoiceTarget IDs are ↵Robert Adam
assigned
2020-04-09src/mumble/UserModel: Added functions to retrieve the current selectionRobert Adam
2020-04-07Merge PR #4054: Use TCP_NODELAY by default and remove attempts to flush.Davide Beatrici
2020-04-07Use TCP_NODELAY by default and remove attempts to flush.Sean Talts
Having the server perform 2 syscalls per TCP audio packet is extreme - turning this off led to 30% lower CPU utilization in a test with 200 music-playing bots. Switching to TCP_NODELAY for all packets is probably a win as well - TCP is only typically used for control packets like users joining and leaving channels, of which there are few. (As alluded to above, TCP is also sometimes used for audio, in which case it should be in TCP_NODELAY mode anyway).
2020-04-07Merge pull request #4053: Moved concurrent dependency to other Qt depsRobert Adam
2020-04-07Merge pull request #4050: Fix last audio frame targetRobert Adam
2020-04-07src/mumble/mumble.pro: Moved concurrent dependency to other Qt depsRobert Adam
2020-04-07Merge pull request #4051: Fix racecondition for g.iTargetRobert Adam
2020-04-07src/mumble/AudioInput: Fix racecondition for g.iTargetRobert Adam
g.iTarget is not protected by a lock or a Mutex. This means that it can change its value while AudioInput::encodeAudioFrame is running. However the value is accessed at multiple stages (including AudioInput::flushCheck that is called from encodeAudioFrame) meaning that there could be inconsistencies of what g.iTarget was meaning for this audio frame. This commit makes sure that g.iTarget is only accessed once at the beginnign of AudioInput::encodeAudioFrame and then copied to a local variable which is then used for all the places in which g.iTarget previously was access directly. One scenario this race condition could be observed was pressing and immediately releasing a whisper shortcut. This could sometimes cause one of the whisper frames (the second last to be more precise) to be sent as normal audio instead of whispering (the last message would have been affected by this as well however for that there's a special workaround in place already [9d16137393bd8a33307cac41c0b55ea1392173a3] which covered the effects of the racecondition for that one).
2020-04-07src/mumble/AudioInput.cpp: Fix whisper-target logic interfering with normal ↵Robert Adam
speech In order to send the last audio frame of a whisper-action to the correct target, we have to do some workaround introduced in 9d16137393bd8a33307cac41c0b55ea1392173a3. The current implementation bleeds into normal speech, if VoiceActivation is used (#2604). This is due to iPrevTarget not getting reset automatically once it has fulfilled its purpose. If PTT is used as transmission mode, it doesn't matter as the button-pushing also resets iPrevTarget as needed. VoiceActivation doesn't do that though, so this commit adds a little housekeeping to the iPrevTarget logic.
2020-04-07src/mumble: Added some documentation on speech-detection and how iPrevTarget ↵Robert Adam
works
2020-04-07Merge pull request #3987: Make VersionCheck prepare asynchronouslyRobert Adam
2020-04-06Merge pull request #4026: Improve log message styleRobert Adam
2020-04-06Merge pull request #4041: Fix overlay startRobert Adam
2020-04-06Merge pull request #4038: src: Fix for b263b91Robert Adam
2020-04-05src/mumble/Overlay.cpp: Fix code styleRobert Adam
Co-Authored-By: Davide Beatrici <davidebeatrici@gmail.com>
2020-04-05src/mumble/Settings.cpp: Disable Overlay by defaultRobert Adam
As requested in #3515 this commit disables the overlay by default. This is so that Mumbke doesn't try to hook into all system processes for users that don't explicitly want this behavior.
2020-04-05src/mumble/main.cpp: Remove outdated TODORobert Adam
2020-04-05src/mumble/Overlay*: Don't hook into any process before the Overlay is activeRobert Adam
Right now the Overlay will start hooking into processes on its construction. This will cause this to happen even if the overlay is actually disabled. This is a rather intrusive behavior and can lead to warnings of the OS (for now macOS only - #3552). This commit refactors the Overlay class so that it will only start hooking into processes, if it is actually enabled (that is setActive is called with true).
2020-04-05scripts/murmur.ini: Remove duplicated autoban* optionsRobert Adam
2020-04-05Merge pull request #4040: src/murmur/murmur_grpc/murmur_grpc.pro: Fix GRPC buildRobert Adam
2020-04-05src/murmur/murmur_grpc/murmur_grpc.pro: Fix GRPC buildRobert Adam
b380274e3d85b8de1370a2dad43ec501bb43ca08 (#3476) changed the way we look for the GRPC_CPP_PLUGIN but forgot to include an assignment for that variable on non-Windows systems, which caused the build to fail for them.
2020-04-04Merge PR #3476: murmur_grpc: check if an environment variable is set and ↵Davide Beatrici
don't use "which" on Windows
2020-04-04src: Fix for b263b91340fb8b359e34626de880f606cfd9c116Robert Adam
In b263b91340fb8b359e34626de880f606cfd9c116 I exchanged QString::sprintf with QString::asprintf as the former was declared deprecated from Qt 5.5 onwards. I forgot to check the docs though. If I had, I would have noticed that in contrast to sprintf, asprintf is a static function which returns the assembled String (sprintf wrote it to the object it was being called on). Thus I also have to assign the return value of asprintf to a variable in order to have it have an effect.
2020-04-04murmur_grpc: check if an environment variable is set and don't use "which" ↵Davide Beatrici
on Windows This allows to build gRPC support for Windows.
2020-04-04Merge pull request #4033: Document settings missing in example murmur.iniRobert Adam