From 59ae429972c16c377135bcccfee646b7df446933 Mon Sep 17 00:00:00 2001 From: Robert Adam Date: Mon, 1 Mar 2021 18:01:11 +0100 Subject: [PATCH] MAINT: Update copyright notice to 2021 This was done by running scripts/updateLicenseHeaders.py and then manually editing the LICENSE file. --- .../assertNoTranslationChanges.sh | 2 +- .ci/azure-pipelines/checkDocs.bash | 2 +- .ci/azure-pipelines/extractWithProgress.bash | 2 +- .../install-environment_linux.bash | 2 +- ...nstall-environment_linux_translations.bash | 2 +- .../install-environment_macos.bash | 2 +- .../install-environment_windows.ps1 | 2 +- .ci/azure-pipelines/main-pr.yml | 5 + .ci/azure-pipelines/main.yml | 5 + .ci/azure-pipelines/package_AppImage.bash | 2 +- .ci/azure-pipelines/steps_linux.yml | 5 + .ci/azure-pipelines/steps_macos.yml | 5 + .ci/azure-pipelines/steps_windows.yml | 5 + .../task-environment-cache.yml | 5 + .../task-publish-artifacts.yml | 5 + .ci/travis-ci/before_install.bash | 2 +- .ci/travis-ci/script.bash | 2 +- .cirrus.yml | 4 + LICENSE | 2 +- cmake/FindModules/FindGRPC.cmake | 5 + cmake/compiler.cmake | 2 +- cmake/install-library.cmake | 2 +- cmake/install-paths.cmake | 2 +- cmake/os.cmake | 2 +- cmake/pkg-utils.cmake | 2 +- cmake/project-utils.cmake | 2 +- cmake/qt-utils.cmake | 2 +- g15helper/g15helper.c | 2 +- g15helper/g15helper.h | 2 +- g15helper/g15helper_emu.cpp | 2 +- g15helper/g15helper_emu.h | 2 +- g15helper/g15helper_macx.c | 2 +- helpers/vcpkg/ports/zeroc-ice/portfile.cmake | 115 +-- installer/ClientInstaller.cs | 2 +- installer/MumbleInstall.cs | 2 +- installer/ServerInstaller.cs | 2 +- macx/osax/osax.m | 2 +- macx/scripts/gendmg.pl | 2 +- macx/scripts/osxdist.py | 2 +- overlay/D11StateBlock.cpp | 2 +- overlay/D11StateBlock.h | 2 +- overlay/HardHook.cpp | 20 +- overlay/HardHook.h | 30 +- overlay/HardHook_minhook.cpp | 2 +- overlay/HardHook_minhook.h | 2 +- overlay/HardHook_x86.cpp | 758 +++++++++--------- overlay/HardHook_x86.h | 120 +-- overlay/ancestor.cpp | 2 +- overlay/ancestor.h | 2 +- overlay/d3d10.cpp | 2 +- overlay/d3d11.cpp | 2 +- overlay/d3d9.cpp | 2 +- overlay/dxgi.cpp | 2 +- overlay/excludecheck.cpp | 2 +- overlay/excludecheck.h | 2 +- overlay/lib.cpp | 2 +- overlay/lib.h | 2 +- overlay/ods.cpp | 2 +- overlay/ods.h | 2 +- overlay/olsettings.cpp | 2 +- overlay/olsettings.h | 2 +- overlay/opengl.cpp | 2 +- overlay/overlay.fx | 2 +- overlay/overlay.h | 2 +- overlay/overlay11-common.hlsl | 108 +-- overlay/overlay11.ps | 80 +- overlay/overlay11.vs | 88 +- overlay/overlay_blacklist.h | 2 +- overlay/overlay_exe/overlay_exe.cpp | 2 +- overlay/overlay_exe/overlay_exe.h | 178 ++-- overlay/overlay_launchers.h | 2 +- overlay/overlay_whitelist.h | 2 +- overlay/scripts/build_overlay_xcompile.cmd | 5 + overlay/util.h | 106 +-- overlay_gl/avail_mac.h | 2 +- overlay_gl/avail_mac.pl | 6 + overlay_gl/init_mac.c | 2 +- overlay_gl/init_unix.c | 2 +- overlay_gl/overlay.c | 2 +- plugins/HostLinux.cpp | 2 +- plugins/HostLinux.h | 2 +- plugins/HostWindows.cpp | 2 +- plugins/HostWindows.h | 2 +- plugins/Module.cpp | 2 +- plugins/Module.h | 2 +- plugins/Process.cpp | 2 +- plugins/Process.h | 2 +- plugins/ProcessLinux.cpp | 2 +- plugins/ProcessLinux.h | 2 +- plugins/ProcessWindows.cpp | 2 +- plugins/ProcessWindows.h | 2 +- plugins/amongus/Game.cpp | 2 +- plugins/amongus/Game.h | 2 +- plugins/amongus/amongus.cpp | 2 +- plugins/amongus/structs.h | 5 + plugins/aoc/aoc.cpp | 2 +- plugins/arma2/arma2.cpp | 2 +- plugins/bf1/bf1.cpp | 2 +- plugins/bf1942/bf1942.cpp | 2 +- plugins/bf2/bf2.cpp | 2 +- plugins/bf2142/bf2142.cpp | 2 +- plugins/bf3/bf3.cpp | 2 +- plugins/bf4/bf4.cpp | 2 +- plugins/bf4_x86/bf4_x86.cpp | 2 +- plugins/bfbc2/bfbc2.cpp | 2 +- plugins/bfheroes/bfheroes.cpp | 2 +- plugins/blacklight/blacklight.cpp | 2 +- plugins/borderlands/borderlands.cpp | 2 +- plugins/borderlands2/borderlands2.cpp | 2 +- plugins/breach/breach.cpp | 2 +- plugins/cod2/cod2.cpp | 2 +- plugins/cod4/cod4.cpp | 2 +- plugins/cod5/cod5.cpp | 2 +- plugins/codmw2/codmw2.cpp | 2 +- plugins/codmw2so/codmw2so.cpp | 2 +- plugins/cs/cs.cpp | 2 +- plugins/dys/dys.cpp | 2 +- plugins/etqw/etqw.cpp | 2 +- plugins/ffxiv/ffxiv.cpp | 2 +- plugins/gmod/gmod.cpp | 2 +- plugins/gtaiv/gtaiv.cpp | 2 +- plugins/gtasa/gtasa.cpp | 2 +- plugins/gtav/gtav.cpp | 2 +- plugins/gw/gw.cpp | 2 +- plugins/insurgency/insurgency.cpp | 2 +- plugins/jc2/jc2.cpp | 2 +- plugins/link/link-posix.cpp | 2 +- plugins/link/link.cpp | 2 +- plugins/lol/lol.cpp | 2 +- plugins/lotro/lotro.cpp | 2 +- plugins/mumble_plugin.h | 2 +- plugins/mumble_plugin_linux.h | 2 +- plugins/mumble_plugin_main.h | 2 +- plugins/mumble_plugin_utils.h | 2 +- plugins/mumble_plugin_win32.h | 2 +- plugins/mumble_plugin_win32_internals.h | 2 +- plugins/null_plugin.cpp | 2 +- plugins/ql/ql.cpp | 2 +- plugins/rl/rl.cpp | 2 +- plugins/se/client.h | 2 +- plugins/se/common.h | 2 +- plugins/se/engine.h | 2 +- plugins/se/se.cpp | 2 +- plugins/sr/sr.cpp | 2 +- plugins/ut2004/ut2004.cpp | 2 +- plugins/ut3/ut3.cpp | 2 +- plugins/ut99/ut99.cpp | 2 +- plugins/wolfet/wolfet.cpp | 2 +- plugins/wow/wow.cpp | 2 +- plugins/wow_x64/wow_x64.cpp | 2 +- scripts/commitMessage/CommitMessage.py | 5 + scripts/development/IconSync.cpp | 5 + scripts/extract-emojione-flags.py | 2 +- scripts/generate-AUTHORS.py | 2 +- scripts/generate-ApplicationPalette-class.py | 2 +- scripts/generate-CHANGES.py | 2 +- scripts/generate-cipherinfo.py | 2 +- scripts/generate-ffdhe.py | 2 +- scripts/generate-mumble_qt-qrc.py | 2 +- scripts/generate-qrc.py | 2 +- scripts/generateIceWrapper.py | 2 +- scripts/generate_cmake_options_docs.py | 2 +- scripts/git2cl.pl | 2 +- scripts/mkflags.py | 2 +- scripts/mkini-win32.bat | 2 +- scripts/mkini.sh | 2 +- scripts/mklic.pl | 2 +- scripts/mumble-version.py | 2 +- scripts/murmur.init | 6 + scripts/rcc-depends.py | 2 +- scripts/release.pl | 2 +- scripts/runClangFormat.sh | 2 +- scripts/server/dbus/ListUsers.cs | 5 + scripts/server/dbus/dbusauth.pl | 6 + scripts/server/dbus/murmur.pl | 6 + scripts/server/dbus/weblist.pl | 6 + scripts/server/ice/mumble-auth.py | 6 + scripts/server/ice/rubytest.rb | 6 + scripts/server/ice/testauth.py | 6 + scripts/server/ice/testcallback.py | 6 + scripts/server/ice/testdynamic.py | 6 + scripts/transtate.py | 2 +- scripts/updatetranslations.sh | 2 +- scripts/vcpkg/get_mumble_dependencies.ps1 | 173 ++-- scripts/vcpkg/get_mumble_dependencies.sh | 6 + src/ACL.cpp | 2 +- src/ACL.h | 2 +- src/Ban.cpp | 2 +- src/Ban.h | 2 +- src/ByteSwap.h | 2 +- src/Channel.cpp | 2 +- src/Channel.h | 2 +- src/ChannelListener.cpp | 2 +- src/ChannelListener.h | 2 +- src/Connection.cpp | 2 +- src/Connection.h | 2 +- src/CryptState.h | 2 +- src/EnvUtils.cpp | 2 +- src/EnvUtils.h | 2 +- src/FFDHE.cpp | 2 +- src/FFDHE.h | 2 +- src/FFDHETable.h | 2 +- src/Group.cpp | 2 +- src/Group.h | 2 +- src/HTMLFilter.cpp | 2 +- src/HTMLFilter.h | 2 +- src/HostAddress.cpp | 2 +- src/HostAddress.h | 2 +- src/License.cpp | 2 +- src/License.h | 2 +- src/LogEmitter.cpp | 2 +- src/LogEmitter.h | 2 +- src/Message.h | 2 +- src/Mumble.proto | 2 +- src/Net.cpp | 2 +- src/Net.h | 2 +- src/OSInfo.cpp | 2 +- src/OSInfo.h | 2 +- src/PacketDataStream.h | 2 +- src/PasswordGenerator.cpp | 2 +- src/PasswordGenerator.h | 2 +- src/PlatformCheck.cpp | 2 +- src/PlatformCheck.h | 2 +- src/QtUtils.cpp | 2 +- src/SSL.cpp | 2 +- src/SSL.h | 2 +- src/SSLCipherInfo.cpp | 44 +- src/SSLCipherInfo.h | 40 +- src/SSLCipherInfoTable.h | 2 +- src/SSLLocks.cpp | 2 +- src/SSLLocks.h | 2 +- src/SelfSignedCertificate.cpp | 2 +- src/SelfSignedCertificate.h | 2 +- src/ServerAddress.cpp | 2 +- src/ServerAddress.h | 2 +- src/ServerResolver.cpp | 2 +- src/ServerResolver.h | 2 +- src/ServerResolverRecord.cpp | 2 +- src/ServerResolverRecord.h | 2 +- src/SignalCurry.h | 2 +- src/SpeechFlags.h | 2 +- src/Timer.cpp | 2 +- src/Timer.h | 2 +- src/UnresolvedServerAddress.cpp | 2 +- src/UnresolvedServerAddress.h | 2 +- src/User.cpp | 2 +- src/User.h | 2 +- src/Utils.h | 2 +- src/Version.cpp | 2 +- src/Version.h | 2 +- src/crypto/CryptState.h | 2 +- src/crypto/CryptStateOCB2.cpp | 2 +- src/crypto/CryptStateOCB2.h | 2 +- src/crypto/CryptographicHash.cpp | 2 +- src/crypto/CryptographicHash.h | 2 +- src/crypto/CryptographicRandom.cpp | 2 +- src/crypto/CryptographicRandom.h | 2 +- src/licenses.h | 5 + src/mumble/ACLEditor.cpp | 2 +- src/mumble/ACLEditor.h | 2 +- src/mumble/ALSAAudio.cpp | 2 +- src/mumble/ALSAAudio.h | 2 +- src/mumble/ASIOInput.cpp | 2 +- src/mumble/ASIOInput.h | 2 +- src/mumble/About.cpp | 2 +- src/mumble/About.h | 2 +- src/mumble/AppNap.h | 2 +- src/mumble/AppNap.mm | 2 +- src/mumble/ApplicationPalette.h | 2 +- src/mumble/ApplicationPaletteTemplate.h | 2 +- src/mumble/Audio.cpp | 2 +- src/mumble/Audio.h | 2 +- src/mumble/AudioConfigDialog.cpp | 2 +- src/mumble/AudioConfigDialog.h | 2 +- src/mumble/AudioInput.cpp | 2 +- src/mumble/AudioInput.h | 2 +- src/mumble/AudioOutput.cpp | 2 +- src/mumble/AudioOutput.h | 2 +- src/mumble/AudioOutputSample.cpp | 2 +- src/mumble/AudioOutputSample.h | 2 +- src/mumble/AudioOutputSpeech.cpp | 2 +- src/mumble/AudioOutputSpeech.h | 2 +- src/mumble/AudioOutputUser.cpp | 2 +- src/mumble/AudioOutputUser.h | 2 +- src/mumble/AudioStats.cpp | 2 +- src/mumble/AudioStats.h | 2 +- src/mumble/AudioWizard.cpp | 2 +- src/mumble/AudioWizard.h | 2 +- src/mumble/BanEditor.cpp | 2 +- src/mumble/BanEditor.h | 2 +- src/mumble/CELTCodec.cpp | 2 +- src/mumble/CELTCodec.h | 2 +- src/mumble/CELTCodec_sbcelt.cpp | 2 +- src/mumble/Cert.cpp | 2 +- src/mumble/Cert.h | 2 +- src/mumble/ClientUser.cpp | 2 +- src/mumble/ClientUser.h | 2 +- src/mumble/ConfigDialog.cpp | 2 +- src/mumble/ConfigDialog.h | 2 +- src/mumble/ConfigWidget.cpp | 2 +- src/mumble/ConfigWidget.h | 2 +- src/mumble/ConnectDialog.cpp | 2 +- src/mumble/ConnectDialog.h | 2 +- src/mumble/CoreAudio.h | 2 +- src/mumble/CoreAudio.mm | 2 +- src/mumble/CrashReporter.cpp | 2 +- src/mumble/CrashReporter.h | 2 +- src/mumble/CustomElements.cpp | 2 +- src/mumble/CustomElements.h | 2 +- src/mumble/DBus.cpp | 2 +- src/mumble/DBus.h | 2 +- src/mumble/Database.cpp | 2 +- src/mumble/Database.h | 2 +- src/mumble/DeveloperConsole.cpp | 2 +- src/mumble/DeveloperConsole.h | 2 +- src/mumble/G15LCDEngine_helper.cpp | 2 +- src/mumble/G15LCDEngine_helper.h | 2 +- src/mumble/G15LCDEngine_lglcd.cpp | 2 +- src/mumble/G15LCDEngine_lglcd.h | 2 +- src/mumble/G15LCDEngine_unix.cpp | 2 +- src/mumble/G15LCDEngine_unix.h | 2 +- src/mumble/GKey.cpp | 304 +++---- src/mumble/GKey.h | 128 +-- src/mumble/Global.cpp | 2 +- src/mumble/Global.h | 2 +- src/mumble/GlobalShortcut.cpp | 2 +- src/mumble/GlobalShortcut.h | 2 +- src/mumble/GlobalShortcut_macx.h | 2 +- src/mumble/GlobalShortcut_macx.mm | 2 +- src/mumble/GlobalShortcut_unix.cpp | 2 +- src/mumble/GlobalShortcut_unix.h | 2 +- src/mumble/GlobalShortcut_win.cpp | 2 +- src/mumble/GlobalShortcut_win.h | 2 +- src/mumble/JackAudio.cpp | 2 +- src/mumble/JackAudio.h | 2 +- src/mumble/LCD.cpp | 2 +- src/mumble/LCD.h | 2 +- src/mumble/ListenerLocalVolumeDialog.cpp | 2 +- src/mumble/ListenerLocalVolumeDialog.h | 2 +- src/mumble/Log.cpp | 2 +- src/mumble/Log.h | 2 +- src/mumble/Log_macx.mm | 2 +- src/mumble/Log_unix.cpp | 2 +- src/mumble/Log_win.cpp | 2 +- src/mumble/LookConfig.cpp | 2 +- src/mumble/LookConfig.h | 2 +- src/mumble/MainWindow.cpp | 2 +- src/mumble/MainWindow.h | 2 +- src/mumble/ManualPlugin.cpp | 2 +- src/mumble/ManualPlugin.h | 2 +- src/mumble/Markdown.cpp | 2 +- src/mumble/Markdown.h | 2 +- src/mumble/Messages.cpp | 2 +- src/mumble/MumbleApplication.cpp | 2 +- src/mumble/MumbleApplication.h | 2 +- src/mumble/NetworkConfig.cpp | 2 +- src/mumble/NetworkConfig.h | 2 +- src/mumble/OSS.cpp | 2 +- src/mumble/OSS.h | 2 +- src/mumble/OpusCodec.cpp | 2 +- src/mumble/OpusCodec.h | 2 +- src/mumble/Overlay.cpp | 2 +- src/mumble/Overlay.h | 2 +- src/mumble/OverlayClient.cpp | 2 +- src/mumble/OverlayClient.h | 2 +- src/mumble/OverlayConfig.cpp | 2 +- src/mumble/OverlayConfig.h | 2 +- src/mumble/OverlayEditor.cpp | 2 +- src/mumble/OverlayEditor.h | 2 +- src/mumble/OverlayEditorScene.cpp | 2 +- src/mumble/OverlayEditorScene.h | 2 +- src/mumble/OverlayPositionableItem.cpp | 174 ++-- src/mumble/OverlayPositionableItem.h | 66 +- src/mumble/OverlayText.cpp | 2 +- src/mumble/OverlayText.h | 2 +- src/mumble/OverlayUser.cpp | 2 +- src/mumble/OverlayUser.h | 2 +- src/mumble/OverlayUserGroup.cpp | 2 +- src/mumble/OverlayUserGroup.h | 2 +- src/mumble/Overlay_macx.mm | 2 +- src/mumble/Overlay_unix.cpp | 2 +- src/mumble/Overlay_win.cpp | 2 +- src/mumble/Overlay_win.h | 112 +-- src/mumble/PAAudio.cpp | 2 +- src/mumble/PAAudio.h | 2 +- src/mumble/PTTButtonWidget.cpp | 2 +- src/mumble/PTTButtonWidget.h | 2 +- src/mumble/PathListWidget.cpp | 184 ++--- src/mumble/PathListWidget.h | 80 +- src/mumble/Plugins.cpp | 2 +- src/mumble/Plugins.h | 2 +- src/mumble/PulseAudio.cpp | 2 +- src/mumble/PulseAudio.h | 2 +- src/mumble/RichTextEditor.cpp | 2 +- src/mumble/RichTextEditor.h | 2 +- src/mumble/Screen.cpp | 2 +- src/mumble/Screen.h | 2 +- src/mumble/ServerHandler.cpp | 2 +- src/mumble/ServerHandler.h | 2 +- src/mumble/Settings.cpp | 2 +- src/mumble/Settings.h | 2 +- src/mumble/SharedMemory.cpp | 2 +- src/mumble/SharedMemory.h | 2 +- src/mumble/SharedMemory_unix.cpp | 2 +- src/mumble/SharedMemory_win.cpp | 2 +- src/mumble/SocketRPC.cpp | 2 +- src/mumble/SocketRPC.h | 2 +- src/mumble/SvgIcon.cpp | 2 +- src/mumble/SvgIcon.h | 2 +- src/mumble/TalkingUI.cpp | 2 +- src/mumble/TalkingUI.h | 2 +- src/mumble/TalkingUIComponent.h | 2 +- src/mumble/TalkingUIContainer.cpp | 2 +- src/mumble/TalkingUIContainer.h | 2 +- src/mumble/TalkingUIEntry.cpp | 2 +- src/mumble/TalkingUIEntry.h | 2 +- src/mumble/TalkingUISelection.cpp | 2 +- src/mumble/TalkingUISelection.h | 2 +- src/mumble/TaskList.cpp | 2 +- src/mumble/TaskList.h | 2 +- src/mumble/TextMessage.cpp | 2 +- src/mumble/TextMessage.h | 2 +- src/mumble/TextToSpeech.cpp | 2 +- src/mumble/TextToSpeech.h | 2 +- src/mumble/TextToSpeech_macx.mm | 2 +- src/mumble/TextToSpeech_unix.cpp | 2 +- src/mumble/TextToSpeech_win.cpp | 2 +- src/mumble/ThemeInfo.cpp | 2 +- src/mumble/ThemeInfo.h | 2 +- src/mumble/Themes.cpp | 2 +- src/mumble/Themes.h | 2 +- src/mumble/Tokens.cpp | 2 +- src/mumble/Tokens.h | 2 +- src/mumble/Usage.cpp | 2 +- src/mumble/Usage.h | 2 +- src/mumble/UserEdit.cpp | 2 +- src/mumble/UserEdit.h | 2 +- src/mumble/UserInformation.cpp | 2 +- src/mumble/UserInformation.h | 2 +- src/mumble/UserListModel.cpp | 2 +- src/mumble/UserListModel.h | 2 +- src/mumble/UserLocalNicknameDialog.cpp | 2 +- src/mumble/UserLocalNicknameDialog.h | 2 +- src/mumble/UserLocalVolumeDialog.cpp | 2 +- src/mumble/UserLocalVolumeDialog.h | 2 +- src/mumble/UserLockFile.h | 2 +- src/mumble/UserLockFile_win.cpp | 2 +- src/mumble/UserModel.cpp | 2 +- src/mumble/UserModel.h | 2 +- src/mumble/UserView.cpp | 2 +- src/mumble/UserView.h | 2 +- src/mumble/VersionCheck.cpp | 2 +- src/mumble/VersionCheck.h | 2 +- src/mumble/ViewCert.cpp | 2 +- src/mumble/ViewCert.h | 2 +- src/mumble/VoiceRecorder.cpp | 2 +- src/mumble/VoiceRecorder.h | 2 +- src/mumble/VoiceRecorderDialog.cpp | 2 +- src/mumble/VoiceRecorderDialog.h | 2 +- src/mumble/WASAPI.cpp | 2 +- src/mumble/WASAPI.h | 2 +- src/mumble/WASAPINotificationClient.cpp | 2 +- src/mumble/WASAPINotificationClient.h | 2 +- src/mumble/WebFetch.cpp | 2 +- src/mumble/WebFetch.h | 2 +- src/mumble/WinGUIDs.cpp | 2 +- src/mumble/XMLTools.cpp | 402 +++++----- src/mumble/XMLTools.h | 76 +- src/mumble/XboxInput.cpp | 138 ++-- src/mumble/XboxInput.h | 168 ++-- src/mumble/Zeroconf.cpp | 2 +- src/mumble/Zeroconf.h | 2 +- src/mumble/main.cpp | 2 +- src/mumble/mumble_pch.hpp | 2 +- src/mumble/os_early_win.cpp | 2 +- src/mumble/os_macx.mm | 2 +- src/mumble/os_unix.cpp | 2 +- src/mumble/os_win.cpp | 2 +- src/mumble/widgets/CompletablePage.cpp | 2 +- src/mumble/widgets/MUComboBox.cpp | 2 +- src/mumble/widgets/MUComboBox.h | 2 +- .../widgets/MultiStyleWidgetWrapper.cpp | 2 +- src/mumble/widgets/MultiStyleWidgetWrapper.h | 2 +- src/mumble_exe/Overlay.cpp | 2 +- src/mumble_exe/mumble_exe.cpp | 2 +- src/murmur/About.cpp | 2 +- src/murmur/About.h | 2 +- src/murmur/Cert.cpp | 2 +- src/murmur/DBus.cpp | 2 +- src/murmur/DBus.h | 2 +- src/murmur/Messages.cpp | 2 +- src/murmur/Meta.cpp | 2 +- src/murmur/Meta.h | 2 +- src/murmur/Murmur.ice | 2 +- src/murmur/MurmurGRPCImpl.cpp | 2 +- src/murmur/MurmurGRPCImpl.h | 2 +- src/murmur/MurmurI.h | 2 +- src/murmur/MurmurIce.cpp | 2 +- src/murmur/MurmurIce.h | 2 +- src/murmur/MurmurIceWrapper.cpp | 5 + src/murmur/MurmurRPC.proto | 2 +- src/murmur/PBKDF2.cpp | 2 +- src/murmur/PBKDF2.h | 2 +- src/murmur/RPC.cpp | 2 +- src/murmur/Register.cpp | 2 +- src/murmur/Server.cpp | 2 +- src/murmur/Server.h | 2 +- src/murmur/ServerDB.cpp | 2 +- src/murmur/ServerDB.h | 2 +- src/murmur/ServerUser.cpp | 2 +- src/murmur/ServerUser.h | 2 +- src/murmur/Tray.cpp | 2 +- src/murmur/Tray.h | 2 +- src/murmur/UnixMurmur.cpp | 2 +- src/murmur/UnixMurmur.h | 2 +- src/murmur/Zeroconf.cpp | 2 +- src/murmur/Zeroconf.h | 2 +- src/murmur/main.cpp | 2 +- src/murmur/murmur_pch.h | 2 +- src/murmur_grpcwrapper_protoc_plugin/main.cpp | 2 +- src/tests/Benchmark.cpp | 5 + src/tests/Collections.cpp | 5 + src/tests/Emit.cpp | 5 + src/tests/Hash.cpp | 5 + src/tests/Lock.cpp | 5 + src/tests/OverlayTest.cpp | 5 + src/tests/ProtoBuf.cpp | 5 + src/tests/ProtoBuf.proto | 5 + src/tests/Resample.cpp | 5 + src/tests/TestCrypt/TestCrypt.cpp | 2 +- .../TestCryptographicHash.cpp | 2 +- .../TestCryptographicRandom.cpp | 2 +- src/tests/TestFFDHE/TestFFDHE.cpp | 2 +- src/tests/TestLink.cpp | 5 + .../TestPacketDataStream.cpp | 2 +- .../TestPasswordGenerator.cpp | 2 +- src/tests/TestSSLLocks/TestSSLLocks.cpp | 2 +- .../TestSelfSignedCertificate.cpp | 2 +- .../TestServerAddress/TestServerAddress.cpp | 2 +- .../TestServerResolver/TestServerResolver.cpp | 2 +- src/tests/TestStdAbs/TestStdAbs.cpp | 2 +- src/tests/TestTimer/TestTimer.cpp | 2 +- .../TestUnresolvedServerAddress.cpp | 2 +- src/tests/TestXMLTools/TestXMLTools.cpp | 2 +- src/win.h | 2 +- 545 files changed, 2530 insertions(+), 2325 deletions(-) diff --git a/.ci/azure-pipelines/assertNoTranslationChanges.sh b/.ci/azure-pipelines/assertNoTranslationChanges.sh index 32608d498..171da997a 100755 --- a/.ci/azure-pipelines/assertNoTranslationChanges.sh +++ b/.ci/azure-pipelines/assertNoTranslationChanges.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/checkDocs.bash b/.ci/azure-pipelines/checkDocs.bash index 212c6123c..2fe8bc125 100755 --- a/.ci/azure-pipelines/checkDocs.bash +++ b/.ci/azure-pipelines/checkDocs.bash @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/extractWithProgress.bash b/.ci/azure-pipelines/extractWithProgress.bash index f6c8e7534..aee9f6d8c 100755 --- a/.ci/azure-pipelines/extractWithProgress.bash +++ b/.ci/azure-pipelines/extractWithProgress.bash @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/install-environment_linux.bash b/.ci/azure-pipelines/install-environment_linux.bash index c5b7face2..ee634a8d5 100755 --- a/.ci/azure-pipelines/install-environment_linux.bash +++ b/.ci/azure-pipelines/install-environment_linux.bash @@ -1,6 +1,6 @@ #!/bin/bash -ex # -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2019-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/install-environment_linux_translations.bash b/.ci/azure-pipelines/install-environment_linux_translations.bash index bcd162cb5..1e20cd7a7 100755 --- a/.ci/azure-pipelines/install-environment_linux_translations.bash +++ b/.ci/azure-pipelines/install-environment_linux_translations.bash @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2009-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/install-environment_macos.bash b/.ci/azure-pipelines/install-environment_macos.bash index a1762ca7a..5a31d0f0b 100755 --- a/.ci/azure-pipelines/install-environment_macos.bash +++ b/.ci/azure-pipelines/install-environment_macos.bash @@ -1,6 +1,6 @@ #!/bin/bash -ex # -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2009-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/install-environment_windows.ps1 b/.ci/azure-pipelines/install-environment_windows.ps1 index 715027c25..a4d0a8ada 100644 --- a/.ci/azure-pipelines/install-environment_windows.ps1 +++ b/.ci/azure-pipelines/install-environment_windows.ps1 @@ -1,4 +1,4 @@ -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/main-pr.yml b/.ci/azure-pipelines/main-pr.yml index df07d2596..715f89b1f 100644 --- a/.ci/azure-pipelines/main-pr.yml +++ b/.ci/azure-pipelines/main-pr.yml @@ -1,3 +1,8 @@ +# Copyright 2019-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + variables: MUMBLE_ENVIRONMENT_STORE: '$(Agent.ToolsDirectory)/MumbleBuild' MUMBLE_ENVIRONMENT_SOURCE: 'https://dl.mumble.info/build/vcpkg' diff --git a/.ci/azure-pipelines/main.yml b/.ci/azure-pipelines/main.yml index 780f3ec96..f54926e55 100644 --- a/.ci/azure-pipelines/main.yml +++ b/.ci/azure-pipelines/main.yml @@ -1,3 +1,8 @@ +# Copyright 2019-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + variables: MUMBLE_ENVIRONMENT_STORE: '$(Agent.ToolsDirectory)/MumbleBuild' MUMBLE_ENVIRONMENT_SOURCE: 'https://dl.mumble.info/build/vcpkg' diff --git a/.ci/azure-pipelines/package_AppImage.bash b/.ci/azure-pipelines/package_AppImage.bash index 3e5640859..d7ece9bdd 100755 --- a/.ci/azure-pipelines/package_AppImage.bash +++ b/.ci/azure-pipelines/package_AppImage.bash @@ -1,6 +1,6 @@ #!/bin/bash -ex # -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2019-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/azure-pipelines/steps_linux.yml b/.ci/azure-pipelines/steps_linux.yml index a9b615bf8..3188a77a2 100644 --- a/.ci/azure-pipelines/steps_linux.yml +++ b/.ci/azure-pipelines/steps_linux.yml @@ -1,3 +1,8 @@ +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + steps: - script: git submodule --quiet update --init --recursive displayName: 'Fetch submodules' diff --git a/.ci/azure-pipelines/steps_macos.yml b/.ci/azure-pipelines/steps_macos.yml index 2e31cdb28..75c53c70e 100644 --- a/.ci/azure-pipelines/steps_macos.yml +++ b/.ci/azure-pipelines/steps_macos.yml @@ -1,3 +1,8 @@ +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + parameters: - name: installEnvironment type: boolean diff --git a/.ci/azure-pipelines/steps_windows.yml b/.ci/azure-pipelines/steps_windows.yml index ccb5bf33c..2547867a7 100644 --- a/.ci/azure-pipelines/steps_windows.yml +++ b/.ci/azure-pipelines/steps_windows.yml @@ -1,3 +1,8 @@ +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + steps: - script: git submodule --quiet update --init --recursive displayName: 'Fetch submodules' diff --git a/.ci/azure-pipelines/task-environment-cache.yml b/.ci/azure-pipelines/task-environment-cache.yml index f79dc2bc2..40efd47a4 100644 --- a/.ci/azure-pipelines/task-environment-cache.yml +++ b/.ci/azure-pipelines/task-environment-cache.yml @@ -1,3 +1,8 @@ +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + steps: - task: Cache@2 inputs: diff --git a/.ci/azure-pipelines/task-publish-artifacts.yml b/.ci/azure-pipelines/task-publish-artifacts.yml index d6a0bf22e..6e1af7987 100644 --- a/.ci/azure-pipelines/task-publish-artifacts.yml +++ b/.ci/azure-pipelines/task-publish-artifacts.yml @@ -1,3 +1,8 @@ +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + parameters: - name: name type: string diff --git a/.ci/travis-ci/before_install.bash b/.ci/travis-ci/before_install.bash index 5ea851c0e..0a48c798b 100755 --- a/.ci/travis-ci/before_install.bash +++ b/.ci/travis-ci/before_install.bash @@ -1,6 +1,6 @@ #!/bin/bash -ex # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2017-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.ci/travis-ci/script.bash b/.ci/travis-ci/script.bash index 82be9ad27..66efc716a 100755 --- a/.ci/travis-ci/script.bash +++ b/.ci/travis-ci/script.bash @@ -1,6 +1,6 @@ #!/bin/bash -ex # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2017-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/.cirrus.yml b/.cirrus.yml index b55990f38..5fc851fd2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,3 +1,7 @@ +# Copyright 2019-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . freebsd_instance: image: freebsd-12-2-release-amd64 diff --git a/LICENSE b/LICENSE index 8554541e0..ab79a35fc 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2005-2020 The Mumble Developers +Copyright (C) 2005-2021 The Mumble Developers A list of The Mumble Developers can be found in the AUTHORS file at the root of the Mumble source tree diff --git a/cmake/FindModules/FindGRPC.cmake b/cmake/FindModules/FindGRPC.cmake index f9ea5299c..70b01ee61 100644 --- a/cmake/FindModules/FindGRPC.cmake +++ b/cmake/FindModules/FindGRPC.cmake @@ -1,3 +1,8 @@ +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # https://github.com/IvanSafonov/grpc-cmake-example # MIT License diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index cf74553f7..4e27ff373 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -1,4 +1,4 @@ -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/cmake/install-library.cmake b/cmake/install-library.cmake index 8a57de7b8..f29e849b2 100644 --- a/cmake/install-library.cmake +++ b/cmake/install-library.cmake @@ -1,4 +1,4 @@ -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/cmake/install-paths.cmake b/cmake/install-paths.cmake index 32d08a5b9..95b9311fa 100644 --- a/cmake/install-paths.cmake +++ b/cmake/install-paths.cmake @@ -1,4 +1,4 @@ -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/cmake/os.cmake b/cmake/os.cmake index d051ff86c..46b46abe0 100644 --- a/cmake/os.cmake +++ b/cmake/os.cmake @@ -1,4 +1,4 @@ -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/cmake/pkg-utils.cmake b/cmake/pkg-utils.cmake index 6676e12e6..48391677d 100644 --- a/cmake/pkg-utils.cmake +++ b/cmake/pkg-utils.cmake @@ -1,4 +1,4 @@ -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/cmake/project-utils.cmake b/cmake/project-utils.cmake index 8e1213264..2c87f42b0 100644 --- a/cmake/project-utils.cmake +++ b/cmake/project-utils.cmake @@ -1,4 +1,4 @@ -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/cmake/qt-utils.cmake b/cmake/qt-utils.cmake index 6b810959d..794cb8bdc 100644 --- a/cmake/qt-utils.cmake +++ b/cmake/qt-utils.cmake @@ -1,4 +1,4 @@ -# Copyright 2019-2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/g15helper/g15helper.c b/g15helper/g15helper.c index 332d4902f..f69a47370 100644 --- a/g15helper/g15helper.c +++ b/g15helper/g15helper.c @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/g15helper/g15helper.h b/g15helper/g15helper.h index 9c3f6ab72..85ef1e57c 100644 --- a/g15helper/g15helper.h +++ b/g15helper/g15helper.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/g15helper/g15helper_emu.cpp b/g15helper/g15helper_emu.cpp index 0f459c014..028a3eedf 100644 --- a/g15helper/g15helper_emu.cpp +++ b/g15helper/g15helper_emu.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/g15helper/g15helper_emu.h b/g15helper/g15helper_emu.h index 73a76d866..556298fc3 100644 --- a/g15helper/g15helper_emu.h +++ b/g15helper/g15helper_emu.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/g15helper/g15helper_macx.c b/g15helper/g15helper_macx.c index 56951f27d..9b347823f 100644 --- a/g15helper/g15helper_macx.c +++ b/g15helper/g15helper_macx.c @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/helpers/vcpkg/ports/zeroc-ice/portfile.cmake b/helpers/vcpkg/ports/zeroc-ice/portfile.cmake index 9062aaa80..786b351f0 100644 --- a/helpers/vcpkg/ports/zeroc-ice/portfile.cmake +++ b/helpers/vcpkg/ports/zeroc-ice/portfile.cmake @@ -1,55 +1,60 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO mumble-voip/ice - REF 3.7 - SHA512 12cebb53ad1a9271e7db8c12df5f2db9f8cbaec97b562596c4c592bd2449177b6927156100166b432b7e27b13f0d202155748691fd1e848eb6db815f16bcc57f -) - -if("cpp11" IN_LIST FEATURES) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_ICE_CXX=ON - -DBUILD_ICE_CPP11=ON - ) -else() - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_ICE_CXX=ON - ) -endif() - -vcpkg_install_cmake() - -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/cpp/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${SOURCE_PATH}/slice DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/include - DESTINATION ${CURRENT_PACKAGES_DIR} -) - -if(EXISTS ${CURRENT_PACKAGES_DIR}/bin) - file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/Ice) -endif() - -file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/icebuilder/bin/ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/Ice) - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/Ice) - -if(UNIX) - vcpkg_execute_required_process(COMMAND chmod -R +x Ice - WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools - LOGNAME ice-${TARGET_TRIPLET}-setexe - ) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/ICE_LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mumble-voip/ice + REF 3.7 + SHA512 12cebb53ad1a9271e7db8c12df5f2db9f8cbaec97b562596c4c592bd2449177b6927156100166b432b7e27b13f0d202155748691fd1e848eb6db815f16bcc57f +) + +if("cpp11" IN_LIST FEATURES) + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_ICE_CXX=ON + -DBUILD_ICE_CPP11=ON + ) +else() + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_ICE_CXX=ON + ) +endif() + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/cpp/include DESTINATION ${CURRENT_PACKAGES_DIR}) +file(INSTALL ${SOURCE_PATH}/slice DESTINATION ${CURRENT_PACKAGES_DIR}) +file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/include + DESTINATION ${CURRENT_PACKAGES_DIR} +) + +if(EXISTS ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/Ice) +endif() + +file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/icebuilder/bin/ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/Ice) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/Ice) + +if(UNIX) + vcpkg_execute_required_process(COMMAND chmod -R +x Ice + WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools + LOGNAME ice-${TARGET_TRIPLET}-setexe + ) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/ICE_LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/installer/ClientInstaller.cs b/installer/ClientInstaller.cs index c07d4dfb7..5ae7cb4f2 100644 --- a/installer/ClientInstaller.cs +++ b/installer/ClientInstaller.cs @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/installer/MumbleInstall.cs b/installer/MumbleInstall.cs index 2e58233a8..0d95dc226 100644 --- a/installer/MumbleInstall.cs +++ b/installer/MumbleInstall.cs @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/installer/ServerInstaller.cs b/installer/ServerInstaller.cs index d0def2c6b..f30170055 100644 --- a/installer/ServerInstaller.cs +++ b/installer/ServerInstaller.cs @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/macx/osax/osax.m b/macx/osax/osax.m index 5ed6c3001..d755a94fd 100644 --- a/macx/osax/osax.m +++ b/macx/osax/osax.m @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/macx/scripts/gendmg.pl b/macx/scripts/gendmg.pl index e34ea22a3..b2fbc3bea 100755 --- a/macx/scripts/gendmg.pl +++ b/macx/scripts/gendmg.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2009-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/macx/scripts/osxdist.py b/macx/scripts/osxdist.py index 21ccc14a5..03f679abd 100755 --- a/macx/scripts/osxdist.py +++ b/macx/scripts/osxdist.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2008-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/overlay/D11StateBlock.cpp b/overlay/D11StateBlock.cpp index f1acb91e4..21355ba53 100644 --- a/overlay/D11StateBlock.cpp +++ b/overlay/D11StateBlock.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/D11StateBlock.h b/overlay/D11StateBlock.h index b1a59cf52..89c31956a 100644 --- a/overlay/D11StateBlock.h +++ b/overlay/D11StateBlock.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/HardHook.cpp b/overlay/HardHook.cpp index 6c14ae611..0c9c8ead5 100644 --- a/overlay/HardHook.cpp +++ b/overlay/HardHook.cpp @@ -1,10 +1,10 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifdef USE_MINHOOK -# include "HardHook_minhook.cpp" -#else -# include "HardHook_x86.cpp" -#endif +// Copyright 2010-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifdef USE_MINHOOK +# include "HardHook_minhook.cpp" +#else +# include "HardHook_x86.cpp" +#endif diff --git a/overlay/HardHook.h b/overlay/HardHook.h index 9a18cb9ef..539c8e8cc 100644 --- a/overlay/HardHook.h +++ b/overlay/HardHook.h @@ -1,15 +1,15 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_HARDHOOK_H_ -#define MUMBLE_HARDHOOK_H_ - -#ifdef USE_MINHOOK -# include "HardHook_minhook.h" -#else -# include "HardHook_x86.h" -#endif - -#endif +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_HARDHOOK_H_ +#define MUMBLE_HARDHOOK_H_ + +#ifdef USE_MINHOOK +# include "HardHook_minhook.h" +#else +# include "HardHook_x86.h" +#endif + +#endif diff --git a/overlay/HardHook_minhook.cpp b/overlay/HardHook_minhook.cpp index 1b9b52d68..6c8405fd1 100644 --- a/overlay/HardHook_minhook.cpp +++ b/overlay/HardHook_minhook.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/HardHook_minhook.h b/overlay/HardHook_minhook.h index 105940976..2145293d2 100644 --- a/overlay/HardHook_minhook.h +++ b/overlay/HardHook_minhook.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/HardHook_x86.cpp b/overlay/HardHook_x86.cpp index 79cc469eb..2dee21a67 100644 --- a/overlay/HardHook_x86.cpp +++ b/overlay/HardHook_x86.cpp @@ -1,379 +1,379 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#include "HardHook.h" -#include "ods.h" - -void *HardHook::pCode = nullptr; -unsigned int HardHook::uiCode = 0; - -const int HardHook::CODEREPLACESIZE = 6; -const int HardHook::CODEPROTECTSIZE = 16; - -/** - * @brief Constructs a new hook without actually injecting. - */ -HardHook::HardHook() : bTrampoline(false), call(0), baseptr(nullptr) { - for (int i = 0; i < CODEREPLACESIZE; ++i) { - orig[i] = replace[i] = 0; - } - - // assert(CODEREPLACESIZE == sizeof(orig) / sizeof(orig[0])); - // assert(CODEREPLACESIZE == sizeof(replace) / sizeof(replace[0])); -} - -/** - * @brief Constructs a new hook by injecting given replacement function into func. - * @see HardHook::setup - * @param func Funktion to inject replacement into. - * @param replacement Function to inject into func. - */ -HardHook::HardHook(voidFunc func, voidFunc replacement) : bTrampoline(false), call(0), baseptr(nullptr) { - for (int i = 0; i < CODEREPLACESIZE; ++i) - orig[i] = replace[i] = 0; - setup(func, replacement); -} - -/** - * @return Number of extra bytes. - */ -static unsigned int modrmbytes(unsigned char a, unsigned char b) { - unsigned char lower = (a & 0x0f); - if (a >= 0xc0) { - return 0; - } else if (a >= 0x80) { - if ((lower == 4) || (lower == 12)) - return 5; - else - return 4; - } else if (a >= 0x40) { - if ((lower == 4) || (lower == 12)) - return 2; - else - return 1; - - } else { - if ((lower == 4) || (lower == 12)) { - if ((b & 0x07) == 0x05) - return 5; - else - return 1; - } else if ((lower == 5) || (lower == 13)) - return 4; - return 0; - } -} - -/** - * @brief Tries to construct a trampoline from original code. - * - * A trampoline is the replacement code that features the original code plus - * a jump back to the original instructions that follow. - * It is called to execute the original behavior. As it is a replacement for - * the original, the original can then be overwritten. - * The size of the trampoline is at least CODEREPLACESIZE. Thus, CODEREPLACESIZE - * bytes of the original code can afterwards be overwritten (and the trampoline - * called after those instructions for the original logic). - * CODEREPLACESIZE has to be smaller than CODEPROTECTSIZE. - * - * As commands must not be destroyed they have to be disassembled to get their length. - * All encountered commands will be part of the trampoline and stored in pCode (shared - * for all trampolines). - * - * If code is encountered that can not be moved into the trampoline (conditionals etc.) - * construction fails and nullptr is returned. If enough commands can be saved the - * trampoline is finalized by appending a jump back to the original code. The return value - * in this case will be the address of the newly constructed trampoline. - * - * pCode + offset to trampoline: - * [SAVED CODE FROM ORIGINAL which is >= CODEREPLACESIZE bytes][JUMP BACK TO ORIGINAL CODE] - * - * @param porig Original code - * @return Pointer to trampoline on success. nullptr if trampoline construction failed. - */ -void *HardHook::cloneCode(void **porig) { - if (!pCode || uiCode > 4000) { - pCode = VirtualAlloc(nullptr, 4096, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); - uiCode = 0; - } - // If we have no memory to clone to, return. - if (!pCode) { - return nullptr; - } - - unsigned char *o = (unsigned char *) *porig; - - DWORD origProtect; - if (!VirtualProtect(o, CODEPROTECTSIZE, PAGE_EXECUTE_READ, &origProtect)) { - fods("HardHook: CloneCode failed; failed to make original code read and executable"); - return nullptr; - } - - // Follow relative jumps to next instruction. On execution it doesn't make - // a difference if we actually perform all the jumps or directly jump to the - // end of the chain. Hence these jumps need not be part of the trampoline. - while (*o == 0xe9) { // JMP - unsigned char *tmp = o; - int *iptr = reinterpret_cast< int * >(o + 1); - o += *iptr + 5; - - fods("HardHook: CloneCode: Skipping jump from %p to %p", *porig, o); - *porig = o; - - // Assume jump took us out of our read enabled zone, get rights for the new one - DWORD tempProtect; - VirtualProtect(tmp, CODEPROTECTSIZE, origProtect, &tempProtect); - if (!VirtualProtect(o, CODEPROTECTSIZE, PAGE_EXECUTE_READ, &origProtect)) { - fods("HardHook: CloneCode failed; failed to make jump target code read and executable"); - return nullptr; - } - } - - unsigned char *n = (unsigned char *) pCode; - n += uiCode; - unsigned int idx = 0; - - do { - unsigned char opcode = o[idx]; - unsigned char a = o[idx + 1]; - unsigned char b = o[idx + 2]; - unsigned int extra = 0; - - switch (opcode) { - case 0x50: // PUSH - case 0x51: - case 0x52: - case 0x53: - case 0x54: - case 0x55: - case 0x56: - case 0x57: - case 0x58: // POP - case 0x59: - case 0x5a: - case 0x5b: - case 0x5c: - case 0x5d: - case 0x5e: - case 0x5f: - break; - case 0x6a: // PUSH immediate - extra = 1; - break; - case 0x68: // PUSH immediate - extra = 4; - break; - case 0x81: // CMP immediate - extra = modrmbytes(a, b) + 5; - break; - case 0x83: // CMP - extra = modrmbytes(a, b) + 2; - break; - case 0x8b: // MOV - extra = modrmbytes(a, b) + 1; - break; - default: { - int rmop = ((a >> 3) & 7); - if (opcode == 0xff && rmop == 6) { // PUSH memory - extra = modrmbytes(a, b) + 1; - break; - } - - fods("HardHook: CloneCode failed; Unknown opcode %02x at %d: %02x %02x %02x %02x %02x %02x %02x %02x " - "%02x %02x %02x %02x", - opcode, idx, o[0], o[1], o[2], o[3], o[4], o[5], o[6], o[7], o[8], o[9], o[10], o[11]); - DWORD tempProtect; - VirtualProtect(o, CODEPROTECTSIZE, origProtect, &tempProtect); - return nullptr; - break; - } - } - - n[idx] = opcode; - ++idx; - - for (unsigned int i = 0; i < extra; ++i) - n[idx + i] = o[idx + i]; - idx += extra; - - } while (idx < CODEREPLACESIZE); - - DWORD tempProtect; - VirtualProtect(o, CODEPROTECTSIZE, origProtect, &tempProtect); - - // Add a relative jmp back to the original code, to after the copied code - n[idx++] = 0xe9; - int *iptr = reinterpret_cast< int * >(&n[idx]); - const int JMP_OP_SIZE = 5; - int offs = o - n - JMP_OP_SIZE; - *iptr = offs; - idx += 4; - - uiCode += idx; - - FlushInstructionCache(GetCurrentProcess(), n, idx); - - fods("HardHook: trampoline creation successful at %p", n); - - return n; -} - -/** - * @brief Makes sure the given replacement function is run once func is called. - * - * Tries to construct a trampoline for the given function (@see HardHook::cloneCode) - * and then injects replacement function calling code into the first 6 bytes of the - * original function (@see HardHook::inject). - * - * @param func Pointer to function to redirect. - * @param replacement Pointer to code to redirect to. - */ -void HardHook::setup(voidFunc func, voidFunc replacement) { - if (baseptr) - return; - - fods("HardHook: Setup: Asked to replace %p with %p", func, replacement); - - unsigned char *fptr = reinterpret_cast< unsigned char * >(func); - unsigned char *nptr = reinterpret_cast< unsigned char * >(replacement); - - call = (voidFunc) cloneCode((void **) &fptr); - - if (call) { - bTrampoline = true; - } else { - // Could not create a trampoline. Use alternative method instead. - // This alternative method is dependant on the replacement code - // restoring before calling the original. Otherwise we get a jump recursion - bTrampoline = false; - call = func; - } - - DWORD origProtect; - if (VirtualProtect(fptr, CODEPROTECTSIZE, PAGE_EXECUTE_READ, &origProtect)) { - replace[0] = 0x68; // PUSH immediate 1 Byte - unsigned char **iptr = reinterpret_cast< unsigned char ** >(&replace[1]); - *iptr = nptr; // (imm. value = nptr) 4 Byte - replace[5] = 0xc3; // RETN 1 Byte - - // Save original 6 bytes at start of original function - for (int i = 0; i < CODEREPLACESIZE; ++i) - orig[i] = fptr[i]; - - baseptr = fptr; - - inject(true); - - DWORD tempProtect; - VirtualProtect(fptr, CODEPROTECTSIZE, origProtect, &tempProtect); - } else { - fods("HardHook: setup failed; failed to make original code read and executable"); - } -} - -void HardHook::setupInterface(IUnknown *unkn, LONG funcoffset, voidFunc replacement) { - fods("HardHook: setupInterface: Replacing %p function #%ld", unkn, funcoffset); - void **ptr = reinterpret_cast< void ** >(unkn); - ptr = reinterpret_cast< void ** >(ptr[0]); - setup(reinterpret_cast< voidFunc >(ptr[funcoffset]), replacement); -} - -void HardHook::reset() { - baseptr = 0; - bTrampoline = false; - call = nullptr; - for (int i = 0; i < CODEREPLACESIZE; ++i) { - orig[i] = replace[i] = 0; - } -} - -/** - * @brief Injects redirection code into the target function. - * - * Replaces the first 6 Bytes of the function indicated by baseptr - * with the replacement code previously generated (usually a jump - * to mumble code). If a trampoline is available this injection is not needed - * as control flow was already permanently redirected by HardHook::setup . - * - * @param force Perform injection even when trampoline is available. - */ -void HardHook::inject(bool force) { - if (!baseptr) - return; - if (!force && bTrampoline) - return; - - DWORD origProtect; - if (VirtualProtect(baseptr, CODEREPLACESIZE, PAGE_EXECUTE_READWRITE, &origProtect)) { - for (int i = 0; i < CODEREPLACESIZE; ++i) { - baseptr[i] = replace[i]; // Replace with jump to new code - } - - DWORD tempProtect; - VirtualProtect(baseptr, CODEREPLACESIZE, origProtect, &tempProtect); - - FlushInstructionCache(GetCurrentProcess(), baseptr, CODEREPLACESIZE); - } - - // Verify that the injection was successful - for (int i = 0; i < CODEREPLACESIZE; ++i) { - if (baseptr[i] != replace[i]) { - fods("HardHook: Injection failure noticed at byte %d", i); - } - } -} - -/** - * @brief Restores the original code in a target function. - * - * Restores the first 6 Bytes of the function indicated by baseptr - * from previously stored original code in orig. If a trampoline is available this - * restoration is not needed as trampoline will correctly restore control - * flow. - * - * @param force If true injection will be reverted even when trampoline is available. - */ -void HardHook::restore(bool force) { - if (!baseptr) - return; - if (!force && bTrampoline) - return; - - DWORD origProtect; - if (VirtualProtect(baseptr, CODEREPLACESIZE, PAGE_EXECUTE_READWRITE, &origProtect)) { - for (int i = 0; i < CODEREPLACESIZE; ++i) - baseptr[i] = orig[i]; - DWORD tempProtect; - VirtualProtect(baseptr, CODEREPLACESIZE, origProtect, &tempProtect); - - FlushInstructionCache(GetCurrentProcess(), baseptr, CODEREPLACESIZE); - } -} - -void HardHook::print() { - fods("HardHook: code replacement: %02x %02x %02x %02x %02x => %02x %02x %02x %02x %02x (currently effective: %02x " - "%02x %02x %02x %02x)", - orig[0], orig[1], orig[2], orig[3], orig[4], replace[0], replace[1], replace[2], replace[3], replace[4], - baseptr[0], baseptr[1], baseptr[2], baseptr[3], baseptr[4]); -} - -/** - * @brief Checks whether injected code is in good shape and injects if not yet injected. - * - * If injected code is not found injection is attempted unless 3rd party overwrote - * original code at injection location. - */ -void HardHook::check() { - if (memcmp(baseptr, replace, CODEREPLACESIZE) != 0) { - // The instructions do not match our replacement instructions - // If they match the original code, inject our hook. - if (memcmp(baseptr, orig, CODEREPLACESIZE) == 0) { - fods("HardHook: Reinjecting hook into function %p", baseptr); - inject(true); - } else { - fods("HardHook: Function %p replaced by third party. Lost injected hook."); - } - } -} +// Copyright 2010-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "HardHook.h" +#include "ods.h" + +void *HardHook::pCode = nullptr; +unsigned int HardHook::uiCode = 0; + +const int HardHook::CODEREPLACESIZE = 6; +const int HardHook::CODEPROTECTSIZE = 16; + +/** + * @brief Constructs a new hook without actually injecting. + */ +HardHook::HardHook() : bTrampoline(false), call(0), baseptr(nullptr) { + for (int i = 0; i < CODEREPLACESIZE; ++i) { + orig[i] = replace[i] = 0; + } + + // assert(CODEREPLACESIZE == sizeof(orig) / sizeof(orig[0])); + // assert(CODEREPLACESIZE == sizeof(replace) / sizeof(replace[0])); +} + +/** + * @brief Constructs a new hook by injecting given replacement function into func. + * @see HardHook::setup + * @param func Funktion to inject replacement into. + * @param replacement Function to inject into func. + */ +HardHook::HardHook(voidFunc func, voidFunc replacement) : bTrampoline(false), call(0), baseptr(nullptr) { + for (int i = 0; i < CODEREPLACESIZE; ++i) + orig[i] = replace[i] = 0; + setup(func, replacement); +} + +/** + * @return Number of extra bytes. + */ +static unsigned int modrmbytes(unsigned char a, unsigned char b) { + unsigned char lower = (a & 0x0f); + if (a >= 0xc0) { + return 0; + } else if (a >= 0x80) { + if ((lower == 4) || (lower == 12)) + return 5; + else + return 4; + } else if (a >= 0x40) { + if ((lower == 4) || (lower == 12)) + return 2; + else + return 1; + + } else { + if ((lower == 4) || (lower == 12)) { + if ((b & 0x07) == 0x05) + return 5; + else + return 1; + } else if ((lower == 5) || (lower == 13)) + return 4; + return 0; + } +} + +/** + * @brief Tries to construct a trampoline from original code. + * + * A trampoline is the replacement code that features the original code plus + * a jump back to the original instructions that follow. + * It is called to execute the original behavior. As it is a replacement for + * the original, the original can then be overwritten. + * The size of the trampoline is at least CODEREPLACESIZE. Thus, CODEREPLACESIZE + * bytes of the original code can afterwards be overwritten (and the trampoline + * called after those instructions for the original logic). + * CODEREPLACESIZE has to be smaller than CODEPROTECTSIZE. + * + * As commands must not be destroyed they have to be disassembled to get their length. + * All encountered commands will be part of the trampoline and stored in pCode (shared + * for all trampolines). + * + * If code is encountered that can not be moved into the trampoline (conditionals etc.) + * construction fails and nullptr is returned. If enough commands can be saved the + * trampoline is finalized by appending a jump back to the original code. The return value + * in this case will be the address of the newly constructed trampoline. + * + * pCode + offset to trampoline: + * [SAVED CODE FROM ORIGINAL which is >= CODEREPLACESIZE bytes][JUMP BACK TO ORIGINAL CODE] + * + * @param porig Original code + * @return Pointer to trampoline on success. nullptr if trampoline construction failed. + */ +void *HardHook::cloneCode(void **porig) { + if (!pCode || uiCode > 4000) { + pCode = VirtualAlloc(nullptr, 4096, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); + uiCode = 0; + } + // If we have no memory to clone to, return. + if (!pCode) { + return nullptr; + } + + unsigned char *o = (unsigned char *) *porig; + + DWORD origProtect; + if (!VirtualProtect(o, CODEPROTECTSIZE, PAGE_EXECUTE_READ, &origProtect)) { + fods("HardHook: CloneCode failed; failed to make original code read and executable"); + return nullptr; + } + + // Follow relative jumps to next instruction. On execution it doesn't make + // a difference if we actually perform all the jumps or directly jump to the + // end of the chain. Hence these jumps need not be part of the trampoline. + while (*o == 0xe9) { // JMP + unsigned char *tmp = o; + int *iptr = reinterpret_cast< int * >(o + 1); + o += *iptr + 5; + + fods("HardHook: CloneCode: Skipping jump from %p to %p", *porig, o); + *porig = o; + + // Assume jump took us out of our read enabled zone, get rights for the new one + DWORD tempProtect; + VirtualProtect(tmp, CODEPROTECTSIZE, origProtect, &tempProtect); + if (!VirtualProtect(o, CODEPROTECTSIZE, PAGE_EXECUTE_READ, &origProtect)) { + fods("HardHook: CloneCode failed; failed to make jump target code read and executable"); + return nullptr; + } + } + + unsigned char *n = (unsigned char *) pCode; + n += uiCode; + unsigned int idx = 0; + + do { + unsigned char opcode = o[idx]; + unsigned char a = o[idx + 1]; + unsigned char b = o[idx + 2]; + unsigned int extra = 0; + + switch (opcode) { + case 0x50: // PUSH + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: // POP + case 0x59: + case 0x5a: + case 0x5b: + case 0x5c: + case 0x5d: + case 0x5e: + case 0x5f: + break; + case 0x6a: // PUSH immediate + extra = 1; + break; + case 0x68: // PUSH immediate + extra = 4; + break; + case 0x81: // CMP immediate + extra = modrmbytes(a, b) + 5; + break; + case 0x83: // CMP + extra = modrmbytes(a, b) + 2; + break; + case 0x8b: // MOV + extra = modrmbytes(a, b) + 1; + break; + default: { + int rmop = ((a >> 3) & 7); + if (opcode == 0xff && rmop == 6) { // PUSH memory + extra = modrmbytes(a, b) + 1; + break; + } + + fods("HardHook: CloneCode failed; Unknown opcode %02x at %d: %02x %02x %02x %02x %02x %02x %02x %02x " + "%02x %02x %02x %02x", + opcode, idx, o[0], o[1], o[2], o[3], o[4], o[5], o[6], o[7], o[8], o[9], o[10], o[11]); + DWORD tempProtect; + VirtualProtect(o, CODEPROTECTSIZE, origProtect, &tempProtect); + return nullptr; + break; + } + } + + n[idx] = opcode; + ++idx; + + for (unsigned int i = 0; i < extra; ++i) + n[idx + i] = o[idx + i]; + idx += extra; + + } while (idx < CODEREPLACESIZE); + + DWORD tempProtect; + VirtualProtect(o, CODEPROTECTSIZE, origProtect, &tempProtect); + + // Add a relative jmp back to the original code, to after the copied code + n[idx++] = 0xe9; + int *iptr = reinterpret_cast< int * >(&n[idx]); + const int JMP_OP_SIZE = 5; + int offs = o - n - JMP_OP_SIZE; + *iptr = offs; + idx += 4; + + uiCode += idx; + + FlushInstructionCache(GetCurrentProcess(), n, idx); + + fods("HardHook: trampoline creation successful at %p", n); + + return n; +} + +/** + * @brief Makes sure the given replacement function is run once func is called. + * + * Tries to construct a trampoline for the given function (@see HardHook::cloneCode) + * and then injects replacement function calling code into the first 6 bytes of the + * original function (@see HardHook::inject). + * + * @param func Pointer to function to redirect. + * @param replacement Pointer to code to redirect to. + */ +void HardHook::setup(voidFunc func, voidFunc replacement) { + if (baseptr) + return; + + fods("HardHook: Setup: Asked to replace %p with %p", func, replacement); + + unsigned char *fptr = reinterpret_cast< unsigned char * >(func); + unsigned char *nptr = reinterpret_cast< unsigned char * >(replacement); + + call = (voidFunc) cloneCode((void **) &fptr); + + if (call) { + bTrampoline = true; + } else { + // Could not create a trampoline. Use alternative method instead. + // This alternative method is dependant on the replacement code + // restoring before calling the original. Otherwise we get a jump recursion + bTrampoline = false; + call = func; + } + + DWORD origProtect; + if (VirtualProtect(fptr, CODEPROTECTSIZE, PAGE_EXECUTE_READ, &origProtect)) { + replace[0] = 0x68; // PUSH immediate 1 Byte + unsigned char **iptr = reinterpret_cast< unsigned char ** >(&replace[1]); + *iptr = nptr; // (imm. value = nptr) 4 Byte + replace[5] = 0xc3; // RETN 1 Byte + + // Save original 6 bytes at start of original function + for (int i = 0; i < CODEREPLACESIZE; ++i) + orig[i] = fptr[i]; + + baseptr = fptr; + + inject(true); + + DWORD tempProtect; + VirtualProtect(fptr, CODEPROTECTSIZE, origProtect, &tempProtect); + } else { + fods("HardHook: setup failed; failed to make original code read and executable"); + } +} + +void HardHook::setupInterface(IUnknown *unkn, LONG funcoffset, voidFunc replacement) { + fods("HardHook: setupInterface: Replacing %p function #%ld", unkn, funcoffset); + void **ptr = reinterpret_cast< void ** >(unkn); + ptr = reinterpret_cast< void ** >(ptr[0]); + setup(reinterpret_cast< voidFunc >(ptr[funcoffset]), replacement); +} + +void HardHook::reset() { + baseptr = 0; + bTrampoline = false; + call = nullptr; + for (int i = 0; i < CODEREPLACESIZE; ++i) { + orig[i] = replace[i] = 0; + } +} + +/** + * @brief Injects redirection code into the target function. + * + * Replaces the first 6 Bytes of the function indicated by baseptr + * with the replacement code previously generated (usually a jump + * to mumble code). If a trampoline is available this injection is not needed + * as control flow was already permanently redirected by HardHook::setup . + * + * @param force Perform injection even when trampoline is available. + */ +void HardHook::inject(bool force) { + if (!baseptr) + return; + if (!force && bTrampoline) + return; + + DWORD origProtect; + if (VirtualProtect(baseptr, CODEREPLACESIZE, PAGE_EXECUTE_READWRITE, &origProtect)) { + for (int i = 0; i < CODEREPLACESIZE; ++i) { + baseptr[i] = replace[i]; // Replace with jump to new code + } + + DWORD tempProtect; + VirtualProtect(baseptr, CODEREPLACESIZE, origProtect, &tempProtect); + + FlushInstructionCache(GetCurrentProcess(), baseptr, CODEREPLACESIZE); + } + + // Verify that the injection was successful + for (int i = 0; i < CODEREPLACESIZE; ++i) { + if (baseptr[i] != replace[i]) { + fods("HardHook: Injection failure noticed at byte %d", i); + } + } +} + +/** + * @brief Restores the original code in a target function. + * + * Restores the first 6 Bytes of the function indicated by baseptr + * from previously stored original code in orig. If a trampoline is available this + * restoration is not needed as trampoline will correctly restore control + * flow. + * + * @param force If true injection will be reverted even when trampoline is available. + */ +void HardHook::restore(bool force) { + if (!baseptr) + return; + if (!force && bTrampoline) + return; + + DWORD origProtect; + if (VirtualProtect(baseptr, CODEREPLACESIZE, PAGE_EXECUTE_READWRITE, &origProtect)) { + for (int i = 0; i < CODEREPLACESIZE; ++i) + baseptr[i] = orig[i]; + DWORD tempProtect; + VirtualProtect(baseptr, CODEREPLACESIZE, origProtect, &tempProtect); + + FlushInstructionCache(GetCurrentProcess(), baseptr, CODEREPLACESIZE); + } +} + +void HardHook::print() { + fods("HardHook: code replacement: %02x %02x %02x %02x %02x => %02x %02x %02x %02x %02x (currently effective: %02x " + "%02x %02x %02x %02x)", + orig[0], orig[1], orig[2], orig[3], orig[4], replace[0], replace[1], replace[2], replace[3], replace[4], + baseptr[0], baseptr[1], baseptr[2], baseptr[3], baseptr[4]); +} + +/** + * @brief Checks whether injected code is in good shape and injects if not yet injected. + * + * If injected code is not found injection is attempted unless 3rd party overwrote + * original code at injection location. + */ +void HardHook::check() { + if (memcmp(baseptr, replace, CODEREPLACESIZE) != 0) { + // The instructions do not match our replacement instructions + // If they match the original code, inject our hook. + if (memcmp(baseptr, orig, CODEREPLACESIZE) == 0) { + fods("HardHook: Reinjecting hook into function %p", baseptr); + inject(true); + } else { + fods("HardHook: Function %p replaced by third party. Lost injected hook."); + } + } +} diff --git a/overlay/HardHook_x86.h b/overlay/HardHook_x86.h index 356803e55..7a4c580fa 100644 --- a/overlay/HardHook_x86.h +++ b/overlay/HardHook_x86.h @@ -1,60 +1,60 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_HARDHOOK_X86_H_ -#define MUMBLE_HARDHOOK_X86_H_ - -#define _UNICODE -#ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0501 -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include - -typedef void *(*voidFunc)(); - -struct HardHook { - // Pointer to executable code page that holds all trampoline codes - static void *pCode; - // Number of bytes used in pCode. - static unsigned int uiCode; - - // Pointer to original code (which is hooked/replaced) - unsigned char *baseptr; - // The original instructions that are replaced by the hook - unsigned char orig[6]; - // Hook-Code; Replacement instructions for function call jump - unsigned char replace[6]; - // Remembers whether there is a trampoline in place in the target code or - // whether restore -> call orig. -> replace has to be used for every intercepted call - bool bTrampoline; - // Points to the (rest of the) original function when used from the injected function - voidFunc call; - - HardHook(); - HardHook(voidFunc func, voidFunc replacement); - void setup(voidFunc func, voidFunc replacement); - void setupInterface(IUnknown *intf, LONG funcoffset, voidFunc replacement); - void reset(); - void inject(bool force = false); - void restore(bool force = false); - void print(); - void check(); - -private: - static const int CODEREPLACESIZE; - static const int CODEPROTECTSIZE; - - void *cloneCode(void **orig); -}; - -#endif +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_HARDHOOK_X86_H_ +#define MUMBLE_HARDHOOK_X86_H_ + +#define _UNICODE +#ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0501 +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include + +typedef void *(*voidFunc)(); + +struct HardHook { + // Pointer to executable code page that holds all trampoline codes + static void *pCode; + // Number of bytes used in pCode. + static unsigned int uiCode; + + // Pointer to original code (which is hooked/replaced) + unsigned char *baseptr; + // The original instructions that are replaced by the hook + unsigned char orig[6]; + // Hook-Code; Replacement instructions for function call jump + unsigned char replace[6]; + // Remembers whether there is a trampoline in place in the target code or + // whether restore -> call orig. -> replace has to be used for every intercepted call + bool bTrampoline; + // Points to the (rest of the) original function when used from the injected function + voidFunc call; + + HardHook(); + HardHook(voidFunc func, voidFunc replacement); + void setup(voidFunc func, voidFunc replacement); + void setupInterface(IUnknown *intf, LONG funcoffset, voidFunc replacement); + void reset(); + void inject(bool force = false); + void restore(bool force = false); + void print(); + void check(); + +private: + static const int CODEREPLACESIZE; + static const int CODEPROTECTSIZE; + + void *cloneCode(void **orig); +}; + +#endif diff --git a/overlay/ancestor.cpp b/overlay/ancestor.cpp index a858224ab..083a793f2 100644 --- a/overlay/ancestor.cpp +++ b/overlay/ancestor.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/ancestor.h b/overlay/ancestor.h index a1a387f64..7f69e1919 100644 --- a/overlay/ancestor.h +++ b/overlay/ancestor.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/d3d10.cpp b/overlay/d3d10.cpp index 2c487ecbd..e84a21ad7 100644 --- a/overlay/d3d10.cpp +++ b/overlay/d3d10.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/d3d11.cpp b/overlay/d3d11.cpp index 67cf347b0..158d3e8ef 100644 --- a/overlay/d3d11.cpp +++ b/overlay/d3d11.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/d3d9.cpp b/overlay/d3d9.cpp index f954ef74d..bafc3ac4e 100644 --- a/overlay/d3d9.cpp +++ b/overlay/d3d9.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/dxgi.cpp b/overlay/dxgi.cpp index 3d732c231..3a0ddff21 100644 --- a/overlay/dxgi.cpp +++ b/overlay/dxgi.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2013-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/excludecheck.cpp b/overlay/excludecheck.cpp index 9821641e6..bdacd385d 100644 --- a/overlay/excludecheck.cpp +++ b/overlay/excludecheck.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/excludecheck.h b/overlay/excludecheck.h index 727158fef..8fb796931 100644 --- a/overlay/excludecheck.h +++ b/overlay/excludecheck.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/lib.cpp b/overlay/lib.cpp index 6be0b2fed..d2b8b9d62 100644 --- a/overlay/lib.cpp +++ b/overlay/lib.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/lib.h b/overlay/lib.h index 96ddee91b..0abeca492 100644 --- a/overlay/lib.h +++ b/overlay/lib.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/ods.cpp b/overlay/ods.cpp index 4c7693932..ec4356722 100644 --- a/overlay/ods.cpp +++ b/overlay/ods.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/ods.h b/overlay/ods.h index 8c6880b9c..2497424cf 100644 --- a/overlay/ods.h +++ b/overlay/ods.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/olsettings.cpp b/overlay/olsettings.cpp index 8daef0996..dc7da55b5 100644 --- a/overlay/olsettings.cpp +++ b/overlay/olsettings.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/olsettings.h b/overlay/olsettings.h index a251be8f4..1aeeacb2e 100644 --- a/overlay/olsettings.h +++ b/overlay/olsettings.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/opengl.cpp b/overlay/opengl.cpp index f8645c490..31ec24e54 100644 --- a/overlay/opengl.cpp +++ b/overlay/opengl.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/overlay.fx b/overlay/overlay.fx index d520bb64e..157695c68 100644 --- a/overlay/overlay.fx +++ b/overlay/overlay.fx @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/overlay.h b/overlay/overlay.h index 549619795..0b3676b1d 100644 --- a/overlay/overlay.h +++ b/overlay/overlay.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/overlay11-common.hlsl b/overlay/overlay11-common.hlsl index b9f61440d..723913e26 100644 --- a/overlay/overlay11-common.hlsl +++ b/overlay/overlay11-common.hlsl @@ -1,54 +1,54 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -/* Copyright (C) 2011-2013, Nye Liu - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the Mumble Developers nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -Texture2D txDiffuse; -SamplerState samLinear -{ - Filter = MIN_MAG_MIP_LINEAR; - AddressU = Wrap; - AddressV = Wrap; -}; - -struct VS_INPUT -{ - float4 Pos : POSITION; - float2 Tex : TEXCOORD; -}; - -struct PS_INPUT -{ - float4 Pos : SV_POSITION; - float2 Tex : TEXCOORD0; -}; +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +/* Copyright (C) 2011-2013, Nye Liu + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + - Neither the name of the Mumble Developers nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +Texture2D txDiffuse; +SamplerState samLinear +{ + Filter = MIN_MAG_MIP_LINEAR; + AddressU = Wrap; + AddressV = Wrap; +}; + +struct VS_INPUT +{ + float4 Pos : POSITION; + float2 Tex : TEXCOORD; +}; + +struct PS_INPUT +{ + float4 Pos : SV_POSITION; + float2 Tex : TEXCOORD0; +}; diff --git a/overlay/overlay11.ps b/overlay/overlay11.ps index e758fa964..0c660fd47 100644 --- a/overlay/overlay11.ps +++ b/overlay/overlay11.ps @@ -1,41 +1,41 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -/* Copyright (C) 2011-2013, Nye Liu - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the Mumble Developers nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include "overlay11-common.hlsl" - -float4 main( PS_INPUT input ) : SV_Target -{ - return txDiffuse.Sample(samLinear, input.Tex).bgra; +// Copyright 2010-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +/* Copyright (C) 2011-2013, Nye Liu + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + - Neither the name of the Mumble Developers nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "overlay11-common.hlsl" + +float4 main( PS_INPUT input ) : SV_Target +{ + return txDiffuse.Sample(samLinear, input.Tex).bgra; } \ No newline at end of file diff --git a/overlay/overlay11.vs b/overlay/overlay11.vs index 53de19ca3..b67e0365f 100644 --- a/overlay/overlay11.vs +++ b/overlay/overlay11.vs @@ -1,44 +1,44 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -/* Copyright (C) 2011-2013, Nye Liu - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the Mumble Developers nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include "overlay11-common.hlsl" - -PS_INPUT main( VS_INPUT input ) -{ - PS_INPUT output = (PS_INPUT)0; - output.Pos = input.Pos; - output.Tex = input.Tex; - return output; -} +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +/* Copyright (C) 2011-2013, Nye Liu + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + - Neither the name of the Mumble Developers nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "overlay11-common.hlsl" + +PS_INPUT main( VS_INPUT input ) +{ + PS_INPUT output = (PS_INPUT)0; + output.Pos = input.Pos; + output.Tex = input.Tex; + return output; +} diff --git a/overlay/overlay_blacklist.h b/overlay/overlay_blacklist.h index 32d26ff22..c03ab89f4 100644 --- a/overlay/overlay_blacklist.h +++ b/overlay/overlay_blacklist.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/overlay_exe/overlay_exe.cpp b/overlay/overlay_exe/overlay_exe.cpp index 7bca1c3de..3bbf4f40b 100644 --- a/overlay/overlay_exe/overlay_exe.cpp +++ b/overlay/overlay_exe/overlay_exe.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/overlay_exe/overlay_exe.h b/overlay/overlay_exe/overlay_exe.h index 9799e3149..82ec1b248 100644 --- a/overlay/overlay_exe/overlay_exe.h +++ b/overlay/overlay_exe/overlay_exe.h @@ -1,89 +1,89 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_OVERLAY_EXE_H_ -#define MUMBLE_OVERLAY_EXE_H_ - -#if defined(_M_IX86) -const wchar_t *MUMBLE_OVERLAY_DLL_NAME = L"mumble_ol.dll"; -#elif defined(_M_X64) -const wchar_t *MUMBLE_OVERLAY_DLL_NAME = L"mumble_ol_x64.dll"; -#endif - -/// OverlayHelperError represents exit codes returned by the -/// overlay helper process (mumble_ol_helper.exe) on Windows. -enum OverlayHelperError { - /// The overlay helper process was not passed any - /// arguments. - OVERLAY_HELPER_ERROR_EXE_NO_ARGUMENTS = 0x0F000001, - /// The magic number on the command line of the overlay - /// helper process could not be converted to an integer. - OVERLAY_HELPER_ERROR_EXE_INVALID_MAGIC_ARGUMENT = 0x0F000002, - /// The magic number on the command line of the overlay - /// helper did not match the built-in magic number of - /// the helper process. - OVERLAY_HELPER_ERROR_EXE_MAGIC_MISMATCH = 0x0F000003, - /// The overlay helper process was unable to configure - /// its environment in preparation of loading the - /// overlay DLL. - OVERLAY_HELPER_ERROR_EXE_CONFIGURE_ENVIRONMENT = 0x0F000004, - /// The overlay helper process was unable to get the - /// path to the overlay DLL. - OVERLAY_HELPER_ERROR_EXE_GET_DLL_PATH = 0x0F000005, - /// The overlay helper process was unable to load the - /// overlay DLL. - OVERLAY_HELPER_ERROR_EXE_LOAD_DLL = 0x0F000006, - /// The overlay helper process was uanble to look up - /// the 'OverlayHelperProcessMain' entry point in the - /// overlay DLL. - OVERLAY_HELPER_ERROR_EXE_LOOKUP_ENTRY_POINT = 0x0F000007, - /// The overlay helper process was uanble to parse - /// the commandline arguments it was passed. - /// The helper process exepcts two arguments, and this - /// error occurs if it only finds one. - OVERLAY_HELPER_ERROR_TOO_FEW_ARGUMENTS = 0x0F000008, - /// The magic number on the command line of the overlay - /// helper process could not be converted to a HANDLE. - OVERLAY_HELPER_ERROR_EXE_INVALID_HANDLE_ARGUMENT = 0x0F000009, - - /// The magic number passed to the overlay DLL's - /// OverlayHelperProcessMain function did not match - /// the overlay DLL's built-in magic number. - OVERLAY_HELPER_ERROR_DLL_MAGIC_MISMATCH = 0x0FF00000, - /// The overlay helper process exited due to an error - /// in the Windows message loop. - OVERLAY_HELPER_ERROR_DLL_MESSAGE_LOOP = 0x0FF00001, - /// The parent death thread could not be created. - OVERLAY_HELPER_ERROR_DLL_PDEATH_THREAD_ERROR = 0x0FF00002, - /// The helper's WaitForSingleObject call on its parent - /// process failed unexpectedly. - OVERLAY_HELPER_ERROR_DLL_PDEATH_WAIT_FAIL = 0x0FF00003, -}; - -/// OverlayHelperErrorToString converts an OverlayHelperError value -/// to a printable string representation. -static inline const char *OverlayHelperErrorToString(OverlayHelperError err) { -#define OHE(x) \ - case x: \ - return #x - switch (err) { - OHE(OVERLAY_HELPER_ERROR_EXE_NO_ARGUMENTS); - OHE(OVERLAY_HELPER_ERROR_EXE_INVALID_MAGIC_ARGUMENT); - OHE(OVERLAY_HELPER_ERROR_EXE_MAGIC_MISMATCH); - OHE(OVERLAY_HELPER_ERROR_EXE_CONFIGURE_ENVIRONMENT); - OHE(OVERLAY_HELPER_ERROR_EXE_GET_DLL_PATH); - OHE(OVERLAY_HELPER_ERROR_EXE_LOAD_DLL); - OHE(OVERLAY_HELPER_ERROR_EXE_LOOKUP_ENTRY_POINT); - OHE(OVERLAY_HELPER_ERROR_TOO_FEW_ARGUMENTS); - OHE(OVERLAY_HELPER_ERROR_EXE_INVALID_HANDLE_ARGUMENT); - OHE(OVERLAY_HELPER_ERROR_DLL_MAGIC_MISMATCH); - OHE(OVERLAY_HELPER_ERROR_DLL_MESSAGE_LOOP); - OHE(OVERLAY_HELPER_ERROR_DLL_PDEATH_THREAD_ERROR); - OHE(OVERLAY_HELPER_ERROR_DLL_PDEATH_WAIT_FAIL); - } - return nullptr; -} - -#endif +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_OVERLAY_EXE_H_ +#define MUMBLE_OVERLAY_EXE_H_ + +#if defined(_M_IX86) +const wchar_t *MUMBLE_OVERLAY_DLL_NAME = L"mumble_ol.dll"; +#elif defined(_M_X64) +const wchar_t *MUMBLE_OVERLAY_DLL_NAME = L"mumble_ol_x64.dll"; +#endif + +/// OverlayHelperError represents exit codes returned by the +/// overlay helper process (mumble_ol_helper.exe) on Windows. +enum OverlayHelperError { + /// The overlay helper process was not passed any + /// arguments. + OVERLAY_HELPER_ERROR_EXE_NO_ARGUMENTS = 0x0F000001, + /// The magic number on the command line of the overlay + /// helper process could not be converted to an integer. + OVERLAY_HELPER_ERROR_EXE_INVALID_MAGIC_ARGUMENT = 0x0F000002, + /// The magic number on the command line of the overlay + /// helper did not match the built-in magic number of + /// the helper process. + OVERLAY_HELPER_ERROR_EXE_MAGIC_MISMATCH = 0x0F000003, + /// The overlay helper process was unable to configure + /// its environment in preparation of loading the + /// overlay DLL. + OVERLAY_HELPER_ERROR_EXE_CONFIGURE_ENVIRONMENT = 0x0F000004, + /// The overlay helper process was unable to get the + /// path to the overlay DLL. + OVERLAY_HELPER_ERROR_EXE_GET_DLL_PATH = 0x0F000005, + /// The overlay helper process was unable to load the + /// overlay DLL. + OVERLAY_HELPER_ERROR_EXE_LOAD_DLL = 0x0F000006, + /// The overlay helper process was uanble to look up + /// the 'OverlayHelperProcessMain' entry point in the + /// overlay DLL. + OVERLAY_HELPER_ERROR_EXE_LOOKUP_ENTRY_POINT = 0x0F000007, + /// The overlay helper process was uanble to parse + /// the commandline arguments it was passed. + /// The helper process exepcts two arguments, and this + /// error occurs if it only finds one. + OVERLAY_HELPER_ERROR_TOO_FEW_ARGUMENTS = 0x0F000008, + /// The magic number on the command line of the overlay + /// helper process could not be converted to a HANDLE. + OVERLAY_HELPER_ERROR_EXE_INVALID_HANDLE_ARGUMENT = 0x0F000009, + + /// The magic number passed to the overlay DLL's + /// OverlayHelperProcessMain function did not match + /// the overlay DLL's built-in magic number. + OVERLAY_HELPER_ERROR_DLL_MAGIC_MISMATCH = 0x0FF00000, + /// The overlay helper process exited due to an error + /// in the Windows message loop. + OVERLAY_HELPER_ERROR_DLL_MESSAGE_LOOP = 0x0FF00001, + /// The parent death thread could not be created. + OVERLAY_HELPER_ERROR_DLL_PDEATH_THREAD_ERROR = 0x0FF00002, + /// The helper's WaitForSingleObject call on its parent + /// process failed unexpectedly. + OVERLAY_HELPER_ERROR_DLL_PDEATH_WAIT_FAIL = 0x0FF00003, +}; + +/// OverlayHelperErrorToString converts an OverlayHelperError value +/// to a printable string representation. +static inline const char *OverlayHelperErrorToString(OverlayHelperError err) { +#define OHE(x) \ + case x: \ + return #x + switch (err) { + OHE(OVERLAY_HELPER_ERROR_EXE_NO_ARGUMENTS); + OHE(OVERLAY_HELPER_ERROR_EXE_INVALID_MAGIC_ARGUMENT); + OHE(OVERLAY_HELPER_ERROR_EXE_MAGIC_MISMATCH); + OHE(OVERLAY_HELPER_ERROR_EXE_CONFIGURE_ENVIRONMENT); + OHE(OVERLAY_HELPER_ERROR_EXE_GET_DLL_PATH); + OHE(OVERLAY_HELPER_ERROR_EXE_LOAD_DLL); + OHE(OVERLAY_HELPER_ERROR_EXE_LOOKUP_ENTRY_POINT); + OHE(OVERLAY_HELPER_ERROR_TOO_FEW_ARGUMENTS); + OHE(OVERLAY_HELPER_ERROR_EXE_INVALID_HANDLE_ARGUMENT); + OHE(OVERLAY_HELPER_ERROR_DLL_MAGIC_MISMATCH); + OHE(OVERLAY_HELPER_ERROR_DLL_MESSAGE_LOOP); + OHE(OVERLAY_HELPER_ERROR_DLL_PDEATH_THREAD_ERROR); + OHE(OVERLAY_HELPER_ERROR_DLL_PDEATH_WAIT_FAIL); + } + return nullptr; +} + +#endif diff --git a/overlay/overlay_launchers.h b/overlay/overlay_launchers.h index 02c0f5690..1918d8824 100644 --- a/overlay/overlay_launchers.h +++ b/overlay/overlay_launchers.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/overlay_whitelist.h b/overlay/overlay_whitelist.h index 24215c361..947c47a4a 100644 --- a/overlay/overlay_whitelist.h +++ b/overlay/overlay_whitelist.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay/scripts/build_overlay_xcompile.cmd b/overlay/scripts/build_overlay_xcompile.cmd index 622dacadd..ac4ef170a 100644 --- a/overlay/scripts/build_overlay_xcompile.cmd +++ b/overlay/scripts/build_overlay_xcompile.cmd @@ -1,3 +1,8 @@ +:: Copyright 2020-2021 The Mumble Developers. All rights reserved. +:: Use of this source code is governed by a BSD-style license +:: that can be found in the LICENSE file at the root of the +:: Mumble source tree or at . + @echo off for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( diff --git a/overlay/util.h b/overlay/util.h index 29d29c651..35687968b 100644 --- a/overlay/util.h +++ b/overlay/util.h @@ -1,53 +1,53 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_UTIL_H_ -#define MUMBLE_UTIL_H_ - -#include -#include -#include - -/// Returns true if |path| is an absolute path. -/// Returns false if |path| is not an absolute path. -static inline bool isAbsPath(const std::string &path) { - return path.find("\\") != std::string::npos; -} - -/// Convert the string |s| to lowercase and return it. -static inline std::string slowercase(std::string s) { - std::transform(s.begin(), s.end(), s.begin(), tolower); - return s; -} - -/// Convert all entries of |vec| to lowercase and return the resulting vector. -static inline std::vector< std::string > vlowercase(std::vector< std::string > vec) { - std::transform(vec.begin(), vec.end(), vec.begin(), slowercase); - return vec; -} - -/// Merge |v1| and |v2| and return the result. -template< typename T > static inline std::vector< T > vmerge(std::vector< T > v1, const std::vector< T > &v2) { - v1.insert(v1.end(), v2.begin(), v2.end()); - return v1; -} - -/// Filter out all entries of |vremove| from |v| and return the result. -template< typename T > -static inline std::vector< T > vexclude(const std::vector< T > &v, const std::vector< T > &vremove) { - std::vector< T > out; - std::set_difference(v.begin(), v.end(), vremove.begin(), vremove.end(), std::inserter(out, out.begin())); - return out; -} - -/// Find the intersection between |v1| and |v2| and return the result. -template< typename T > -static inline std::vector< T > vintersect(const std::vector< T > &v1, const std::vector< T > &v2) { - std::vector< T > out; - std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), std::inserter(out, out.begin())); - return out; -} - -#endif +// Copyright 2017-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_UTIL_H_ +#define MUMBLE_UTIL_H_ + +#include +#include +#include + +/// Returns true if |path| is an absolute path. +/// Returns false if |path| is not an absolute path. +static inline bool isAbsPath(const std::string &path) { + return path.find("\\") != std::string::npos; +} + +/// Convert the string |s| to lowercase and return it. +static inline std::string slowercase(std::string s) { + std::transform(s.begin(), s.end(), s.begin(), tolower); + return s; +} + +/// Convert all entries of |vec| to lowercase and return the resulting vector. +static inline std::vector< std::string > vlowercase(std::vector< std::string > vec) { + std::transform(vec.begin(), vec.end(), vec.begin(), slowercase); + return vec; +} + +/// Merge |v1| and |v2| and return the result. +template< typename T > static inline std::vector< T > vmerge(std::vector< T > v1, const std::vector< T > &v2) { + v1.insert(v1.end(), v2.begin(), v2.end()); + return v1; +} + +/// Filter out all entries of |vremove| from |v| and return the result. +template< typename T > +static inline std::vector< T > vexclude(const std::vector< T > &v, const std::vector< T > &vremove) { + std::vector< T > out; + std::set_difference(v.begin(), v.end(), vremove.begin(), vremove.end(), std::inserter(out, out.begin())); + return out; +} + +/// Find the intersection between |v1| and |v2| and return the result. +template< typename T > +static inline std::vector< T > vintersect(const std::vector< T > &v1, const std::vector< T > &v2) { + std::vector< T > out; + std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), std::inserter(out, out.begin())); + return out; +} + +#endif diff --git a/overlay_gl/avail_mac.h b/overlay_gl/avail_mac.h index 7b876d4fd..6d517bb33 100644 --- a/overlay_gl/avail_mac.h +++ b/overlay_gl/avail_mac.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay_gl/avail_mac.pl b/overlay_gl/avail_mac.pl index 4dda11327..c355b47e2 100755 --- a/overlay_gl/avail_mac.pl +++ b/overlay_gl/avail_mac.pl @@ -1,4 +1,10 @@ #!/usr/bin/perl + +# Copyright 2015-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # perl avail_mac.pl < overlay.c init_mac.c > avail_mac.h %funcs = (); diff --git a/overlay_gl/init_mac.c b/overlay_gl/init_mac.c index ae904b21d..85a3389f1 100644 --- a/overlay_gl/init_mac.c +++ b/overlay_gl/init_mac.c @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay_gl/init_unix.c b/overlay_gl/init_unix.c index ca1b821d7..38127ba31 100644 --- a/overlay_gl/init_unix.c +++ b/overlay_gl/init_unix.c @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/overlay_gl/overlay.c b/overlay_gl/overlay.c index 136abf931..79a9fc3ae 100644 --- a/overlay_gl/overlay.c +++ b/overlay_gl/overlay.c @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/HostLinux.cpp b/plugins/HostLinux.cpp index 2c5131ac2..8d53155a5 100644 --- a/plugins/HostLinux.cpp +++ b/plugins/HostLinux.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/HostLinux.h b/plugins/HostLinux.h index c6b0ed42c..310214e9f 100644 --- a/plugins/HostLinux.h +++ b/plugins/HostLinux.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/HostWindows.cpp b/plugins/HostWindows.cpp index 768c542fb..c354b4657 100644 --- a/plugins/HostWindows.cpp +++ b/plugins/HostWindows.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/HostWindows.h b/plugins/HostWindows.h index 06a344b43..45502cfc1 100644 --- a/plugins/HostWindows.h +++ b/plugins/HostWindows.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/Module.cpp b/plugins/Module.cpp index d50a5c45b..1e1b193f0 100644 --- a/plugins/Module.cpp +++ b/plugins/Module.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/Module.h b/plugins/Module.h index d3d54af38..dd65c41bb 100644 --- a/plugins/Module.h +++ b/plugins/Module.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/Process.cpp b/plugins/Process.cpp index 631ceb7b2..8d222a266 100644 --- a/plugins/Process.cpp +++ b/plugins/Process.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/Process.h b/plugins/Process.h index 7beb35f92..1976b43d1 100644 --- a/plugins/Process.h +++ b/plugins/Process.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ProcessLinux.cpp b/plugins/ProcessLinux.cpp index 741f2f8c2..874d71494 100644 --- a/plugins/ProcessLinux.cpp +++ b/plugins/ProcessLinux.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ProcessLinux.h b/plugins/ProcessLinux.h index 73fd9007a..0f19fe5ec 100644 --- a/plugins/ProcessLinux.h +++ b/plugins/ProcessLinux.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ProcessWindows.cpp b/plugins/ProcessWindows.cpp index 77cf304fa..234cb6123 100644 --- a/plugins/ProcessWindows.cpp +++ b/plugins/ProcessWindows.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ProcessWindows.h b/plugins/ProcessWindows.h index 663d06cfa..75de31a03 100644 --- a/plugins/ProcessWindows.h +++ b/plugins/ProcessWindows.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/amongus/Game.cpp b/plugins/amongus/Game.cpp index e9f91b55c..5a41e72d1 100644 --- a/plugins/amongus/Game.cpp +++ b/plugins/amongus/Game.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/amongus/Game.h b/plugins/amongus/Game.h index cee8fed53..1897aea38 100644 --- a/plugins/amongus/Game.h +++ b/plugins/amongus/Game.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/amongus/amongus.cpp b/plugins/amongus/amongus.cpp index f92ffeb37..40d9caa9c 100644 --- a/plugins/amongus/amongus.cpp +++ b/plugins/amongus/amongus.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/amongus/structs.h b/plugins/amongus/structs.h index 5b0256d37..02e0d3af0 100644 --- a/plugins/amongus/structs.h +++ b/plugins/amongus/structs.h @@ -1,3 +1,8 @@ +// Copyright 2020-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + #ifndef AMONGUS_STRUCTS #define AMONGUS_STRUCTS diff --git a/plugins/aoc/aoc.cpp b/plugins/aoc/aoc.cpp index 1aa0e1765..0d818b1fd 100644 --- a/plugins/aoc/aoc.cpp +++ b/plugins/aoc/aoc.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/arma2/arma2.cpp b/plugins/arma2/arma2.cpp index a7b0f2890..5e4a3b944 100644 --- a/plugins/arma2/arma2.cpp +++ b/plugins/arma2/arma2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf1/bf1.cpp b/plugins/bf1/bf1.cpp index 5a8fedf60..17c1cee9d 100644 --- a/plugins/bf1/bf1.cpp +++ b/plugins/bf1/bf1.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf1942/bf1942.cpp b/plugins/bf1942/bf1942.cpp index 5ea088f8d..3ac86bc3e 100644 --- a/plugins/bf1942/bf1942.cpp +++ b/plugins/bf1942/bf1942.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf2/bf2.cpp b/plugins/bf2/bf2.cpp index d2b85b5e3..4e744487c 100644 --- a/plugins/bf2/bf2.cpp +++ b/plugins/bf2/bf2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf2142/bf2142.cpp b/plugins/bf2142/bf2142.cpp index d182194b5..0d4d965cf 100644 --- a/plugins/bf2142/bf2142.cpp +++ b/plugins/bf2142/bf2142.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf3/bf3.cpp b/plugins/bf3/bf3.cpp index a2c426093..092c0deb3 100644 --- a/plugins/bf3/bf3.cpp +++ b/plugins/bf3/bf3.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf4/bf4.cpp b/plugins/bf4/bf4.cpp index 9bcd8f8d6..f06fb379e 100644 --- a/plugins/bf4/bf4.cpp +++ b/plugins/bf4/bf4.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bf4_x86/bf4_x86.cpp b/plugins/bf4_x86/bf4_x86.cpp index fcb589b36..c4d49620f 100644 --- a/plugins/bf4_x86/bf4_x86.cpp +++ b/plugins/bf4_x86/bf4_x86.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bfbc2/bfbc2.cpp b/plugins/bfbc2/bfbc2.cpp index 35c8aedd9..bf4847841 100644 --- a/plugins/bfbc2/bfbc2.cpp +++ b/plugins/bfbc2/bfbc2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/bfheroes/bfheroes.cpp b/plugins/bfheroes/bfheroes.cpp index 6e36bd114..9329618fa 100644 --- a/plugins/bfheroes/bfheroes.cpp +++ b/plugins/bfheroes/bfheroes.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/blacklight/blacklight.cpp b/plugins/blacklight/blacklight.cpp index 977a6912d..ffc016f98 100644 --- a/plugins/blacklight/blacklight.cpp +++ b/plugins/blacklight/blacklight.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/borderlands/borderlands.cpp b/plugins/borderlands/borderlands.cpp index f5f9e3a2d..46aabf210 100644 --- a/plugins/borderlands/borderlands.cpp +++ b/plugins/borderlands/borderlands.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/borderlands2/borderlands2.cpp b/plugins/borderlands2/borderlands2.cpp index ada03ca30..0a49f077c 100644 --- a/plugins/borderlands2/borderlands2.cpp +++ b/plugins/borderlands2/borderlands2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/breach/breach.cpp b/plugins/breach/breach.cpp index 8a8831f01..a026af96b 100644 --- a/plugins/breach/breach.cpp +++ b/plugins/breach/breach.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/cod2/cod2.cpp b/plugins/cod2/cod2.cpp index 209a11483..6f7b5c4ca 100644 --- a/plugins/cod2/cod2.cpp +++ b/plugins/cod2/cod2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/cod4/cod4.cpp b/plugins/cod4/cod4.cpp index 806ce00ba..05c504014 100644 --- a/plugins/cod4/cod4.cpp +++ b/plugins/cod4/cod4.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/cod5/cod5.cpp b/plugins/cod5/cod5.cpp index 3c5b041d6..cf5982383 100644 --- a/plugins/cod5/cod5.cpp +++ b/plugins/cod5/cod5.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/codmw2/codmw2.cpp b/plugins/codmw2/codmw2.cpp index ed29ae237..5a15ed2b4 100644 --- a/plugins/codmw2/codmw2.cpp +++ b/plugins/codmw2/codmw2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/codmw2so/codmw2so.cpp b/plugins/codmw2so/codmw2so.cpp index 9b7ea2be5..5c6c0297a 100644 --- a/plugins/codmw2so/codmw2so.cpp +++ b/plugins/codmw2so/codmw2so.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/cs/cs.cpp b/plugins/cs/cs.cpp index 2a6be0a3f..2d8e8730e 100644 --- a/plugins/cs/cs.cpp +++ b/plugins/cs/cs.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/dys/dys.cpp b/plugins/dys/dys.cpp index c77158653..946731c3d 100644 --- a/plugins/dys/dys.cpp +++ b/plugins/dys/dys.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/etqw/etqw.cpp b/plugins/etqw/etqw.cpp index 613865593..1109e5d46 100644 --- a/plugins/etqw/etqw.cpp +++ b/plugins/etqw/etqw.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ffxiv/ffxiv.cpp b/plugins/ffxiv/ffxiv.cpp index d8a284bc0..c1643a24c 100644 --- a/plugins/ffxiv/ffxiv.cpp +++ b/plugins/ffxiv/ffxiv.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/gmod/gmod.cpp b/plugins/gmod/gmod.cpp index 1f2728b8f..fd2bb2153 100644 --- a/plugins/gmod/gmod.cpp +++ b/plugins/gmod/gmod.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/gtaiv/gtaiv.cpp b/plugins/gtaiv/gtaiv.cpp index 77f7dc6f6..b57cb7d84 100644 --- a/plugins/gtaiv/gtaiv.cpp +++ b/plugins/gtaiv/gtaiv.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/gtasa/gtasa.cpp b/plugins/gtasa/gtasa.cpp index 478a2def0..cb166b5d4 100644 --- a/plugins/gtasa/gtasa.cpp +++ b/plugins/gtasa/gtasa.cpp @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/gtav/gtav.cpp b/plugins/gtav/gtav.cpp index 9cd2bb1cd..a10e75888 100644 --- a/plugins/gtav/gtav.cpp +++ b/plugins/gtav/gtav.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/gw/gw.cpp b/plugins/gw/gw.cpp index 247c9cf0b..567a5d14f 100644 --- a/plugins/gw/gw.cpp +++ b/plugins/gw/gw.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/insurgency/insurgency.cpp b/plugins/insurgency/insurgency.cpp index 649f4ad59..89f4ce811 100644 --- a/plugins/insurgency/insurgency.cpp +++ b/plugins/insurgency/insurgency.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/jc2/jc2.cpp b/plugins/jc2/jc2.cpp index a0f988b56..ecdad859e 100644 --- a/plugins/jc2/jc2.cpp +++ b/plugins/jc2/jc2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/link/link-posix.cpp b/plugins/link/link-posix.cpp index 298d34784..43306e21b 100644 --- a/plugins/link/link-posix.cpp +++ b/plugins/link/link-posix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/link/link.cpp b/plugins/link/link.cpp index 19a164e26..a899affd5 100644 --- a/plugins/link/link.cpp +++ b/plugins/link/link.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/lol/lol.cpp b/plugins/lol/lol.cpp index cda19ea28..9746cc4a8 100644 --- a/plugins/lol/lol.cpp +++ b/plugins/lol/lol.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/lotro/lotro.cpp b/plugins/lotro/lotro.cpp index 6be0f0989..0be84d49d 100644 --- a/plugins/lotro/lotro.cpp +++ b/plugins/lotro/lotro.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/mumble_plugin.h b/plugins/mumble_plugin.h index 1cbd04894..bed4383aa 100644 --- a/plugins/mumble_plugin.h +++ b/plugins/mumble_plugin.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/mumble_plugin_linux.h b/plugins/mumble_plugin_linux.h index 6cdb1b2e8..15a26f26e 100644 --- a/plugins/mumble_plugin_linux.h +++ b/plugins/mumble_plugin_linux.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/mumble_plugin_main.h b/plugins/mumble_plugin_main.h index 6adcd5d1f..1024c431b 100644 --- a/plugins/mumble_plugin_main.h +++ b/plugins/mumble_plugin_main.h @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/mumble_plugin_utils.h b/plugins/mumble_plugin_utils.h index cb6c6e5bb..355239d2c 100644 --- a/plugins/mumble_plugin_utils.h +++ b/plugins/mumble_plugin_utils.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/mumble_plugin_win32.h b/plugins/mumble_plugin_win32.h index 58c74ac3a..fd101e954 100644 --- a/plugins/mumble_plugin_win32.h +++ b/plugins/mumble_plugin_win32.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/mumble_plugin_win32_internals.h b/plugins/mumble_plugin_win32_internals.h index 409dd7378..81662589e 100644 --- a/plugins/mumble_plugin_win32_internals.h +++ b/plugins/mumble_plugin_win32_internals.h @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/null_plugin.cpp b/plugins/null_plugin.cpp index f7e6a4d86..eeecc5084 100644 --- a/plugins/null_plugin.cpp +++ b/plugins/null_plugin.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ql/ql.cpp b/plugins/ql/ql.cpp index c964dea3d..0905c2bd0 100644 --- a/plugins/ql/ql.cpp +++ b/plugins/ql/ql.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/rl/rl.cpp b/plugins/rl/rl.cpp index ae28e5cd6..c6dcc0217 100644 --- a/plugins/rl/rl.cpp +++ b/plugins/rl/rl.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/se/client.h b/plugins/se/client.h index 41ad980dc..16d13e7fb 100644 --- a/plugins/se/client.h +++ b/plugins/se/client.h @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/se/common.h b/plugins/se/common.h index 0ae2e1785..456fdd64b 100644 --- a/plugins/se/common.h +++ b/plugins/se/common.h @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/se/engine.h b/plugins/se/engine.h index 2a0cf35cc..492fcde05 100644 --- a/plugins/se/engine.h +++ b/plugins/se/engine.h @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/se/se.cpp b/plugins/se/se.cpp index dd256afbc..f048ea3ad 100644 --- a/plugins/se/se.cpp +++ b/plugins/se/se.cpp @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/sr/sr.cpp b/plugins/sr/sr.cpp index 16dab96c4..12016c164 100644 --- a/plugins/sr/sr.cpp +++ b/plugins/sr/sr.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ut2004/ut2004.cpp b/plugins/ut2004/ut2004.cpp index 320ab3831..9c1c46348 100644 --- a/plugins/ut2004/ut2004.cpp +++ b/plugins/ut2004/ut2004.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ut3/ut3.cpp b/plugins/ut3/ut3.cpp index 726cc1fe7..19af44cde 100644 --- a/plugins/ut3/ut3.cpp +++ b/plugins/ut3/ut3.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/ut99/ut99.cpp b/plugins/ut99/ut99.cpp index 108e0bc65..8831452ba 100644 --- a/plugins/ut99/ut99.cpp +++ b/plugins/ut99/ut99.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/wolfet/wolfet.cpp b/plugins/wolfet/wolfet.cpp index 33fb8dd8b..a8827ae69 100644 --- a/plugins/wolfet/wolfet.cpp +++ b/plugins/wolfet/wolfet.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/wow/wow.cpp b/plugins/wow/wow.cpp index 68b8d0411..5a4ffed6d 100644 --- a/plugins/wow/wow.cpp +++ b/plugins/wow/wow.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/plugins/wow_x64/wow_x64.cpp b/plugins/wow_x64/wow_x64.cpp index 03bcf498c..f6ea550ad 100644 --- a/plugins/wow_x64/wow_x64.cpp +++ b/plugins/wow_x64/wow_x64.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/scripts/commitMessage/CommitMessage.py b/scripts/commitMessage/CommitMessage.py index a9a778ed9..2d44c9a19 100644 --- a/scripts/commitMessage/CommitMessage.py +++ b/scripts/commitMessage/CommitMessage.py @@ -1,3 +1,8 @@ +# Copyright 2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + import re class CommitFormatError(Exception): diff --git a/scripts/development/IconSync.cpp b/scripts/development/IconSync.cpp index 1af2d2cbe..c05b4f394 100644 --- a/scripts/development/IconSync.cpp +++ b/scripts/development/IconSync.cpp @@ -1,3 +1,8 @@ +// Copyright 2010-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + #include #include #include diff --git a/scripts/extract-emojione-flags.py b/scripts/extract-emojione-flags.py index 4309f049f..3d6e4a519 100755 --- a/scripts/extract-emojione-flags.py +++ b/scripts/extract-emojione-flags.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2015-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-AUTHORS.py b/scripts/generate-AUTHORS.py index 788219887..a4844d587 100644 --- a/scripts/generate-AUTHORS.py +++ b/scripts/generate-AUTHORS.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2016-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-ApplicationPalette-class.py b/scripts/generate-ApplicationPalette-class.py index 50029a47b..68eaccd79 100755 --- a/scripts/generate-ApplicationPalette-class.py +++ b/scripts/generate-ApplicationPalette-class.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2014-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-CHANGES.py b/scripts/generate-CHANGES.py index ec559b153..f623c8aaf 100644 --- a/scripts/generate-CHANGES.py +++ b/scripts/generate-CHANGES.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2016-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-cipherinfo.py b/scripts/generate-cipherinfo.py index 610f91eb1..1055c2ecd 100755 --- a/scripts/generate-cipherinfo.py +++ b/scripts/generate-cipherinfo.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2015-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-ffdhe.py b/scripts/generate-ffdhe.py index 0d84bef65..94f75a6c0 100644 --- a/scripts/generate-ffdhe.py +++ b/scripts/generate-ffdhe.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2017-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-mumble_qt-qrc.py b/scripts/generate-mumble_qt-qrc.py index 139776543..daf8bef79 100755 --- a/scripts/generate-mumble_qt-qrc.py +++ b/scripts/generate-mumble_qt-qrc.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2015-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate-qrc.py b/scripts/generate-qrc.py index 09fe8fcb7..493d54b47 100755 --- a/scripts/generate-qrc.py +++ b/scripts/generate-qrc.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2015-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generateIceWrapper.py b/scripts/generateIceWrapper.py index 83a687206..52ddc781f 100755 --- a/scripts/generateIceWrapper.py +++ b/scripts/generateIceWrapper.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/generate_cmake_options_docs.py b/scripts/generate_cmake_options_docs.py index dc709b0e6..550b9c3da 100755 --- a/scripts/generate_cmake_options_docs.py +++ b/scripts/generate_cmake_options_docs.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright 2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/git2cl.pl b/scripts/git2cl.pl index 0028058b2..693fa2041 100755 --- a/scripts/git2cl.pl +++ b/scripts/git2cl.pl @@ -1,6 +1,6 @@ #! /usr/bin/perl -w # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2009-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/mkflags.py b/scripts/mkflags.py index 54dd0fec0..907a98f14 100644 --- a/scripts/mkflags.py +++ b/scripts/mkflags.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2016-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/mkini-win32.bat b/scripts/mkini-win32.bat index 76c1d5b55..3d1dc3ceb 100755 --- a/scripts/mkini-win32.bat +++ b/scripts/mkini-win32.bat @@ -1,4 +1,4 @@ -:: Copyright 2005-2020 The Mumble Developers. All rights reserved. +:: Copyright 2012-2021 The Mumble Developers. All rights reserved. :: Use of this source code is governed by a BSD-style license :: that can be found in the LICENSE file at the root of the :: Mumble source tree or at . diff --git a/scripts/mkini.sh b/scripts/mkini.sh index 3c89d4feb..272a405ad 100755 --- a/scripts/mkini.sh +++ b/scripts/mkini.sh @@ -1,6 +1,6 @@ #! /bin/bash # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2009-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/mklic.pl b/scripts/mklic.pl index 753f91866..6aec80b8b 100755 --- a/scripts/mklic.pl +++ b/scripts/mklic.pl @@ -1,6 +1,6 @@ #! /usr/bin/perl # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2005-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/mumble-version.py b/scripts/mumble-version.py index e139179c0..b43ad9d84 100755 --- a/scripts/mumble-version.py +++ b/scripts/mumble-version.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2019-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/murmur.init b/scripts/murmur.init index 01715f07d..926176ee5 100755 --- a/scripts/murmur.init +++ b/scripts/murmur.init @@ -1,4 +1,10 @@ #! /bin/sh + +# Copyright 2007-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # ### BEGIN INIT INFO # Provides: mumble-server diff --git a/scripts/rcc-depends.py b/scripts/rcc-depends.py index 479e5a47a..ced55ffca 100755 --- a/scripts/rcc-depends.py +++ b/scripts/rcc-depends.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2015-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/release.pl b/scripts/release.pl index 60a26e6bc..f88ef71ad 100755 --- a/scripts/release.pl +++ b/scripts/release.pl @@ -1,6 +1,6 @@ #! /usr/bin/perl -w # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2005-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/runClangFormat.sh b/scripts/runClangFormat.sh index b6984b713..8bd81e3c6 100755 --- a/scripts/runClangFormat.sh +++ b/scripts/runClangFormat.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2020-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/server/dbus/ListUsers.cs b/scripts/server/dbus/ListUsers.cs index cc6c8fa48..c4aaa9514 100644 --- a/scripts/server/dbus/ListUsers.cs +++ b/scripts/server/dbus/ListUsers.cs @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /* This shows how to list connected users in C#. This depends on the NDesk-DBus package, which can be found at http://www.ndesk.org/DBusSharp diff --git a/scripts/server/dbus/dbusauth.pl b/scripts/server/dbus/dbusauth.pl index 2a3ac7007..44bc541e2 100755 --- a/scripts/server/dbus/dbusauth.pl +++ b/scripts/server/dbus/dbusauth.pl @@ -1,5 +1,11 @@ #! /usr/bin/perl +# Copyright 2007-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + + # This is a small example script of how to set up murmur to authenticate through # phpBB3. To use it, you'll have to have started murmur with DBus, and use the # same session for this script. diff --git a/scripts/server/dbus/murmur.pl b/scripts/server/dbus/murmur.pl index ce439cd8a..688a2c00f 100755 --- a/scripts/server/dbus/murmur.pl +++ b/scripts/server/dbus/murmur.pl @@ -1,4 +1,10 @@ #! /usr/bin/perl + +# Copyright 2005-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # # For now, this is a CGI using Perl. # diff --git a/scripts/server/dbus/weblist.pl b/scripts/server/dbus/weblist.pl index 5f78237e1..80363f143 100755 --- a/scripts/server/dbus/weblist.pl +++ b/scripts/server/dbus/weblist.pl @@ -1,5 +1,11 @@ #! /usr/bin/perl +# Copyright 2007-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + + use warnings; use strict; diff --git a/scripts/server/ice/mumble-auth.py b/scripts/server/ice/mumble-auth.py index 1a28328fa..fac2885e2 100755 --- a/scripts/server/ice/mumble-auth.py +++ b/scripts/server/ice/mumble-auth.py @@ -1,4 +1,10 @@ #!/usr/bin/env python + +# Copyright 2009-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # -*- coding: utf-8 # # mumble-auth.py - Sample script to show the basics of using server controlled diff --git a/scripts/server/ice/rubytest.rb b/scripts/server/ice/rubytest.rb index 82edb4d69..b1c97e41e 100755 --- a/scripts/server/ice/rubytest.rb +++ b/scripts/server/ice/rubytest.rb @@ -1,5 +1,11 @@ #!/usr/bin/env ruby +# Copyright 2009-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + + # Download Murmur.ice from # http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble;a=blob_plain;f=src/murmur/Murmur.ice;hb=HEAD # and run 'slice2rb Murmur.ice'. slice2rb is part of ICE. diff --git a/scripts/server/ice/testauth.py b/scripts/server/ice/testauth.py index b165d6d2c..34ef335c1 100755 --- a/scripts/server/ice/testauth.py +++ b/scripts/server/ice/testauth.py @@ -1,4 +1,10 @@ #!/usr/bin/env python + +# Copyright 2009-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # -*- coding: utf-8 import Ice, sys, time from M2Crypto import X509; diff --git a/scripts/server/ice/testcallback.py b/scripts/server/ice/testcallback.py index 3e1566350..2f9d95adb 100755 --- a/scripts/server/ice/testcallback.py +++ b/scripts/server/ice/testcallback.py @@ -1,4 +1,10 @@ #!/usr/bin/env python + +# Copyright 2009-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # -*- coding: utf-8 import Ice, sys, sha from M2Crypto import X509; diff --git a/scripts/server/ice/testdynamic.py b/scripts/server/ice/testdynamic.py index 639b81226..8178b2440 100755 --- a/scripts/server/ice/testdynamic.py +++ b/scripts/server/ice/testdynamic.py @@ -1,4 +1,10 @@ #!/usr/bin/env python + +# Copyright 2010-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + # -*- coding: utf-8 import Ice, IcePy, sys, tempfile, os diff --git a/scripts/transtate.py b/scripts/transtate.py index 8ad44804d..5f16bbb11 100755 --- a/scripts/transtate.py +++ b/scripts/transtate.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2012-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/updatetranslations.sh b/scripts/updatetranslations.sh index cc7f17e0f..4ca2d14aa 100755 --- a/scripts/updatetranslations.sh +++ b/scripts/updatetranslations.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Copyright 2005-2020 The Mumble Developers. All rights reserved. +# Copyright 2014-2021 The Mumble Developers. All rights reserved. # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file at the root of the # Mumble source tree or at . diff --git a/scripts/vcpkg/get_mumble_dependencies.ps1 b/scripts/vcpkg/get_mumble_dependencies.ps1 index 0b3b31ec1..bdf533a88 100644 --- a/scripts/vcpkg/get_mumble_dependencies.ps1 +++ b/scripts/vcpkg/get_mumble_dependencies.ps1 @@ -1,84 +1,89 @@ -$profiledir = $Env:USERPROFILE -$vcpkgdir = $profiledir + "\vcpkg" - -$mumble_deps = "qt5-base", - "qt5-svg", - "qt5-tools", - "grpc", - "boost-accumulators", - "poco", - "libvorbis", - "libogg", - "libflac", - "libsndfile", - "libmariadb", - "mdnsresponder", - "zlib", - "zeroc-ice" - -$ErrorActionPreference = 'Stop' - -function vcpkg_install { - Param( - [string[]] $packages, - - [string] $targetTriplet, - [switch] $cleanAfterBuild = $false - ) - - if ($cleanAfterBuild) { - ./vcpkg.exe install $packages --triplet $targetTriplet --clean-after-build - } else { - ./vcpkg.exe install $packages --triplet $targetTriplet - } - - if (-not $?) { - Write-Error("Failed at installing package $package ($targetTriplet)") - } -} - -$prevDir=pwd - -try { - Write-Host "Setting triplets for $Env:PROCESSOR_ARCHITECTURE" - if ($Env:PROCESSOR_ARCHITECTURE -eq "AMD64") { - $triplet = "x64-windows-static-md" - $xcompile_triplet = "x86-windows-static-md" - } else { - $triplet = "x86-windows-static-md" - } - - Write-Host "Checking for $vcpkgdir..." - if (-not (Test-Path $vcpkgdir)) { - git clone https://github.com/Microsoft/vcpkg.git $vcpkgdir - } - - if (Test-Path $vcpkgdir) { - if (-not (Test-Path $vcpkgdir/ports/zeroc-ice)) { - Write-Host "Adding ports for ZeroC Ice..." - Copy-Item -Path $PSScriptRoot/../../helpers/vcpkg/ports/zeroc-ice -Destination $vcpkgdir/ports -Recurse - } - - cd $vcpkgdir - - if (-not (Test-Path -LiteralPath $vcpkgdir/vcpkg.exe)) { - Write-Host "Installing vcpkg..." - ./bootstrap-vcpkg.bat -disableMetrics - } - - if ($Env:PROCESSOR_ARCHITECTURE -eq "AMD64") { - Write-Host "Installing cross compile packages..." - vcpkg_install -package boost-optional -targetTriplet $xcompile_triplet -cleanAfterBuild - } - - Write-Host "Beginning package install..." - - vcpkg_install -package $mumble_deps -targetTriplet $triplet -cleanAfterBuild - } -} catch { - # rethrow - throw $_ -} finally { - # restore previous directory - cd $prevDir -} +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + +$profiledir = $Env:USERPROFILE +$vcpkgdir = $profiledir + "\vcpkg" + +$mumble_deps = "qt5-base", + "qt5-svg", + "qt5-tools", + "grpc", + "boost-accumulators", + "poco", + "libvorbis", + "libogg", + "libflac", + "libsndfile", + "libmariadb", + "mdnsresponder", + "zlib", + "zeroc-ice" + +$ErrorActionPreference = 'Stop' + +function vcpkg_install { + Param( + [string[]] $packages, + + [string] $targetTriplet, + [switch] $cleanAfterBuild = $false + ) + + if ($cleanAfterBuild) { + ./vcpkg.exe install $packages --triplet $targetTriplet --clean-after-build + } else { + ./vcpkg.exe install $packages --triplet $targetTriplet + } + + if (-not $?) { + Write-Error("Failed at installing package $package ($targetTriplet)") + } +} + +$prevDir=pwd + +try { + Write-Host "Setting triplets for $Env:PROCESSOR_ARCHITECTURE" + if ($Env:PROCESSOR_ARCHITECTURE -eq "AMD64") { + $triplet = "x64-windows-static-md" + $xcompile_triplet = "x86-windows-static-md" + } else { + $triplet = "x86-windows-static-md" + } + + Write-Host "Checking for $vcpkgdir..." + if (-not (Test-Path $vcpkgdir)) { + git clone https://github.com/Microsoft/vcpkg.git $vcpkgdir + } + + if (Test-Path $vcpkgdir) { + if (-not (Test-Path $vcpkgdir/ports/zeroc-ice)) { + Write-Host "Adding ports for ZeroC Ice..." + Copy-Item -Path $PSScriptRoot/../../helpers/vcpkg/ports/zeroc-ice -Destination $vcpkgdir/ports -Recurse + } + + cd $vcpkgdir + + if (-not (Test-Path -LiteralPath $vcpkgdir/vcpkg.exe)) { + Write-Host "Installing vcpkg..." + ./bootstrap-vcpkg.bat -disableMetrics + } + + if ($Env:PROCESSOR_ARCHITECTURE -eq "AMD64") { + Write-Host "Installing cross compile packages..." + vcpkg_install -package boost-optional -targetTriplet $xcompile_triplet -cleanAfterBuild + } + + Write-Host "Beginning package install..." + + vcpkg_install -package $mumble_deps -targetTriplet $triplet -cleanAfterBuild + } +} catch { + # rethrow + throw $_ +} finally { + # restore previous directory + cd $prevDir +} diff --git a/scripts/vcpkg/get_mumble_dependencies.sh b/scripts/vcpkg/get_mumble_dependencies.sh index e46f0d917..ad37c6f54 100755 --- a/scripts/vcpkg/get_mumble_dependencies.sh +++ b/scripts/vcpkg/get_mumble_dependencies.sh @@ -1,5 +1,11 @@ #!/bin/bash +# Copyright 2020-2021 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + + # Copyright 2020 The 'mumble-releng-experimental' Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that # can be found in the LICENSE file in the source tree or at diff --git a/src/ACL.cpp b/src/ACL.cpp index 25264bcda..521f96fdd 100644 --- a/src/ACL.cpp +++ b/src/ACL.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ACL.h b/src/ACL.h index 91bd49a64..a9fe48a02 100644 --- a/src/ACL.h +++ b/src/ACL.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Ban.cpp b/src/Ban.cpp index 3681dceeb..d33e13c47 100644 --- a/src/Ban.cpp +++ b/src/Ban.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Ban.h b/src/Ban.h index 4dd4e2afd..5178350a5 100644 --- a/src/Ban.h +++ b/src/Ban.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ByteSwap.h b/src/ByteSwap.h index 24e00b2d2..a35e27b55 100644 --- a/src/ByteSwap.h +++ b/src/ByteSwap.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Channel.cpp b/src/Channel.cpp index 934f1710f..914a876aa 100644 --- a/src/Channel.cpp +++ b/src/Channel.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Channel.h b/src/Channel.h index 3f0921523..37a0e81da 100644 --- a/src/Channel.h +++ b/src/Channel.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ChannelListener.cpp b/src/ChannelListener.cpp index b20f8a55f..382637aee 100644 --- a/src/ChannelListener.cpp +++ b/src/ChannelListener.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ChannelListener.h b/src/ChannelListener.h index 6f8b7192f..3a03722ae 100644 --- a/src/ChannelListener.h +++ b/src/ChannelListener.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Connection.cpp b/src/Connection.cpp index 8e0f2d52a..62283c782 100644 --- a/src/Connection.cpp +++ b/src/Connection.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Connection.h b/src/Connection.h index 600551105..36aeb175f 100644 --- a/src/Connection.h +++ b/src/Connection.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/CryptState.h b/src/CryptState.h index 91d37515b..6333211f4 100644 --- a/src/CryptState.h +++ b/src/CryptState.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/EnvUtils.cpp b/src/EnvUtils.cpp index b9b720927..507df81c8 100644 --- a/src/EnvUtils.cpp +++ b/src/EnvUtils.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/EnvUtils.h b/src/EnvUtils.h index 7242b1c44..b5a5da102 100644 --- a/src/EnvUtils.h +++ b/src/EnvUtils.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/FFDHE.cpp b/src/FFDHE.cpp index 648b5086f..fe9dcb4f9 100644 --- a/src/FFDHE.cpp +++ b/src/FFDHE.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/FFDHE.h b/src/FFDHE.h index 22122f6ef..241b5df9b 100644 --- a/src/FFDHE.h +++ b/src/FFDHE.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/FFDHETable.h b/src/FFDHETable.h index 517942146..9f5533fb6 100644 --- a/src/FFDHETable.h +++ b/src/FFDHETable.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Group.cpp b/src/Group.cpp index ea24d0906..40e0b7702 100644 --- a/src/Group.cpp +++ b/src/Group.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Group.h b/src/Group.h index ca95f139e..93167e2a8 100644 --- a/src/Group.h +++ b/src/Group.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/HTMLFilter.cpp b/src/HTMLFilter.cpp index cb7724a74..ace7a24c3 100644 --- a/src/HTMLFilter.cpp +++ b/src/HTMLFilter.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/HTMLFilter.h b/src/HTMLFilter.h index b99237051..8465b593c 100644 --- a/src/HTMLFilter.h +++ b/src/HTMLFilter.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/HostAddress.cpp b/src/HostAddress.cpp index 72a635685..119225c0f 100644 --- a/src/HostAddress.cpp +++ b/src/HostAddress.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/HostAddress.h b/src/HostAddress.h index 841eaa1cb..19634df63 100644 --- a/src/HostAddress.h +++ b/src/HostAddress.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/License.cpp b/src/License.cpp index a91db263f..9cc969708 100644 --- a/src/License.cpp +++ b/src/License.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/License.h b/src/License.h index c4b57f343..a429d774b 100644 --- a/src/License.h +++ b/src/License.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/LogEmitter.cpp b/src/LogEmitter.cpp index 2fe2d7f7e..ba2a76bac 100644 --- a/src/LogEmitter.cpp +++ b/src/LogEmitter.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/LogEmitter.h b/src/LogEmitter.h index 499b5fc9e..60eb9bbbe 100644 --- a/src/LogEmitter.h +++ b/src/LogEmitter.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Message.h b/src/Message.h index 1ba8cbfc3..dcb5a9206 100644 --- a/src/Message.h +++ b/src/Message.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Mumble.proto b/src/Mumble.proto index 473a1d920..3075c6928 100644 --- a/src/Mumble.proto +++ b/src/Mumble.proto @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Net.cpp b/src/Net.cpp index cf2082eb3..1e8864bbc 100644 --- a/src/Net.cpp +++ b/src/Net.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Net.h b/src/Net.h index 9cf594dd5..09b0f8db2 100644 --- a/src/Net.h +++ b/src/Net.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/OSInfo.cpp b/src/OSInfo.cpp index e665ddb62..722e9066c 100644 --- a/src/OSInfo.cpp +++ b/src/OSInfo.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/OSInfo.h b/src/OSInfo.h index b25a1852b..bf5133637 100644 --- a/src/OSInfo.h +++ b/src/OSInfo.h @@ -1,4 +1,4 @@ -// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/PacketDataStream.h b/src/PacketDataStream.h index 4349dd68d..9daf9fd9e 100644 --- a/src/PacketDataStream.h +++ b/src/PacketDataStream.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/PasswordGenerator.cpp b/src/PasswordGenerator.cpp index b0412670f..74ed130da 100644 --- a/src/PasswordGenerator.cpp +++ b/src/PasswordGenerator.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/PasswordGenerator.h b/src/PasswordGenerator.h index 15a350075..ff03b94a4 100644 --- a/src/PasswordGenerator.h +++ b/src/PasswordGenerator.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/PlatformCheck.cpp b/src/PlatformCheck.cpp index 448cb44cd..a72b282ef 100644 --- a/src/PlatformCheck.cpp +++ b/src/PlatformCheck.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/PlatformCheck.h b/src/PlatformCheck.h index 100db94e5..319bd0fec 100644 --- a/src/PlatformCheck.h +++ b/src/PlatformCheck.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/QtUtils.cpp b/src/QtUtils.cpp index a248af742..f710238fd 100644 --- a/src/QtUtils.cpp +++ b/src/QtUtils.cpp @@ -1,4 +1,4 @@ -// Copyright 2021 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SSL.cpp b/src/SSL.cpp index d44aa84a3..147206b84 100644 --- a/src/SSL.cpp +++ b/src/SSL.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SSL.h b/src/SSL.h index 7f4b5703b..cedafca5e 100644 --- a/src/SSL.h +++ b/src/SSL.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SSLCipherInfo.cpp b/src/SSLCipherInfo.cpp index d04ba864c..4d3c2b7a4 100644 --- a/src/SSLCipherInfo.cpp +++ b/src/SSLCipherInfo.cpp @@ -1,22 +1,22 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#include "SSLCipherInfo.h" - -// Include SSLCipherInfoTable generated by 'cipherinfo.py'. -#include "SSLCipherInfoTable.h" - -#include - -const SSLCipherInfo *SSLCipherInfoLookupByOpenSSLName(const char *openSslCipherName) { - int len = sizeof(cipher_info_lookup_table) / sizeof(*cipher_info_lookup_table); - for (int i = 0; i < len; i++) { - const SSLCipherInfo *ci = &cipher_info_lookup_table[i]; - if (!strcmp(ci->openssl_name, openSslCipherName)) { - return ci; - } - } - return nullptr; -} +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "SSLCipherInfo.h" + +// Include SSLCipherInfoTable generated by 'cipherinfo.py'. +#include "SSLCipherInfoTable.h" + +#include + +const SSLCipherInfo *SSLCipherInfoLookupByOpenSSLName(const char *openSslCipherName) { + int len = sizeof(cipher_info_lookup_table) / sizeof(*cipher_info_lookup_table); + for (int i = 0; i < len; i++) { + const SSLCipherInfo *ci = &cipher_info_lookup_table[i]; + if (!strcmp(ci->openssl_name, openSslCipherName)) { + return ci; + } + } + return nullptr; +} diff --git a/src/SSLCipherInfo.h b/src/SSLCipherInfo.h index 53a637a9b..f0f93ea92 100644 --- a/src/SSLCipherInfo.h +++ b/src/SSLCipherInfo.h @@ -1,20 +1,20 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_SSLCIPHERINFO_H_ -#define MUMBLE_SSLCIPHERINFO_H_ - -struct SSLCipherInfo { - const char *openssl_name; - const char *rfc_name; - const char *encryption; - const char *key_exchange_verbose; - const bool forward_secret; - const char *message_authentication; -}; - -const SSLCipherInfo *SSLCipherInfoLookupByOpenSSLName(const char *openSslCipherName); - -#endif +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_SSLCIPHERINFO_H_ +#define MUMBLE_SSLCIPHERINFO_H_ + +struct SSLCipherInfo { + const char *openssl_name; + const char *rfc_name; + const char *encryption; + const char *key_exchange_verbose; + const bool forward_secret; + const char *message_authentication; +}; + +const SSLCipherInfo *SSLCipherInfoLookupByOpenSSLName(const char *openSslCipherName); + +#endif diff --git a/src/SSLCipherInfoTable.h b/src/SSLCipherInfoTable.h index 461d6acdf..14e2c2db6 100644 --- a/src/SSLCipherInfoTable.h +++ b/src/SSLCipherInfoTable.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SSLLocks.cpp b/src/SSLLocks.cpp index b2681c071..5d70f385b 100644 --- a/src/SSLLocks.cpp +++ b/src/SSLLocks.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SSLLocks.h b/src/SSLLocks.h index 11eecba2f..3c2a014fc 100644 --- a/src/SSLLocks.h +++ b/src/SSLLocks.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SelfSignedCertificate.cpp b/src/SelfSignedCertificate.cpp index a68058205..9a45db3c7 100644 --- a/src/SelfSignedCertificate.cpp +++ b/src/SelfSignedCertificate.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SelfSignedCertificate.h b/src/SelfSignedCertificate.h index 6ce84723b..b85a8752b 100644 --- a/src/SelfSignedCertificate.h +++ b/src/SelfSignedCertificate.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ServerAddress.cpp b/src/ServerAddress.cpp index 5eda76ec3..fb5f24e4d 100644 --- a/src/ServerAddress.cpp +++ b/src/ServerAddress.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ServerAddress.h b/src/ServerAddress.h index 2d8430bba..14a58c286 100644 --- a/src/ServerAddress.h +++ b/src/ServerAddress.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ServerResolver.cpp b/src/ServerResolver.cpp index 544677e54..137d10343 100644 --- a/src/ServerResolver.cpp +++ b/src/ServerResolver.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ServerResolver.h b/src/ServerResolver.h index e67faed7e..2f9366a5c 100644 --- a/src/ServerResolver.h +++ b/src/ServerResolver.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ServerResolverRecord.cpp b/src/ServerResolverRecord.cpp index be743597e..3e0341b32 100644 --- a/src/ServerResolverRecord.cpp +++ b/src/ServerResolverRecord.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/ServerResolverRecord.h b/src/ServerResolverRecord.h index baf5bf7be..689f3c765 100644 --- a/src/ServerResolverRecord.h +++ b/src/ServerResolverRecord.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SignalCurry.h b/src/SignalCurry.h index 1b5d9d3e0..a02ade02c 100644 --- a/src/SignalCurry.h +++ b/src/SignalCurry.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/SpeechFlags.h b/src/SpeechFlags.h index c79def1ab..d42db9e0d 100644 --- a/src/SpeechFlags.h +++ b/src/SpeechFlags.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Timer.cpp b/src/Timer.cpp index 1311edf7b..09b886695 100644 --- a/src/Timer.cpp +++ b/src/Timer.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Timer.h b/src/Timer.h index b7ea31f24..ebfc9889b 100644 --- a/src/Timer.h +++ b/src/Timer.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/UnresolvedServerAddress.cpp b/src/UnresolvedServerAddress.cpp index 9b578980a..8e63aabe6 100644 --- a/src/UnresolvedServerAddress.cpp +++ b/src/UnresolvedServerAddress.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/UnresolvedServerAddress.h b/src/UnresolvedServerAddress.h index 595d12181..285389bfd 100644 --- a/src/UnresolvedServerAddress.h +++ b/src/UnresolvedServerAddress.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/User.cpp b/src/User.cpp index 52cfb9824..893ccc5ae 100644 --- a/src/User.cpp +++ b/src/User.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/User.h b/src/User.h index 469cc8d45..7c8f018ec 100644 --- a/src/User.h +++ b/src/User.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Utils.h b/src/Utils.h index 233214764..eb572ff5a 100644 --- a/src/Utils.h +++ b/src/Utils.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Version.cpp b/src/Version.cpp index 0de54c702..348ec9988 100644 --- a/src/Version.cpp +++ b/src/Version.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/Version.h b/src/Version.h index bd89a881a..79b197ee0 100644 --- a/src/Version.h +++ b/src/Version.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptState.h b/src/crypto/CryptState.h index e050ea63b..9da84a582 100644 --- a/src/crypto/CryptState.h +++ b/src/crypto/CryptState.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptStateOCB2.cpp b/src/crypto/CryptStateOCB2.cpp index 1e6a99109..7cd1be047 100644 --- a/src/crypto/CryptStateOCB2.cpp +++ b/src/crypto/CryptStateOCB2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptStateOCB2.h b/src/crypto/CryptStateOCB2.h index 8c34fd49a..53d4b4b6a 100644 --- a/src/crypto/CryptStateOCB2.h +++ b/src/crypto/CryptStateOCB2.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptographicHash.cpp b/src/crypto/CryptographicHash.cpp index ee8b154ee..1c3fcee71 100644 --- a/src/crypto/CryptographicHash.cpp +++ b/src/crypto/CryptographicHash.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptographicHash.h b/src/crypto/CryptographicHash.h index 7be32088c..6dc28f7bd 100644 --- a/src/crypto/CryptographicHash.h +++ b/src/crypto/CryptographicHash.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptographicRandom.cpp b/src/crypto/CryptographicRandom.cpp index 74c99f321..0c2405d43 100644 --- a/src/crypto/CryptographicRandom.cpp +++ b/src/crypto/CryptographicRandom.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/crypto/CryptographicRandom.h b/src/crypto/CryptographicRandom.h index 4ff9c3bd9..37a89f2d9 100644 --- a/src/crypto/CryptographicRandom.h +++ b/src/crypto/CryptographicRandom.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/licenses.h b/src/licenses.h index 1087b89c8..4a8da93a3 100644 --- a/src/licenses.h +++ b/src/licenses.h @@ -1,3 +1,8 @@ +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /* * This file was auto-generated by scripts/mklic.pl * DO NOT EDIT IT MANUALLY diff --git a/src/mumble/ACLEditor.cpp b/src/mumble/ACLEditor.cpp index c2f729c9d..b9f932687 100644 --- a/src/mumble/ACLEditor.cpp +++ b/src/mumble/ACLEditor.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ACLEditor.h b/src/mumble/ACLEditor.h index b28b2643b..444cc12e6 100644 --- a/src/mumble/ACLEditor.h +++ b/src/mumble/ACLEditor.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ALSAAudio.cpp b/src/mumble/ALSAAudio.cpp index 886bd3d4d..ec3828509 100644 --- a/src/mumble/ALSAAudio.cpp +++ b/src/mumble/ALSAAudio.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ALSAAudio.h b/src/mumble/ALSAAudio.h index af0bd0725..89ae364de 100644 --- a/src/mumble/ALSAAudio.h +++ b/src/mumble/ALSAAudio.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ASIOInput.cpp b/src/mumble/ASIOInput.cpp index 456ef810d..4f3150506 100644 --- a/src/mumble/ASIOInput.cpp +++ b/src/mumble/ASIOInput.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ASIOInput.h b/src/mumble/ASIOInput.h index bfda5714c..8478b2c65 100644 --- a/src/mumble/ASIOInput.h +++ b/src/mumble/ASIOInput.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/About.cpp b/src/mumble/About.cpp index ce4ac2bf5..abf406a47 100644 --- a/src/mumble/About.cpp +++ b/src/mumble/About.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/About.h b/src/mumble/About.h index cde7bb633..8a5664044 100644 --- a/src/mumble/About.h +++ b/src/mumble/About.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AppNap.h b/src/mumble/AppNap.h index 32efc0a06..3e45a65e7 100644 --- a/src/mumble/AppNap.h +++ b/src/mumble/AppNap.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AppNap.mm b/src/mumble/AppNap.mm index e3648f9f1..d034a1b95 100644 --- a/src/mumble/AppNap.mm +++ b/src/mumble/AppNap.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ApplicationPalette.h b/src/mumble/ApplicationPalette.h index 88eb82fd8..96c4bbeaf 100644 --- a/src/mumble/ApplicationPalette.h +++ b/src/mumble/ApplicationPalette.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ApplicationPaletteTemplate.h b/src/mumble/ApplicationPaletteTemplate.h index 5c841aefd..403fa4b22 100644 --- a/src/mumble/ApplicationPaletteTemplate.h +++ b/src/mumble/ApplicationPaletteTemplate.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Audio.cpp b/src/mumble/Audio.cpp index 051055a8d..2710e267d 100644 --- a/src/mumble/Audio.cpp +++ b/src/mumble/Audio.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Audio.h b/src/mumble/Audio.h index 9503be75b..19c804fc7 100644 --- a/src/mumble/Audio.h +++ b/src/mumble/Audio.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioConfigDialog.cpp b/src/mumble/AudioConfigDialog.cpp index 418929782..224b48616 100644 --- a/src/mumble/AudioConfigDialog.cpp +++ b/src/mumble/AudioConfigDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioConfigDialog.h b/src/mumble/AudioConfigDialog.h index 03dda6673..d1749609f 100644 --- a/src/mumble/AudioConfigDialog.h +++ b/src/mumble/AudioConfigDialog.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioInput.cpp b/src/mumble/AudioInput.cpp index 392474143..4e1790afe 100644 --- a/src/mumble/AudioInput.cpp +++ b/src/mumble/AudioInput.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioInput.h b/src/mumble/AudioInput.h index 59568e0df..a9eeee903 100644 --- a/src/mumble/AudioInput.h +++ b/src/mumble/AudioInput.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutput.cpp b/src/mumble/AudioOutput.cpp index bdd34f7b8..cb0ff6f62 100644 --- a/src/mumble/AudioOutput.cpp +++ b/src/mumble/AudioOutput.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutput.h b/src/mumble/AudioOutput.h index 6567cc8e8..73838e606 100644 --- a/src/mumble/AudioOutput.h +++ b/src/mumble/AudioOutput.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutputSample.cpp b/src/mumble/AudioOutputSample.cpp index 6dbd7696f..4c3659de6 100644 --- a/src/mumble/AudioOutputSample.cpp +++ b/src/mumble/AudioOutputSample.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutputSample.h b/src/mumble/AudioOutputSample.h index 135127ac8..607dd730a 100644 --- a/src/mumble/AudioOutputSample.h +++ b/src/mumble/AudioOutputSample.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutputSpeech.cpp b/src/mumble/AudioOutputSpeech.cpp index 56b2c434b..bc48ed858 100644 --- a/src/mumble/AudioOutputSpeech.cpp +++ b/src/mumble/AudioOutputSpeech.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutputSpeech.h b/src/mumble/AudioOutputSpeech.h index bf3b4489f..09ffb2480 100644 --- a/src/mumble/AudioOutputSpeech.h +++ b/src/mumble/AudioOutputSpeech.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutputUser.cpp b/src/mumble/AudioOutputUser.cpp index 071ce7169..7b3081fb4 100644 --- a/src/mumble/AudioOutputUser.cpp +++ b/src/mumble/AudioOutputUser.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioOutputUser.h b/src/mumble/AudioOutputUser.h index e93472330..0b574b605 100644 --- a/src/mumble/AudioOutputUser.h +++ b/src/mumble/AudioOutputUser.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioStats.cpp b/src/mumble/AudioStats.cpp index c2642455d..798759ad5 100644 --- a/src/mumble/AudioStats.cpp +++ b/src/mumble/AudioStats.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioStats.h b/src/mumble/AudioStats.h index 5df5ae438..25a52a86f 100644 --- a/src/mumble/AudioStats.h +++ b/src/mumble/AudioStats.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioWizard.cpp b/src/mumble/AudioWizard.cpp index bf580ede6..ebbf55d48 100644 --- a/src/mumble/AudioWizard.cpp +++ b/src/mumble/AudioWizard.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/AudioWizard.h b/src/mumble/AudioWizard.h index f5b411819..3740628b8 100644 --- a/src/mumble/AudioWizard.h +++ b/src/mumble/AudioWizard.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/BanEditor.cpp b/src/mumble/BanEditor.cpp index a2fc046a2..98bbe1e74 100644 --- a/src/mumble/BanEditor.cpp +++ b/src/mumble/BanEditor.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/BanEditor.h b/src/mumble/BanEditor.h index 5dee4422c..7f92b36f8 100644 --- a/src/mumble/BanEditor.h +++ b/src/mumble/BanEditor.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CELTCodec.cpp b/src/mumble/CELTCodec.cpp index 2472cfdc2..38cb1f4c3 100644 --- a/src/mumble/CELTCodec.cpp +++ b/src/mumble/CELTCodec.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CELTCodec.h b/src/mumble/CELTCodec.h index c25e6c3fd..426d86b52 100644 --- a/src/mumble/CELTCodec.h +++ b/src/mumble/CELTCodec.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CELTCodec_sbcelt.cpp b/src/mumble/CELTCodec_sbcelt.cpp index 1226d2404..2fc89c7e8 100644 --- a/src/mumble/CELTCodec_sbcelt.cpp +++ b/src/mumble/CELTCodec_sbcelt.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Cert.cpp b/src/mumble/Cert.cpp index e2b939b99..76c96b0b9 100644 --- a/src/mumble/Cert.cpp +++ b/src/mumble/Cert.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Cert.h b/src/mumble/Cert.h index 6dc39d47d..03eade166 100644 --- a/src/mumble/Cert.h +++ b/src/mumble/Cert.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ClientUser.cpp b/src/mumble/ClientUser.cpp index 6655cf76e..724603335 100644 --- a/src/mumble/ClientUser.cpp +++ b/src/mumble/ClientUser.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ClientUser.h b/src/mumble/ClientUser.h index ec080c63b..4e4c9fabc 100644 --- a/src/mumble/ClientUser.h +++ b/src/mumble/ClientUser.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ConfigDialog.cpp b/src/mumble/ConfigDialog.cpp index 134dfb7a9..5e7fa5ade 100644 --- a/src/mumble/ConfigDialog.cpp +++ b/src/mumble/ConfigDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ConfigDialog.h b/src/mumble/ConfigDialog.h index 528c3c7dd..0bf3596df 100644 --- a/src/mumble/ConfigDialog.h +++ b/src/mumble/ConfigDialog.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ConfigWidget.cpp b/src/mumble/ConfigWidget.cpp index 015a25685..752663c5c 100644 --- a/src/mumble/ConfigWidget.cpp +++ b/src/mumble/ConfigWidget.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ConfigWidget.h b/src/mumble/ConfigWidget.h index 12a5a4029..c3be4379c 100644 --- a/src/mumble/ConfigWidget.h +++ b/src/mumble/ConfigWidget.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ConnectDialog.cpp b/src/mumble/ConnectDialog.cpp index d5d2fea8d..b20533946 100644 --- a/src/mumble/ConnectDialog.cpp +++ b/src/mumble/ConnectDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ConnectDialog.h b/src/mumble/ConnectDialog.h index 414cc9b88..ae6bce4df 100644 --- a/src/mumble/ConnectDialog.h +++ b/src/mumble/ConnectDialog.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CoreAudio.h b/src/mumble/CoreAudio.h index 5caaab57a..774228f94 100644 --- a/src/mumble/CoreAudio.h +++ b/src/mumble/CoreAudio.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CoreAudio.mm b/src/mumble/CoreAudio.mm index 135ace3a7..a438cb108 100644 --- a/src/mumble/CoreAudio.mm +++ b/src/mumble/CoreAudio.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CrashReporter.cpp b/src/mumble/CrashReporter.cpp index c83c5198f..3b62b8891 100644 --- a/src/mumble/CrashReporter.cpp +++ b/src/mumble/CrashReporter.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CrashReporter.h b/src/mumble/CrashReporter.h index db8010a9a..69d497185 100644 --- a/src/mumble/CrashReporter.h +++ b/src/mumble/CrashReporter.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CustomElements.cpp b/src/mumble/CustomElements.cpp index c36342f41..adea56ae4 100644 --- a/src/mumble/CustomElements.cpp +++ b/src/mumble/CustomElements.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/CustomElements.h b/src/mumble/CustomElements.h index de225c185..83c373422 100644 --- a/src/mumble/CustomElements.h +++ b/src/mumble/CustomElements.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/DBus.cpp b/src/mumble/DBus.cpp index d984663d3..5220de498 100644 --- a/src/mumble/DBus.cpp +++ b/src/mumble/DBus.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/DBus.h b/src/mumble/DBus.h index 4ac47a22b..ff0ce58b7 100644 --- a/src/mumble/DBus.h +++ b/src/mumble/DBus.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Database.cpp b/src/mumble/Database.cpp index 10f40d407..89d7eadaf 100644 --- a/src/mumble/Database.cpp +++ b/src/mumble/Database.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Database.h b/src/mumble/Database.h index 4bed1914d..e19d36bdd 100644 --- a/src/mumble/Database.h +++ b/src/mumble/Database.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/DeveloperConsole.cpp b/src/mumble/DeveloperConsole.cpp index 56f5c776d..4a1ee9ed8 100644 --- a/src/mumble/DeveloperConsole.cpp +++ b/src/mumble/DeveloperConsole.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/DeveloperConsole.h b/src/mumble/DeveloperConsole.h index 99914c4bb..6ece41840 100644 --- a/src/mumble/DeveloperConsole.h +++ b/src/mumble/DeveloperConsole.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/G15LCDEngine_helper.cpp b/src/mumble/G15LCDEngine_helper.cpp index e8ea5904a..b2cb862c4 100644 --- a/src/mumble/G15LCDEngine_helper.cpp +++ b/src/mumble/G15LCDEngine_helper.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/G15LCDEngine_helper.h b/src/mumble/G15LCDEngine_helper.h index e4c19802f..79b415706 100644 --- a/src/mumble/G15LCDEngine_helper.h +++ b/src/mumble/G15LCDEngine_helper.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/G15LCDEngine_lglcd.cpp b/src/mumble/G15LCDEngine_lglcd.cpp index 05b9e931e..f72f46ef5 100644 --- a/src/mumble/G15LCDEngine_lglcd.cpp +++ b/src/mumble/G15LCDEngine_lglcd.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/G15LCDEngine_lglcd.h b/src/mumble/G15LCDEngine_lglcd.h index a82b228c0..cf43e5fb0 100644 --- a/src/mumble/G15LCDEngine_lglcd.h +++ b/src/mumble/G15LCDEngine_lglcd.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/G15LCDEngine_unix.cpp b/src/mumble/G15LCDEngine_unix.cpp index 8765287e3..5520eeb71 100644 --- a/src/mumble/G15LCDEngine_unix.cpp +++ b/src/mumble/G15LCDEngine_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/G15LCDEngine_unix.h b/src/mumble/G15LCDEngine_unix.h index f5409c4dc..038b2d4b4 100644 --- a/src/mumble/G15LCDEngine_unix.h +++ b/src/mumble/G15LCDEngine_unix.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GKey.cpp b/src/mumble/GKey.cpp index 71206360c..cafba9784 100644 --- a/src/mumble/GKey.cpp +++ b/src/mumble/GKey.cpp @@ -1,152 +1,152 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -/* SPECIFICATION - * The code interfacing with the Logitech G-Keys DLL was implemented using the - * following spec: - * - * The G-keys DLL lives in - * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x64\LogitechGkey.dll" for x64 and - * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x86\LogitechGkey.dll" for x86. - * - * Its location can also be read from the registry, using the following keys: - * - * x86: - * "HKEY_CLASSES_ROOT\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary" - * - * x64: - * "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary" - * - * The registry keys are needed if a user installed the Logitech Gaming - * Software in a non-standard location. - * - * The DLL has an init function, it's called "LogiGkeyInit". It takes a - * pointer, but the parameter must always be nullptr. The function returns a BOOL - * as a status code. - * - * The DLL also has a shutdown function, called "LogiGkeyShutdown". It takes - * no parameters and does not return anything. - * - * You can poll for button states with the DLL using the functions - * "LogiGkeyIsMouseButtonPressed" and "LogiGkeyIsKeyboardGkeyPressed". - * - * The function "LogiGkeyIsMouseButtonPressed" takes a single int parameter, a - * button number. Mouse button numbers run from 6 up to and including 20. The - * function returns a BOOL that is true if the button is pressed, and false if - * not. - * - * The function "LogiGkeyIsKeyboardGkeyPressed" takes two int parameters, a - * button number and a mode number. Keyboard button numbers run from 1 up to - * and including 29. The mode number can 1, 2 or 3. The mode checks the button - * state in a specific mode. Typically, one queries all buttons for all modes, - * so one ends up with 29*3 calls to the function. The function returns a BOOL - * that is true if the button in the given mode is pressed, and false if not. - * - * There are also two functions, "LogiGkeyGetMouseButtonString" and - * "LogiGkeyGetKeyboardGkeyString". They take the same parameters as the - * polling functions above, but do not check whether the button is pressed or - * not. Instead, they return the name of the button being queried as a pointer - * to a NUL-terminated array of wchar_t's. Presumably, the pointer will be - * nullptr if the name cannot be retrieved or translated. - */ - -/* USAGE - * In order to use the gkeys on a logitech keyboard, any user must have the - * Logitech Gaming Software version 8.55+ installed on their computer. Then - * (re)start mumble. When mumble initializes the library, the LGS (Logitech - * Gaming Software) will create a profile called "mumble", featuring the mumble - * icon. In LGS, right click this icon, and select either "Set as Default" or - * "Set as Persistent". (See "What are persistent and default profiles?" in the - * LGS help by clicking on the "?" icon on the LGS window, or at - * http://www.logitech.com/assets/51813/3/lgs-guide.pdf). If mumble is not set - * as the default or persistent profile, then your keys will not be active - * unless mumble is the active window. - */ - -#include "GKey.h" - -#ifdef Q_CC_GNU -# define RESOLVE(var) \ - { \ - var = reinterpret_cast< __typeof__(var) >(qlLogiGkey.resolve(#var)); \ - bValid = bValid && var; \ - } -#else -# define RESOLVE(var) \ - { \ - *reinterpret_cast< void ** >(&var) = static_cast< void * >(qlLogiGkey.resolve(#var)); \ - bValid = bValid && var; \ - } -#endif - -const QUuid GKeyLibrary::quMouse = QUuid(QString::fromLatin1(GKEY_MOUSE_GUID)); -const QUuid GKeyLibrary::quKeyboard = QUuid(QString::fromLatin1(GKEY_KEYBOARD_GUID)); - -GKeyLibrary::GKeyLibrary() { - QStringList alternatives; - - HKEY key = nullptr; - DWORD type = 0; - WCHAR wcLocation[510]; - DWORD len = 510; - if (RegOpenKeyEx(GKEY_LOGITECH_DLL_REG_HKEY, GKEY_LOGITECH_DLL_REG_PATH, 0, KEY_READ, &key) == ERROR_SUCCESS) { - LONG err = RegQueryValueEx(key, L"", nullptr, &type, reinterpret_cast< LPBYTE >(wcLocation), &len); - if (err == ERROR_SUCCESS && type == REG_SZ) { - QString qsLocation = QString::fromUtf16(reinterpret_cast< ushort * >(wcLocation), len / 2); - qWarning("GKeyLibrary: Found ServerBinary with libLocation = \"%s\", len = %lu", qPrintable(qsLocation), - static_cast< unsigned long >(len)); - alternatives << qsLocation; - } else { - qWarning("GKeyLibrary: Error looking up ServerBinary (Error: 0x%lx, Type: 0x%lx, len: %lu)", - static_cast< unsigned long >(err), static_cast< unsigned long >(type), - static_cast< unsigned long >(len)); - } - } - - alternatives << QString::fromLatin1(GKEY_LOGITECH_DLL_DEFAULT_LOCATION); - foreach (const QString &lib, alternatives) { - qlLogiGkey.setFileName(lib); - - if (qlLogiGkey.load()) { - bValid = true; - break; - } - } - - RESOLVE(LogiGkeyInit); - RESOLVE(LogiGkeyShutdown); - RESOLVE(LogiGkeyIsMouseButtonPressed); - RESOLVE(LogiGkeyIsKeyboardGkeyPressed); - RESOLVE(LogiGkeyGetMouseButtonString); - RESOLVE(LogiGkeyGetKeyboardGkeyString); - - if (bValid) - bValid = LogiGkeyInit(nullptr); -} - -GKeyLibrary::~GKeyLibrary() { - if (LogiGkeyShutdown) - LogiGkeyShutdown(); -} - -bool GKeyLibrary::isValid() const { - return bValid; -} - -bool GKeyLibrary::isMouseButtonPressed(int button) { - return LogiGkeyIsMouseButtonPressed(button); -} - -bool GKeyLibrary::isKeyboardGkeyPressed(int key, int mode) { - return LogiGkeyIsKeyboardGkeyPressed(key, mode); -} - -QString GKeyLibrary::getMouseButtonString(int button) { - return QString::fromWCharArray(LogiGkeyGetMouseButtonString(button)); -} - -QString GKeyLibrary::getKeyboardGkeyString(int key, int mode) { - return QString::fromWCharArray(LogiGkeyGetKeyboardGkeyString(key, mode)); -} +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +/* SPECIFICATION + * The code interfacing with the Logitech G-Keys DLL was implemented using the + * following spec: + * + * The G-keys DLL lives in + * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x64\LogitechGkey.dll" for x64 and + * "C:\Program Files\Logitech Gaming Software\SDK\G-key\x86\LogitechGkey.dll" for x86. + * + * Its location can also be read from the registry, using the following keys: + * + * x86: + * "HKEY_CLASSES_ROOT\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary" + * + * x64: + * "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7bded654-f278-4977-a20f-6e72a0d07859}\ServerBinary" + * + * The registry keys are needed if a user installed the Logitech Gaming + * Software in a non-standard location. + * + * The DLL has an init function, it's called "LogiGkeyInit". It takes a + * pointer, but the parameter must always be nullptr. The function returns a BOOL + * as a status code. + * + * The DLL also has a shutdown function, called "LogiGkeyShutdown". It takes + * no parameters and does not return anything. + * + * You can poll for button states with the DLL using the functions + * "LogiGkeyIsMouseButtonPressed" and "LogiGkeyIsKeyboardGkeyPressed". + * + * The function "LogiGkeyIsMouseButtonPressed" takes a single int parameter, a + * button number. Mouse button numbers run from 6 up to and including 20. The + * function returns a BOOL that is true if the button is pressed, and false if + * not. + * + * The function "LogiGkeyIsKeyboardGkeyPressed" takes two int parameters, a + * button number and a mode number. Keyboard button numbers run from 1 up to + * and including 29. The mode number can 1, 2 or 3. The mode checks the button + * state in a specific mode. Typically, one queries all buttons for all modes, + * so one ends up with 29*3 calls to the function. The function returns a BOOL + * that is true if the button in the given mode is pressed, and false if not. + * + * There are also two functions, "LogiGkeyGetMouseButtonString" and + * "LogiGkeyGetKeyboardGkeyString". They take the same parameters as the + * polling functions above, but do not check whether the button is pressed or + * not. Instead, they return the name of the button being queried as a pointer + * to a NUL-terminated array of wchar_t's. Presumably, the pointer will be + * nullptr if the name cannot be retrieved or translated. + */ + +/* USAGE + * In order to use the gkeys on a logitech keyboard, any user must have the + * Logitech Gaming Software version 8.55+ installed on their computer. Then + * (re)start mumble. When mumble initializes the library, the LGS (Logitech + * Gaming Software) will create a profile called "mumble", featuring the mumble + * icon. In LGS, right click this icon, and select either "Set as Default" or + * "Set as Persistent". (See "What are persistent and default profiles?" in the + * LGS help by clicking on the "?" icon on the LGS window, or at + * http://www.logitech.com/assets/51813/3/lgs-guide.pdf). If mumble is not set + * as the default or persistent profile, then your keys will not be active + * unless mumble is the active window. + */ + +#include "GKey.h" + +#ifdef Q_CC_GNU +# define RESOLVE(var) \ + { \ + var = reinterpret_cast< __typeof__(var) >(qlLogiGkey.resolve(#var)); \ + bValid = bValid && var; \ + } +#else +# define RESOLVE(var) \ + { \ + *reinterpret_cast< void ** >(&var) = static_cast< void * >(qlLogiGkey.resolve(#var)); \ + bValid = bValid && var; \ + } +#endif + +const QUuid GKeyLibrary::quMouse = QUuid(QString::fromLatin1(GKEY_MOUSE_GUID)); +const QUuid GKeyLibrary::quKeyboard = QUuid(QString::fromLatin1(GKEY_KEYBOARD_GUID)); + +GKeyLibrary::GKeyLibrary() { + QStringList alternatives; + + HKEY key = nullptr; + DWORD type = 0; + WCHAR wcLocation[510]; + DWORD len = 510; + if (RegOpenKeyEx(GKEY_LOGITECH_DLL_REG_HKEY, GKEY_LOGITECH_DLL_REG_PATH, 0, KEY_READ, &key) == ERROR_SUCCESS) { + LONG err = RegQueryValueEx(key, L"", nullptr, &type, reinterpret_cast< LPBYTE >(wcLocation), &len); + if (err == ERROR_SUCCESS && type == REG_SZ) { + QString qsLocation = QString::fromUtf16(reinterpret_cast< ushort * >(wcLocation), len / 2); + qWarning("GKeyLibrary: Found ServerBinary with libLocation = \"%s\", len = %lu", qPrintable(qsLocation), + static_cast< unsigned long >(len)); + alternatives << qsLocation; + } else { + qWarning("GKeyLibrary: Error looking up ServerBinary (Error: 0x%lx, Type: 0x%lx, len: %lu)", + static_cast< unsigned long >(err), static_cast< unsigned long >(type), + static_cast< unsigned long >(len)); + } + } + + alternatives << QString::fromLatin1(GKEY_LOGITECH_DLL_DEFAULT_LOCATION); + foreach (const QString &lib, alternatives) { + qlLogiGkey.setFileName(lib); + + if (qlLogiGkey.load()) { + bValid = true; + break; + } + } + + RESOLVE(LogiGkeyInit); + RESOLVE(LogiGkeyShutdown); + RESOLVE(LogiGkeyIsMouseButtonPressed); + RESOLVE(LogiGkeyIsKeyboardGkeyPressed); + RESOLVE(LogiGkeyGetMouseButtonString); + RESOLVE(LogiGkeyGetKeyboardGkeyString); + + if (bValid) + bValid = LogiGkeyInit(nullptr); +} + +GKeyLibrary::~GKeyLibrary() { + if (LogiGkeyShutdown) + LogiGkeyShutdown(); +} + +bool GKeyLibrary::isValid() const { + return bValid; +} + +bool GKeyLibrary::isMouseButtonPressed(int button) { + return LogiGkeyIsMouseButtonPressed(button); +} + +bool GKeyLibrary::isKeyboardGkeyPressed(int key, int mode) { + return LogiGkeyIsKeyboardGkeyPressed(key, mode); +} + +QString GKeyLibrary::getMouseButtonString(int button) { + return QString::fromWCharArray(LogiGkeyGetMouseButtonString(button)); +} + +QString GKeyLibrary::getKeyboardGkeyString(int key, int mode) { + return QString::fromWCharArray(LogiGkeyGetKeyboardGkeyString(key, mode)); +} diff --git a/src/mumble/GKey.h b/src/mumble/GKey.h index e1df65833..cbc857b88 100644 --- a/src/mumble/GKey.h +++ b/src/mumble/GKey.h @@ -1,64 +1,64 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_MUMBLE_GKEY_H -#define MUMBLE_MUMBLE_GKEY_H - -#include "win.h" - -#include -#include -#include - -#define GKEY_LOGITECH_DLL_REG_HKEY HKEY_CLASSES_ROOT -#ifdef _M_X64 -# define GKEY_LOGITECH_DLL_REG_PATH L"Wow6432Node\\CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary" -# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \ - "C:/Program Files/Logitech Gaming Software/SDK/G-key/x64/LogitechGkey.dll" -#else -# define GKEY_LOGITECH_DLL_REG_PATH L"CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary" -# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \ - "C:/Program Files/Logitech Gaming Software/SDK/G-key/x86/LogitechGkey.dll" -#endif - -#define GKEY_MIN_MOUSE_BUTTON 6 -#define GKEY_MAX_MOUSE_BUTTON 20 -#define GKEY_MIN_KEYBOARD_BUTTON 1 -#define GKEY_MAX_KEYBOARD_BUTTON 29 -#define GKEY_MIN_KEYBOARD_MODE 1 -#define GKEY_MAX_KEYBOARD_MODE 3 - -#define GKEY_BUTTON_MOUSE 1 -#define GKEY_BUTTON_KEYBOARD 2 - -#define GKEY_MOUSE_GUID "c41e60af-9022-46cf-bc39-37981082d716" -#define GKEY_KEYBOARD_GUID "153e64e6-98c8-4e03-80ef-5ffd33d25b8a" - -class GKeyLibrary { -public: - GKeyLibrary(); - virtual ~GKeyLibrary(); - bool isValid() const; - static const QUuid quMouse; - static const QUuid quKeyboard; - - bool isMouseButtonPressed(int button); - bool isKeyboardGkeyPressed(int key, int mode); - QString getMouseButtonString(int button); - QString getKeyboardGkeyString(int key, int mode); - -protected: - QLibrary qlLogiGkey; - bool bValid; - - BOOL (*LogiGkeyInit)(void *); - void (*LogiGkeyShutdown)(); - BOOL (*LogiGkeyIsMouseButtonPressed)(int button); - BOOL (*LogiGkeyIsKeyboardGkeyPressed)(int key, int mode); - wchar_t *(*LogiGkeyGetMouseButtonString)(int button); - wchar_t *(*LogiGkeyGetKeyboardGkeyString)(int key, int mode); -}; - -#endif // MUMBLE_MUMBLE_GKEY_H +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_GKEY_H +#define MUMBLE_MUMBLE_GKEY_H + +#include "win.h" + +#include +#include +#include + +#define GKEY_LOGITECH_DLL_REG_HKEY HKEY_CLASSES_ROOT +#ifdef _M_X64 +# define GKEY_LOGITECH_DLL_REG_PATH L"Wow6432Node\\CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary" +# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \ + "C:/Program Files/Logitech Gaming Software/SDK/G-key/x64/LogitechGkey.dll" +#else +# define GKEY_LOGITECH_DLL_REG_PATH L"CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary" +# define GKEY_LOGITECH_DLL_DEFAULT_LOCATION \ + "C:/Program Files/Logitech Gaming Software/SDK/G-key/x86/LogitechGkey.dll" +#endif + +#define GKEY_MIN_MOUSE_BUTTON 6 +#define GKEY_MAX_MOUSE_BUTTON 20 +#define GKEY_MIN_KEYBOARD_BUTTON 1 +#define GKEY_MAX_KEYBOARD_BUTTON 29 +#define GKEY_MIN_KEYBOARD_MODE 1 +#define GKEY_MAX_KEYBOARD_MODE 3 + +#define GKEY_BUTTON_MOUSE 1 +#define GKEY_BUTTON_KEYBOARD 2 + +#define GKEY_MOUSE_GUID "c41e60af-9022-46cf-bc39-37981082d716" +#define GKEY_KEYBOARD_GUID "153e64e6-98c8-4e03-80ef-5ffd33d25b8a" + +class GKeyLibrary { +public: + GKeyLibrary(); + virtual ~GKeyLibrary(); + bool isValid() const; + static const QUuid quMouse; + static const QUuid quKeyboard; + + bool isMouseButtonPressed(int button); + bool isKeyboardGkeyPressed(int key, int mode); + QString getMouseButtonString(int button); + QString getKeyboardGkeyString(int key, int mode); + +protected: + QLibrary qlLogiGkey; + bool bValid; + + BOOL (*LogiGkeyInit)(void *); + void (*LogiGkeyShutdown)(); + BOOL (*LogiGkeyIsMouseButtonPressed)(int button); + BOOL (*LogiGkeyIsKeyboardGkeyPressed)(int key, int mode); + wchar_t *(*LogiGkeyGetMouseButtonString)(int button); + wchar_t *(*LogiGkeyGetKeyboardGkeyString)(int key, int mode); +}; + +#endif // MUMBLE_MUMBLE_GKEY_H diff --git a/src/mumble/Global.cpp b/src/mumble/Global.cpp index fcb0dc8dc..a8977e746 100644 --- a/src/mumble/Global.cpp +++ b/src/mumble/Global.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Global.h b/src/mumble/Global.h index e3094014c..1da6253f8 100644 --- a/src/mumble/Global.h +++ b/src/mumble/Global.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut.cpp b/src/mumble/GlobalShortcut.cpp index 3640ed8b5..5cfc88766 100644 --- a/src/mumble/GlobalShortcut.cpp +++ b/src/mumble/GlobalShortcut.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut.h b/src/mumble/GlobalShortcut.h index 186d73d7e..dae566046 100644 --- a/src/mumble/GlobalShortcut.h +++ b/src/mumble/GlobalShortcut.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut_macx.h b/src/mumble/GlobalShortcut_macx.h index 20f8d4498..1d3de4672 100644 --- a/src/mumble/GlobalShortcut_macx.h +++ b/src/mumble/GlobalShortcut_macx.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut_macx.mm b/src/mumble/GlobalShortcut_macx.mm index fb335c133..aaa73d9a4 100644 --- a/src/mumble/GlobalShortcut_macx.mm +++ b/src/mumble/GlobalShortcut_macx.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut_unix.cpp b/src/mumble/GlobalShortcut_unix.cpp index ce89ca787..9ae8c79fc 100644 --- a/src/mumble/GlobalShortcut_unix.cpp +++ b/src/mumble/GlobalShortcut_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut_unix.h b/src/mumble/GlobalShortcut_unix.h index 6f0022757..bfa849aa6 100644 --- a/src/mumble/GlobalShortcut_unix.h +++ b/src/mumble/GlobalShortcut_unix.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut_win.cpp b/src/mumble/GlobalShortcut_win.cpp index 76286bb28..7b949fa60 100644 --- a/src/mumble/GlobalShortcut_win.cpp +++ b/src/mumble/GlobalShortcut_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/GlobalShortcut_win.h b/src/mumble/GlobalShortcut_win.h index 988eafeb9..47cd9590c 100644 --- a/src/mumble/GlobalShortcut_win.h +++ b/src/mumble/GlobalShortcut_win.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/JackAudio.cpp b/src/mumble/JackAudio.cpp index 1000c8b7c..d50b0a951 100644 --- a/src/mumble/JackAudio.cpp +++ b/src/mumble/JackAudio.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2018-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/JackAudio.h b/src/mumble/JackAudio.h index 56a0b03fa..6bae1d3a0 100644 --- a/src/mumble/JackAudio.h +++ b/src/mumble/JackAudio.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2018-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/LCD.cpp b/src/mumble/LCD.cpp index 7356bf1e9..e5cde7bb8 100644 --- a/src/mumble/LCD.cpp +++ b/src/mumble/LCD.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/LCD.h b/src/mumble/LCD.h index d94aa90bf..83ebdef50 100644 --- a/src/mumble/LCD.h +++ b/src/mumble/LCD.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ListenerLocalVolumeDialog.cpp b/src/mumble/ListenerLocalVolumeDialog.cpp index 41a829feb..1607715bb 100644 --- a/src/mumble/ListenerLocalVolumeDialog.cpp +++ b/src/mumble/ListenerLocalVolumeDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ListenerLocalVolumeDialog.h b/src/mumble/ListenerLocalVolumeDialog.h index 40bb72965..348edccd6 100644 --- a/src/mumble/ListenerLocalVolumeDialog.h +++ b/src/mumble/ListenerLocalVolumeDialog.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Log.cpp b/src/mumble/Log.cpp index acb8363af..f4f44135f 100644 --- a/src/mumble/Log.cpp +++ b/src/mumble/Log.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Log.h b/src/mumble/Log.h index 761a0f268..f30c77c89 100644 --- a/src/mumble/Log.h +++ b/src/mumble/Log.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Log_macx.mm b/src/mumble/Log_macx.mm index 26544294f..42c6864cc 100644 --- a/src/mumble/Log_macx.mm +++ b/src/mumble/Log_macx.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Log_unix.cpp b/src/mumble/Log_unix.cpp index f6b27e790..0d9e4b043 100644 --- a/src/mumble/Log_unix.cpp +++ b/src/mumble/Log_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Log_win.cpp b/src/mumble/Log_win.cpp index 52a5122ad..35e9d05a5 100644 --- a/src/mumble/Log_win.cpp +++ b/src/mumble/Log_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/LookConfig.cpp b/src/mumble/LookConfig.cpp index 0b72abbe6..c0d51a681 100644 --- a/src/mumble/LookConfig.cpp +++ b/src/mumble/LookConfig.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2006-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/LookConfig.h b/src/mumble/LookConfig.h index ef9a2f97e..8881f1578 100644 --- a/src/mumble/LookConfig.h +++ b/src/mumble/LookConfig.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/MainWindow.cpp b/src/mumble/MainWindow.cpp index 613e33b97..14f487df8 100644 --- a/src/mumble/MainWindow.cpp +++ b/src/mumble/MainWindow.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/MainWindow.h b/src/mumble/MainWindow.h index ae473b2a8..a7f3a2615 100644 --- a/src/mumble/MainWindow.h +++ b/src/mumble/MainWindow.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ManualPlugin.cpp b/src/mumble/ManualPlugin.cpp index 3af6efb41..4b90d05e1 100644 --- a/src/mumble/ManualPlugin.cpp +++ b/src/mumble/ManualPlugin.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ManualPlugin.h b/src/mumble/ManualPlugin.h index 82da53a28..a3af1de02 100644 --- a/src/mumble/ManualPlugin.h +++ b/src/mumble/ManualPlugin.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Markdown.cpp b/src/mumble/Markdown.cpp index 8d877b4ed..3f60acb77 100644 --- a/src/mumble/Markdown.cpp +++ b/src/mumble/Markdown.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Markdown.h b/src/mumble/Markdown.h index 1684dd670..7892b252d 100644 --- a/src/mumble/Markdown.h +++ b/src/mumble/Markdown.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Messages.cpp b/src/mumble/Messages.cpp index 204c7c507..49575849a 100644 --- a/src/mumble/Messages.cpp +++ b/src/mumble/Messages.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/MumbleApplication.cpp b/src/mumble/MumbleApplication.cpp index fb1e458c1..005f2c124 100644 --- a/src/mumble/MumbleApplication.cpp +++ b/src/mumble/MumbleApplication.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/MumbleApplication.h b/src/mumble/MumbleApplication.h index ea1f0f77c..088fc4888 100644 --- a/src/mumble/MumbleApplication.h +++ b/src/mumble/MumbleApplication.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/NetworkConfig.cpp b/src/mumble/NetworkConfig.cpp index b35527372..d5bc0feb3 100644 --- a/src/mumble/NetworkConfig.cpp +++ b/src/mumble/NetworkConfig.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/NetworkConfig.h b/src/mumble/NetworkConfig.h index 1f871d7cc..45558ee00 100644 --- a/src/mumble/NetworkConfig.h +++ b/src/mumble/NetworkConfig.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OSS.cpp b/src/mumble/OSS.cpp index 30d4326fe..ac86950ff 100644 --- a/src/mumble/OSS.cpp +++ b/src/mumble/OSS.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OSS.h b/src/mumble/OSS.h index a282d61fb..723a5cc4e 100644 --- a/src/mumble/OSS.h +++ b/src/mumble/OSS.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OpusCodec.cpp b/src/mumble/OpusCodec.cpp index 1b3336938..8791b37e6 100644 --- a/src/mumble/OpusCodec.cpp +++ b/src/mumble/OpusCodec.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2018-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OpusCodec.h b/src/mumble/OpusCodec.h index 54a21ce03..d5775e372 100644 --- a/src/mumble/OpusCodec.h +++ b/src/mumble/OpusCodec.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2018-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Overlay.cpp b/src/mumble/Overlay.cpp index 30cd4bc2b..6782ba949 100644 --- a/src/mumble/Overlay.cpp +++ b/src/mumble/Overlay.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Overlay.h b/src/mumble/Overlay.h index b16bdb772..d1f35c8f0 100644 --- a/src/mumble/Overlay.h +++ b/src/mumble/Overlay.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayClient.cpp b/src/mumble/OverlayClient.cpp index cf9a3e845..7e3cdfc78 100644 --- a/src/mumble/OverlayClient.cpp +++ b/src/mumble/OverlayClient.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayClient.h b/src/mumble/OverlayClient.h index 6d2fc62cc..120091237 100644 --- a/src/mumble/OverlayClient.h +++ b/src/mumble/OverlayClient.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayConfig.cpp b/src/mumble/OverlayConfig.cpp index d73e3740c..8b16f0aa0 100644 --- a/src/mumble/OverlayConfig.cpp +++ b/src/mumble/OverlayConfig.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayConfig.h b/src/mumble/OverlayConfig.h index 0f6ca7247..c0178bfe1 100644 --- a/src/mumble/OverlayConfig.h +++ b/src/mumble/OverlayConfig.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayEditor.cpp b/src/mumble/OverlayEditor.cpp index a47b42444..a37cddd52 100644 --- a/src/mumble/OverlayEditor.cpp +++ b/src/mumble/OverlayEditor.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayEditor.h b/src/mumble/OverlayEditor.h index ce7f460c9..f292e7b68 100644 --- a/src/mumble/OverlayEditor.h +++ b/src/mumble/OverlayEditor.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayEditorScene.cpp b/src/mumble/OverlayEditorScene.cpp index 49413a505..a2bae4b63 100644 --- a/src/mumble/OverlayEditorScene.cpp +++ b/src/mumble/OverlayEditorScene.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayEditorScene.h b/src/mumble/OverlayEditorScene.h index 718196442..20880b769 100644 --- a/src/mumble/OverlayEditorScene.h +++ b/src/mumble/OverlayEditorScene.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayPositionableItem.cpp b/src/mumble/OverlayPositionableItem.cpp index eac5a5269..8fb28c47e 100644 --- a/src/mumble/OverlayPositionableItem.cpp +++ b/src/mumble/OverlayPositionableItem.cpp @@ -1,87 +1,87 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#include "OverlayPositionableItem.h" - -#include "Utils.h" - -#include -#include -#include - -OverlayPositionableItem::OverlayPositionableItem(QRectF *posPtr, const bool isPositionable) - : m_position(posPtr), m_isPositionEditable(isPositionable), m_qgeiHandle(nullptr) { -} - -OverlayPositionableItem::~OverlayPositionableItem() { - delete m_qgeiHandle; - m_qgeiHandle = nullptr; -} - -void OverlayPositionableItem::createPositioningHandle() { - m_qgeiHandle = new QGraphicsEllipseItem(QRectF(-4.0f, -4.0f, 8.0f, 8.0f)); - m_qgeiHandle->setPen(QPen(Qt::darkRed, 0.0f)); - m_qgeiHandle->setBrush(Qt::red); - m_qgeiHandle->setZValue(0.5f); - m_qgeiHandle->setFlag(QGraphicsItem::ItemIsMovable); - m_qgeiHandle->setFlag(QGraphicsItem::ItemIsSelectable); - scene()->addItem(m_qgeiHandle); - m_qgeiHandle->installSceneEventFilter(this); -} - -bool OverlayPositionableItem::sceneEventFilter(QGraphicsItem *watched, QEvent *e) { - switch (e->type()) { - case QEvent::GraphicsSceneMouseMove: - case QEvent::GraphicsSceneMouseRelease: - QMetaObject::invokeMethod(this, "onMove", Qt::QueuedConnection); - break; - default: - break; - } - return QGraphicsItem::sceneEventFilter(watched, e); -} - -void OverlayPositionableItem::onMove() { - if (!m_qgeiHandle) { - return; - } - - const QRectF &sr = scene()->sceneRect(); - const QPointF &p = m_qgeiHandle->pos(); - - m_position->setX(qBound< qreal >(0.0f, p.x() / sr.width(), 1.0f)); - m_position->setY(qBound< qreal >(0.0f, p.y() / sr.height(), 1.0f)); - - m_qgeiHandle->setPos(m_position->x() * sr.width(), m_position->y() * sr.height()); - - updateRender(); -} - -void OverlayPositionableItem::updateRender() { - const QRectF &sr = scene()->sceneRect(); - // Translate the 0..1 float position to the real scene coordinates (relative to absolute position) - QPoint absPos(iroundf(sr.width() * m_position->x() + 0.5f), iroundf(sr.height() * m_position->y() + 0.5f)); - - if (m_isPositionEditable) { - if (!m_qgeiHandle) { - createPositioningHandle(); - } - m_qgeiHandle->setPos(absPos.x(), absPos.y()); - } - - QRectF br = boundingRect(); - // Limit the position by the elements width (to make sure it is right-/bottom-bound rather than outside of the scene - QPoint maxPos(iroundf(sr.width() - br.width() + 0.5f), iroundf(sr.height() - br.height() + 0.5f)); - int basex = qBound< int >(0, absPos.x(), maxPos.x()); - int basey = qBound< int >(0, absPos.y(), maxPos.y()); - setPos(basex, basey); -} - -void OverlayPositionableItem::setItemVisible(const bool &visible) { - setVisible(visible); - if (m_qgeiHandle) { - m_qgeiHandle->setVisible(visible); - } -} +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "OverlayPositionableItem.h" + +#include "Utils.h" + +#include +#include +#include + +OverlayPositionableItem::OverlayPositionableItem(QRectF *posPtr, const bool isPositionable) + : m_position(posPtr), m_isPositionEditable(isPositionable), m_qgeiHandle(nullptr) { +} + +OverlayPositionableItem::~OverlayPositionableItem() { + delete m_qgeiHandle; + m_qgeiHandle = nullptr; +} + +void OverlayPositionableItem::createPositioningHandle() { + m_qgeiHandle = new QGraphicsEllipseItem(QRectF(-4.0f, -4.0f, 8.0f, 8.0f)); + m_qgeiHandle->setPen(QPen(Qt::darkRed, 0.0f)); + m_qgeiHandle->setBrush(Qt::red); + m_qgeiHandle->setZValue(0.5f); + m_qgeiHandle->setFlag(QGraphicsItem::ItemIsMovable); + m_qgeiHandle->setFlag(QGraphicsItem::ItemIsSelectable); + scene()->addItem(m_qgeiHandle); + m_qgeiHandle->installSceneEventFilter(this); +} + +bool OverlayPositionableItem::sceneEventFilter(QGraphicsItem *watched, QEvent *e) { + switch (e->type()) { + case QEvent::GraphicsSceneMouseMove: + case QEvent::GraphicsSceneMouseRelease: + QMetaObject::invokeMethod(this, "onMove", Qt::QueuedConnection); + break; + default: + break; + } + return QGraphicsItem::sceneEventFilter(watched, e); +} + +void OverlayPositionableItem::onMove() { + if (!m_qgeiHandle) { + return; + } + + const QRectF &sr = scene()->sceneRect(); + const QPointF &p = m_qgeiHandle->pos(); + + m_position->setX(qBound< qreal >(0.0f, p.x() / sr.width(), 1.0f)); + m_position->setY(qBound< qreal >(0.0f, p.y() / sr.height(), 1.0f)); + + m_qgeiHandle->setPos(m_position->x() * sr.width(), m_position->y() * sr.height()); + + updateRender(); +} + +void OverlayPositionableItem::updateRender() { + const QRectF &sr = scene()->sceneRect(); + // Translate the 0..1 float position to the real scene coordinates (relative to absolute position) + QPoint absPos(iroundf(sr.width() * m_position->x() + 0.5f), iroundf(sr.height() * m_position->y() + 0.5f)); + + if (m_isPositionEditable) { + if (!m_qgeiHandle) { + createPositioningHandle(); + } + m_qgeiHandle->setPos(absPos.x(), absPos.y()); + } + + QRectF br = boundingRect(); + // Limit the position by the elements width (to make sure it is right-/bottom-bound rather than outside of the scene + QPoint maxPos(iroundf(sr.width() - br.width() + 0.5f), iroundf(sr.height() - br.height() + 0.5f)); + int basex = qBound< int >(0, absPos.x(), maxPos.x()); + int basey = qBound< int >(0, absPos.y(), maxPos.y()); + setPos(basex, basey); +} + +void OverlayPositionableItem::setItemVisible(const bool &visible) { + setVisible(visible); + if (m_qgeiHandle) { + m_qgeiHandle->setVisible(visible); + } +} diff --git a/src/mumble/OverlayPositionableItem.h b/src/mumble/OverlayPositionableItem.h index 52a03d648..469cf38a5 100644 --- a/src/mumble/OverlayPositionableItem.h +++ b/src/mumble/OverlayPositionableItem.h @@ -1,33 +1,33 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H -#define MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H - -#include -#include - -class OverlayPositionableItem : public QObject, public QGraphicsPixmapItem { - Q_OBJECT - Q_DISABLE_COPY(OverlayPositionableItem); - -public: - OverlayPositionableItem(QRectF *posPtr, const bool isPositionable = false); - virtual ~OverlayPositionableItem(); - void updateRender(); - void setItemVisible(const bool &visible); - -private: - /// Float value between 0 and 1 where 0,0 is top left, and 1,1 is bottom right - QRectF *m_position; - const bool m_isPositionEditable; - QGraphicsEllipseItem *m_qgeiHandle; - void createPositioningHandle(); - bool sceneEventFilter(QGraphicsItem *, QEvent *) Q_DECL_OVERRIDE; -private slots: - void onMove(); -}; - -#endif +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H +#define MUMBLE_MUMBLE_OVERLAYPOSITIONABLEITEM_H + +#include +#include + +class OverlayPositionableItem : public QObject, public QGraphicsPixmapItem { + Q_OBJECT + Q_DISABLE_COPY(OverlayPositionableItem); + +public: + OverlayPositionableItem(QRectF *posPtr, const bool isPositionable = false); + virtual ~OverlayPositionableItem(); + void updateRender(); + void setItemVisible(const bool &visible); + +private: + /// Float value between 0 and 1 where 0,0 is top left, and 1,1 is bottom right + QRectF *m_position; + const bool m_isPositionEditable; + QGraphicsEllipseItem *m_qgeiHandle; + void createPositioningHandle(); + bool sceneEventFilter(QGraphicsItem *, QEvent *) Q_DECL_OVERRIDE; +private slots: + void onMove(); +}; + +#endif diff --git a/src/mumble/OverlayText.cpp b/src/mumble/OverlayText.cpp index c6a801d48..50b5cbc72 100644 --- a/src/mumble/OverlayText.cpp +++ b/src/mumble/OverlayText.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayText.h b/src/mumble/OverlayText.h index 812d7ad8c..108796ba2 100644 --- a/src/mumble/OverlayText.h +++ b/src/mumble/OverlayText.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayUser.cpp b/src/mumble/OverlayUser.cpp index e85797951..01660405f 100644 --- a/src/mumble/OverlayUser.cpp +++ b/src/mumble/OverlayUser.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayUser.h b/src/mumble/OverlayUser.h index 2064b5764..ab2a22310 100644 --- a/src/mumble/OverlayUser.h +++ b/src/mumble/OverlayUser.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayUserGroup.cpp b/src/mumble/OverlayUserGroup.cpp index 558e04b85..005cbcab9 100644 --- a/src/mumble/OverlayUserGroup.cpp +++ b/src/mumble/OverlayUserGroup.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/OverlayUserGroup.h b/src/mumble/OverlayUserGroup.h index dc0294c28..109b6a8fe 100644 --- a/src/mumble/OverlayUserGroup.h +++ b/src/mumble/OverlayUserGroup.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Overlay_macx.mm b/src/mumble/Overlay_macx.mm index b771460e8..5aa01f51e 100644 --- a/src/mumble/Overlay_macx.mm +++ b/src/mumble/Overlay_macx.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Overlay_unix.cpp b/src/mumble/Overlay_unix.cpp index fbd961608..e0e74dbb5 100644 --- a/src/mumble/Overlay_unix.cpp +++ b/src/mumble/Overlay_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Overlay_win.cpp b/src/mumble/Overlay_win.cpp index ae7f1a37b..6520137e2 100644 --- a/src/mumble/Overlay_win.cpp +++ b/src/mumble/Overlay_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Overlay_win.h b/src/mumble/Overlay_win.h index a6203faf3..666eb97ed 100644 --- a/src/mumble/Overlay_win.h +++ b/src/mumble/Overlay_win.h @@ -1,56 +1,56 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_MUMBLE_OVERLAY_WIN_H_ -#define MUMBLE_MUMBLE_OVERLAY_WIN_H_ - -#include "Overlay.h" - -#include "win.h" - -#include -#include -#include -#include -#include - -class OverlayPrivateWin : public OverlayPrivate { -private: - Q_OBJECT - Q_DISABLE_COPY(OverlayPrivateWin) - -public: - void setActive(bool); - OverlayPrivateWin(QObject *); - ~OverlayPrivateWin(); - -public slots: - void onHelperProcessStarted(); - void onHelperProcessError(QProcess::ProcessError); - void onHelperProcessExited(int exitCode, QProcess::ExitStatus exitStatus); - void onDelayedRestartTimerTriggered(); - -protected: - QProcess *m_helper_process; - QString m_helper_exe_path; - QStringList m_helper_exe_args; - QElapsedTimer m_helper_start_time; - QTimer *m_helper_restart_timer; - bool m_helper_enabled; - - QProcess *m_helper64_process; - QString m_helper64_exe_path; - QStringList m_helper64_exe_args; - QElapsedTimer m_helper64_start_time; - QTimer *m_helper64_restart_timer; - bool m_helper64_enabled; - - HANDLE m_mumble_handle; - bool m_active; - - void startHelper(QProcess *helper); -}; - -#endif +// Copyright 2005-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_OVERLAY_WIN_H_ +#define MUMBLE_MUMBLE_OVERLAY_WIN_H_ + +#include "Overlay.h" + +#include "win.h" + +#include +#include +#include +#include +#include + +class OverlayPrivateWin : public OverlayPrivate { +private: + Q_OBJECT + Q_DISABLE_COPY(OverlayPrivateWin) + +public: + void setActive(bool); + OverlayPrivateWin(QObject *); + ~OverlayPrivateWin(); + +public slots: + void onHelperProcessStarted(); + void onHelperProcessError(QProcess::ProcessError); + void onHelperProcessExited(int exitCode, QProcess::ExitStatus exitStatus); + void onDelayedRestartTimerTriggered(); + +protected: + QProcess *m_helper_process; + QString m_helper_exe_path; + QStringList m_helper_exe_args; + QElapsedTimer m_helper_start_time; + QTimer *m_helper_restart_timer; + bool m_helper_enabled; + + QProcess *m_helper64_process; + QString m_helper64_exe_path; + QStringList m_helper64_exe_args; + QElapsedTimer m_helper64_start_time; + QTimer *m_helper64_restart_timer; + bool m_helper64_enabled; + + HANDLE m_mumble_handle; + bool m_active; + + void startHelper(QProcess *helper); +}; + +#endif diff --git a/src/mumble/PAAudio.cpp b/src/mumble/PAAudio.cpp index 8da7c64af..03b9f5da7 100644 --- a/src/mumble/PAAudio.cpp +++ b/src/mumble/PAAudio.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/PAAudio.h b/src/mumble/PAAudio.h index 78790d964..b405cd63f 100644 --- a/src/mumble/PAAudio.h +++ b/src/mumble/PAAudio.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/PTTButtonWidget.cpp b/src/mumble/PTTButtonWidget.cpp index a8edbcb4a..c5584dd20 100644 --- a/src/mumble/PTTButtonWidget.cpp +++ b/src/mumble/PTTButtonWidget.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/PTTButtonWidget.h b/src/mumble/PTTButtonWidget.h index 038757d93..f5f42e7aa 100644 --- a/src/mumble/PTTButtonWidget.h +++ b/src/mumble/PTTButtonWidget.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/PathListWidget.cpp b/src/mumble/PathListWidget.cpp index eb6acdc29..6aabe69fa 100644 --- a/src/mumble/PathListWidget.cpp +++ b/src/mumble/PathListWidget.cpp @@ -1,92 +1,92 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#include "PathListWidget.h" - -#include "Overlay.h" - -#include -#include -#include -#include -#include -#include - -PathListWidget::PathListWidget(QWidget *parent) : QListWidget(parent), pathType(FILE_EXE) { - setAcceptDrops(true); -} - -void PathListWidget::setPathType(PathType type) { - pathType = type; -} - -void PathListWidget::addFilePath(const QString &path) { - QString qsAppIdentifier = OverlayAppInfo::applicationIdentifierForPath(path); - QStringList qslIdentifiers; - for (int i = 0; i < count(); i++) { - qslIdentifiers << item(i)->data(Qt::UserRole).toString(); - } - if (!qslIdentifiers.contains(qsAppIdentifier)) { - OverlayAppInfo oai = OverlayAppInfo::applicationInfoForId(qsAppIdentifier); - QListWidgetItem *qlwiApplication = new QListWidgetItem(oai.qiIcon, oai.qsDisplayName, this); - qlwiApplication->setData(Qt::UserRole, QVariant(qsAppIdentifier)); - setCurrentItem(qlwiApplication); - } -} - -void PathListWidget::addFolderPath(const QString &path) { - QString dir = QDir::toNativeSeparators(path); - QStringList qslIdentifiers; - for (int i = 0; i < count(); i++) { - qslIdentifiers << item(i)->data(Qt::UserRole).toString(); - } - if (!dir.isEmpty() && !qslIdentifiers.contains(dir)) { - QListWidgetItem *qlwiPath = new QListWidgetItem(QIcon(), QDir(dir).path(), this); - qlwiPath->setData(Qt::UserRole, QVariant(dir)); - setCurrentItem(qlwiPath); - } -} - -void PathListWidget::checkAcceptDragEvent(QDropEvent *event, bool store) { - if (event->mimeData()->hasUrls()) { - foreach (QUrl url, event->mimeData()->urls()) { - if (url.isLocalFile()) { - QFileInfo info(url.toLocalFile()); - switch (pathType) { - case FILE_EXE: - if (info.isFile() && info.isExecutable()) { - if (store) { - addFilePath(info.filePath()); - } - event->setDropAction(Qt::LinkAction); - event->accept(); - } - break; - case FOLDER: - if (info.isDir()) { - if (store) { - addFolderPath(url.toLocalFile()); - } - event->setDropAction(Qt::LinkAction); - event->accept(); - } - break; - } - } - } - } -} - -void PathListWidget::dragEnterEvent(QDragEnterEvent *event) { - checkAcceptDragEvent(event, false); -} - -void PathListWidget::dragMoveEvent(QDragMoveEvent *event) { - checkAcceptDragEvent(event, false); -} - -void PathListWidget::dropEvent(QDropEvent *event) { - checkAcceptDragEvent(event, true); -} +// Copyright 2017-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "PathListWidget.h" + +#include "Overlay.h" + +#include +#include +#include +#include +#include +#include + +PathListWidget::PathListWidget(QWidget *parent) : QListWidget(parent), pathType(FILE_EXE) { + setAcceptDrops(true); +} + +void PathListWidget::setPathType(PathType type) { + pathType = type; +} + +void PathListWidget::addFilePath(const QString &path) { + QString qsAppIdentifier = OverlayAppInfo::applicationIdentifierForPath(path); + QStringList qslIdentifiers; + for (int i = 0; i < count(); i++) { + qslIdentifiers << item(i)->data(Qt::UserRole).toString(); + } + if (!qslIdentifiers.contains(qsAppIdentifier)) { + OverlayAppInfo oai = OverlayAppInfo::applicationInfoForId(qsAppIdentifier); + QListWidgetItem *qlwiApplication = new QListWidgetItem(oai.qiIcon, oai.qsDisplayName, this); + qlwiApplication->setData(Qt::UserRole, QVariant(qsAppIdentifier)); + setCurrentItem(qlwiApplication); + } +} + +void PathListWidget::addFolderPath(const QString &path) { + QString dir = QDir::toNativeSeparators(path); + QStringList qslIdentifiers; + for (int i = 0; i < count(); i++) { + qslIdentifiers << item(i)->data(Qt::UserRole).toString(); + } + if (!dir.isEmpty() && !qslIdentifiers.contains(dir)) { + QListWidgetItem *qlwiPath = new QListWidgetItem(QIcon(), QDir(dir).path(), this); + qlwiPath->setData(Qt::UserRole, QVariant(dir)); + setCurrentItem(qlwiPath); + } +} + +void PathListWidget::checkAcceptDragEvent(QDropEvent *event, bool store) { + if (event->mimeData()->hasUrls()) { + foreach (QUrl url, event->mimeData()->urls()) { + if (url.isLocalFile()) { + QFileInfo info(url.toLocalFile()); + switch (pathType) { + case FILE_EXE: + if (info.isFile() && info.isExecutable()) { + if (store) { + addFilePath(info.filePath()); + } + event->setDropAction(Qt::LinkAction); + event->accept(); + } + break; + case FOLDER: + if (info.isDir()) { + if (store) { + addFolderPath(url.toLocalFile()); + } + event->setDropAction(Qt::LinkAction); + event->accept(); + } + break; + } + } + } + } +} + +void PathListWidget::dragEnterEvent(QDragEnterEvent *event) { + checkAcceptDragEvent(event, false); +} + +void PathListWidget::dragMoveEvent(QDragMoveEvent *event) { + checkAcceptDragEvent(event, false); +} + +void PathListWidget::dropEvent(QDropEvent *event) { + checkAcceptDragEvent(event, true); +} diff --git a/src/mumble/PathListWidget.h b/src/mumble/PathListWidget.h index 6753f2274..8b98811af 100644 --- a/src/mumble/PathListWidget.h +++ b/src/mumble/PathListWidget.h @@ -1,40 +1,40 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_MUMBLE_PATHLISTWIDGET_H_ -#define MUMBLE_MUMBLE_PATHLISTWIDGET_H_ - -#include - -class QGraphicsSceneDragDropEvent; -class QDropEvent; - -/** - * ListWidget that adds functionality for being able to drop files or folders to add them to the list. - * - * It makes use of OverlayAppInfo to display file/app information (e.g. the appropriate icon). - */ -class PathListWidget : public QListWidget { -public: - enum PathType { FILE_EXE, FOLDER }; - - PathListWidget(QWidget *parent = 0); - void setPathType(PathType type); - virtual void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE; - virtual void dragMoveEvent(QDragMoveEvent *event) Q_DECL_OVERRIDE; - virtual void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE; - -private: - Q_OBJECT - Q_DISABLE_COPY(PathListWidget) - - PathType pathType; - - void addFilePath(const QString &path); - void addFolderPath(const QString &path); - void checkAcceptDragEvent(QDropEvent *event, bool store); -}; - -#endif +// Copyright 2017-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_PATHLISTWIDGET_H_ +#define MUMBLE_MUMBLE_PATHLISTWIDGET_H_ + +#include + +class QGraphicsSceneDragDropEvent; +class QDropEvent; + +/** + * ListWidget that adds functionality for being able to drop files or folders to add them to the list. + * + * It makes use of OverlayAppInfo to display file/app information (e.g. the appropriate icon). + */ +class PathListWidget : public QListWidget { +public: + enum PathType { FILE_EXE, FOLDER }; + + PathListWidget(QWidget *parent = 0); + void setPathType(PathType type); + virtual void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE; + virtual void dragMoveEvent(QDragMoveEvent *event) Q_DECL_OVERRIDE; + virtual void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE; + +private: + Q_OBJECT + Q_DISABLE_COPY(PathListWidget) + + PathType pathType; + + void addFilePath(const QString &path); + void addFolderPath(const QString &path); + void checkAcceptDragEvent(QDropEvent *event, bool store); +}; + +#endif diff --git a/src/mumble/Plugins.cpp b/src/mumble/Plugins.cpp index 42eafe629..057912b25 100644 --- a/src/mumble/Plugins.cpp +++ b/src/mumble/Plugins.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Plugins.h b/src/mumble/Plugins.h index 2528457ba..30a63cd94 100644 --- a/src/mumble/Plugins.h +++ b/src/mumble/Plugins.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/PulseAudio.cpp b/src/mumble/PulseAudio.cpp index a60c05aea..1527ca444 100644 --- a/src/mumble/PulseAudio.cpp +++ b/src/mumble/PulseAudio.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/PulseAudio.h b/src/mumble/PulseAudio.h index 1728edd42..fec8863da 100644 --- a/src/mumble/PulseAudio.h +++ b/src/mumble/PulseAudio.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/RichTextEditor.cpp b/src/mumble/RichTextEditor.cpp index 189dd3e7b..c18eb1b87 100644 --- a/src/mumble/RichTextEditor.cpp +++ b/src/mumble/RichTextEditor.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/RichTextEditor.h b/src/mumble/RichTextEditor.h index 7c1fbb9c1..20ff8cef1 100644 --- a/src/mumble/RichTextEditor.h +++ b/src/mumble/RichTextEditor.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Screen.cpp b/src/mumble/Screen.cpp index c9e5898b5..39ca7397e 100644 --- a/src/mumble/Screen.cpp +++ b/src/mumble/Screen.cpp @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Screen.h b/src/mumble/Screen.h index 93f844bb5..426b82e03 100644 --- a/src/mumble/Screen.h +++ b/src/mumble/Screen.h @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ServerHandler.cpp b/src/mumble/ServerHandler.cpp index b4f1a7824..59e8a1436 100644 --- a/src/mumble/ServerHandler.cpp +++ b/src/mumble/ServerHandler.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ServerHandler.h b/src/mumble/ServerHandler.h index a598af5ab..89cd066c9 100644 --- a/src/mumble/ServerHandler.h +++ b/src/mumble/ServerHandler.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp index a1fa6d8a7..2b7f39b35 100644 --- a/src/mumble/Settings.cpp +++ b/src/mumble/Settings.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Settings.h b/src/mumble/Settings.h index c4f05cf7e..df9d917ae 100644 --- a/src/mumble/Settings.h +++ b/src/mumble/Settings.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SharedMemory.cpp b/src/mumble/SharedMemory.cpp index c199a27d8..9d9337c1c 100644 --- a/src/mumble/SharedMemory.cpp +++ b/src/mumble/SharedMemory.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SharedMemory.h b/src/mumble/SharedMemory.h index 0da1e0d55..bdd5d7ba3 100644 --- a/src/mumble/SharedMemory.h +++ b/src/mumble/SharedMemory.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SharedMemory_unix.cpp b/src/mumble/SharedMemory_unix.cpp index 509218604..444c02841 100644 --- a/src/mumble/SharedMemory_unix.cpp +++ b/src/mumble/SharedMemory_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SharedMemory_win.cpp b/src/mumble/SharedMemory_win.cpp index 68408fbc3..dad27c870 100644 --- a/src/mumble/SharedMemory_win.cpp +++ b/src/mumble/SharedMemory_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SocketRPC.cpp b/src/mumble/SocketRPC.cpp index c02244628..25121c7a3 100644 --- a/src/mumble/SocketRPC.cpp +++ b/src/mumble/SocketRPC.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SocketRPC.h b/src/mumble/SocketRPC.h index bfb4b35a8..8bf347b1e 100644 --- a/src/mumble/SocketRPC.h +++ b/src/mumble/SocketRPC.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SvgIcon.cpp b/src/mumble/SvgIcon.cpp index 9c5064c4c..4252507a9 100644 --- a/src/mumble/SvgIcon.cpp +++ b/src/mumble/SvgIcon.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2018-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/SvgIcon.h b/src/mumble/SvgIcon.h index 712fcf76f..cdc51837c 100644 --- a/src/mumble/SvgIcon.h +++ b/src/mumble/SvgIcon.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2018-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUI.cpp b/src/mumble/TalkingUI.cpp index 337eb1196..9417ccc68 100644 --- a/src/mumble/TalkingUI.cpp +++ b/src/mumble/TalkingUI.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUI.h b/src/mumble/TalkingUI.h index cad6b631d..b3f71699f 100644 --- a/src/mumble/TalkingUI.h +++ b/src/mumble/TalkingUI.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUIComponent.h b/src/mumble/TalkingUIComponent.h index 7f0035343..641136c87 100644 --- a/src/mumble/TalkingUIComponent.h +++ b/src/mumble/TalkingUIComponent.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUIContainer.cpp b/src/mumble/TalkingUIContainer.cpp index 8fbedef20..ef65a934c 100644 --- a/src/mumble/TalkingUIContainer.cpp +++ b/src/mumble/TalkingUIContainer.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUIContainer.h b/src/mumble/TalkingUIContainer.h index 55526755f..bf805ff21 100644 --- a/src/mumble/TalkingUIContainer.h +++ b/src/mumble/TalkingUIContainer.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUIEntry.cpp b/src/mumble/TalkingUIEntry.cpp index 5945dccca..7d9966cb0 100644 --- a/src/mumble/TalkingUIEntry.cpp +++ b/src/mumble/TalkingUIEntry.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUIEntry.h b/src/mumble/TalkingUIEntry.h index e7eb723d3..b1bedb8f3 100644 --- a/src/mumble/TalkingUIEntry.h +++ b/src/mumble/TalkingUIEntry.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUISelection.cpp b/src/mumble/TalkingUISelection.cpp index 0378e0660..bcdecd8b4 100644 --- a/src/mumble/TalkingUISelection.cpp +++ b/src/mumble/TalkingUISelection.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TalkingUISelection.h b/src/mumble/TalkingUISelection.h index 17b00be58..f58ff2e90 100644 --- a/src/mumble/TalkingUISelection.h +++ b/src/mumble/TalkingUISelection.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TaskList.cpp b/src/mumble/TaskList.cpp index ab0a80b02..e2a3c1e6b 100644 --- a/src/mumble/TaskList.cpp +++ b/src/mumble/TaskList.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TaskList.h b/src/mumble/TaskList.h index 6d45736ee..05fe04057 100644 --- a/src/mumble/TaskList.h +++ b/src/mumble/TaskList.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextMessage.cpp b/src/mumble/TextMessage.cpp index 33b9c411d..bc28b6960 100644 --- a/src/mumble/TextMessage.cpp +++ b/src/mumble/TextMessage.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextMessage.h b/src/mumble/TextMessage.h index 2dadec1dd..241d11819 100644 --- a/src/mumble/TextMessage.h +++ b/src/mumble/TextMessage.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextToSpeech.cpp b/src/mumble/TextToSpeech.cpp index 9d4796878..1379e4ab0 100644 --- a/src/mumble/TextToSpeech.cpp +++ b/src/mumble/TextToSpeech.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextToSpeech.h b/src/mumble/TextToSpeech.h index 08d483140..3bdc665ae 100644 --- a/src/mumble/TextToSpeech.h +++ b/src/mumble/TextToSpeech.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextToSpeech_macx.mm b/src/mumble/TextToSpeech_macx.mm index 34be3097a..83533540c 100644 --- a/src/mumble/TextToSpeech_macx.mm +++ b/src/mumble/TextToSpeech_macx.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextToSpeech_unix.cpp b/src/mumble/TextToSpeech_unix.cpp index 230339628..30d8db377 100644 --- a/src/mumble/TextToSpeech_unix.cpp +++ b/src/mumble/TextToSpeech_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/TextToSpeech_win.cpp b/src/mumble/TextToSpeech_win.cpp index e3befeb2b..48703c00e 100644 --- a/src/mumble/TextToSpeech_win.cpp +++ b/src/mumble/TextToSpeech_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ThemeInfo.cpp b/src/mumble/ThemeInfo.cpp index 1799c2273..4804d3d71 100644 --- a/src/mumble/ThemeInfo.cpp +++ b/src/mumble/ThemeInfo.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ThemeInfo.h b/src/mumble/ThemeInfo.h index 3277f84b9..b93550f87 100644 --- a/src/mumble/ThemeInfo.h +++ b/src/mumble/ThemeInfo.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Themes.cpp b/src/mumble/Themes.cpp index eb6389844..34d350ce9 100644 --- a/src/mumble/Themes.cpp +++ b/src/mumble/Themes.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2015-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Themes.h b/src/mumble/Themes.h index f14cb6d63..c040e8613 100644 --- a/src/mumble/Themes.h +++ b/src/mumble/Themes.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Tokens.cpp b/src/mumble/Tokens.cpp index 81e7a946f..514b2d6d9 100644 --- a/src/mumble/Tokens.cpp +++ b/src/mumble/Tokens.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Tokens.h b/src/mumble/Tokens.h index b130d8a89..5a647e7dd 100644 --- a/src/mumble/Tokens.h +++ b/src/mumble/Tokens.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Usage.cpp b/src/mumble/Usage.cpp index 4d0e5a092..95b7c2a68 100644 --- a/src/mumble/Usage.cpp +++ b/src/mumble/Usage.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Usage.h b/src/mumble/Usage.h index 2388b7480..49e7abd13 100644 --- a/src/mumble/Usage.h +++ b/src/mumble/Usage.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserEdit.cpp b/src/mumble/UserEdit.cpp index fa16681eb..c23fd746b 100644 --- a/src/mumble/UserEdit.cpp +++ b/src/mumble/UserEdit.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserEdit.h b/src/mumble/UserEdit.h index 5e0de7375..3152b723a 100644 --- a/src/mumble/UserEdit.h +++ b/src/mumble/UserEdit.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserInformation.cpp b/src/mumble/UserInformation.cpp index 4996bd856..a5780a81b 100644 --- a/src/mumble/UserInformation.cpp +++ b/src/mumble/UserInformation.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserInformation.h b/src/mumble/UserInformation.h index 4b54fd2e8..4fcd3dfee 100644 --- a/src/mumble/UserInformation.h +++ b/src/mumble/UserInformation.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserListModel.cpp b/src/mumble/UserListModel.cpp index b07b6bcee..23cafa8f5 100644 --- a/src/mumble/UserListModel.cpp +++ b/src/mumble/UserListModel.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2013-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserListModel.h b/src/mumble/UserListModel.h index 4da96e8ef..a990766df 100644 --- a/src/mumble/UserListModel.h +++ b/src/mumble/UserListModel.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2013-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserLocalNicknameDialog.cpp b/src/mumble/UserLocalNicknameDialog.cpp index 9e59cd42d..6c31a9cbb 100644 --- a/src/mumble/UserLocalNicknameDialog.cpp +++ b/src/mumble/UserLocalNicknameDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserLocalNicknameDialog.h b/src/mumble/UserLocalNicknameDialog.h index b3b91ac72..5baa9b908 100644 --- a/src/mumble/UserLocalNicknameDialog.h +++ b/src/mumble/UserLocalNicknameDialog.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserLocalVolumeDialog.cpp b/src/mumble/UserLocalVolumeDialog.cpp index ee2d529f9..20ddea688 100644 --- a/src/mumble/UserLocalVolumeDialog.cpp +++ b/src/mumble/UserLocalVolumeDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserLocalVolumeDialog.h b/src/mumble/UserLocalVolumeDialog.h index e4311e8c4..ca2d5fbe2 100644 --- a/src/mumble/UserLocalVolumeDialog.h +++ b/src/mumble/UserLocalVolumeDialog.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserLockFile.h b/src/mumble/UserLockFile.h index 431978bd9..9de08252d 100644 --- a/src/mumble/UserLockFile.h +++ b/src/mumble/UserLockFile.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserLockFile_win.cpp b/src/mumble/UserLockFile_win.cpp index c77454b52..243a5c4f3 100644 --- a/src/mumble/UserLockFile_win.cpp +++ b/src/mumble/UserLockFile_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserModel.cpp b/src/mumble/UserModel.cpp index 7d5fde979..b1253f48d 100644 --- a/src/mumble/UserModel.cpp +++ b/src/mumble/UserModel.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserModel.h b/src/mumble/UserModel.h index 449df09dd..b481b3c20 100644 --- a/src/mumble/UserModel.h +++ b/src/mumble/UserModel.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserView.cpp b/src/mumble/UserView.cpp index 99aec7b96..57b885636 100644 --- a/src/mumble/UserView.cpp +++ b/src/mumble/UserView.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2009-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/UserView.h b/src/mumble/UserView.h index fe3238013..6413b3262 100644 --- a/src/mumble/UserView.h +++ b/src/mumble/UserView.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/VersionCheck.cpp b/src/mumble/VersionCheck.cpp index 8defbe0d5..c001873ee 100644 --- a/src/mumble/VersionCheck.cpp +++ b/src/mumble/VersionCheck.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/VersionCheck.h b/src/mumble/VersionCheck.h index 30b512fe1..b036bcdcb 100644 --- a/src/mumble/VersionCheck.h +++ b/src/mumble/VersionCheck.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ViewCert.cpp b/src/mumble/ViewCert.cpp index e665ad1ab..19f4968f3 100644 --- a/src/mumble/ViewCert.cpp +++ b/src/mumble/ViewCert.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/ViewCert.h b/src/mumble/ViewCert.h index 6d1ee70f3..b77e05e08 100644 --- a/src/mumble/ViewCert.h +++ b/src/mumble/ViewCert.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/VoiceRecorder.cpp b/src/mumble/VoiceRecorder.cpp index cd2d5c331..2d3cffdb9 100644 --- a/src/mumble/VoiceRecorder.cpp +++ b/src/mumble/VoiceRecorder.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/VoiceRecorder.h b/src/mumble/VoiceRecorder.h index 41ed20a94..107b5f672 100644 --- a/src/mumble/VoiceRecorder.h +++ b/src/mumble/VoiceRecorder.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/VoiceRecorderDialog.cpp b/src/mumble/VoiceRecorderDialog.cpp index 5bb482138..b3103f0c0 100644 --- a/src/mumble/VoiceRecorderDialog.cpp +++ b/src/mumble/VoiceRecorderDialog.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/VoiceRecorderDialog.h b/src/mumble/VoiceRecorderDialog.h index 2d4973cde..f660d9dc7 100644 --- a/src/mumble/VoiceRecorderDialog.h +++ b/src/mumble/VoiceRecorderDialog.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WASAPI.cpp b/src/mumble/WASAPI.cpp index afa6308ba..f73b061cf 100644 --- a/src/mumble/WASAPI.cpp +++ b/src/mumble/WASAPI.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WASAPI.h b/src/mumble/WASAPI.h index 7ef33f4c0..9c5e4a3d6 100644 --- a/src/mumble/WASAPI.h +++ b/src/mumble/WASAPI.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WASAPINotificationClient.cpp b/src/mumble/WASAPINotificationClient.cpp index 78c033e72..28c8c5708 100644 --- a/src/mumble/WASAPINotificationClient.cpp +++ b/src/mumble/WASAPINotificationClient.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WASAPINotificationClient.h b/src/mumble/WASAPINotificationClient.h index fb1b64380..4397ed854 100644 --- a/src/mumble/WASAPINotificationClient.h +++ b/src/mumble/WASAPINotificationClient.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2012-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WebFetch.cpp b/src/mumble/WebFetch.cpp index 94c1fe10c..1bd8c53a6 100644 --- a/src/mumble/WebFetch.cpp +++ b/src/mumble/WebFetch.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2011-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WebFetch.h b/src/mumble/WebFetch.h index aa7dcd782..9947e9c79 100644 --- a/src/mumble/WebFetch.h +++ b/src/mumble/WebFetch.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/WinGUIDs.cpp b/src/mumble/WinGUIDs.cpp index b49862849..acae30a64 100644 --- a/src/mumble/WinGUIDs.cpp +++ b/src/mumble/WinGUIDs.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/XMLTools.cpp b/src/mumble/XMLTools.cpp index 2023b5eac..073a59763 100644 --- a/src/mumble/XMLTools.cpp +++ b/src/mumble/XMLTools.cpp @@ -1,201 +1,201 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#include "XMLTools.h" - -#include -#include -#include - -void XMLTools::recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int ¶graphs, - const QMap< QString, QString > &opstyle, const int close, bool ignore) { - while (!reader.atEnd()) { - QXmlStreamReader::TokenType tt = reader.readNext(); - - QXmlStreamAttributes a = reader.attributes(); - QMap< QString, QString > style; - QMap< QString, QString > pstyle = opstyle; - - QStringRef styleref = a.value(QLatin1String("style")); - if (!styleref.isNull()) { - QString stylestring = styleref.toString(); -#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) - QStringList styles = stylestring.split(QLatin1String(";"), Qt::SkipEmptyParts); -#else - // Qt 5.14 introduced the Qt::SplitBehavior flags deprecating the QString fields - QStringList styles = stylestring.split(QLatin1String(";"), QString::SkipEmptyParts); -#endif - foreach (QString s, styles) { - s = s.simplified(); - int idx = s.indexOf(QLatin1Char(':')); - QString key = (idx > 0) ? s.left(idx).simplified() : s; - QString val = (idx > 0) ? s.mid(idx + 1).simplified() : QString(); - - if (!pstyle.contains(key) || (pstyle.value(key) != val)) { - style.insert(key, val); - pstyle.insert(key, val); - } - } - } - - switch (tt) { - case QXmlStreamReader::StartElement: { - QString name = reader.name().toString(); - int rclose = 1; - if (name == QLatin1String("body")) { - rclose = 0; - ignore = false; - } else if (name == QLatin1String("span")) { - // Substitute style with , and - - rclose = 0; - if (style.value(QLatin1String("font-weight")) == QLatin1String("600")) { - writer.writeStartElement(QLatin1String("b")); - rclose++; - style.remove(QLatin1String("font-weight")); - } - if (style.value(QLatin1String("font-style")) == QLatin1String("italic")) { - writer.writeStartElement(QLatin1String("i")); - rclose++; - style.remove(QLatin1String("font-style")); - } - if (style.value(QLatin1String("text-decoration")) == QLatin1String("underline")) { - writer.writeStartElement(QLatin1String("u")); - rclose++; - style.remove(QLatin1String("text-decoration")); - } - if (!style.isEmpty()) { - rclose++; - writer.writeStartElement(name); - - QStringList qsl; - QMap< QString, QString >::const_iterator i; - for (i = style.constBegin(); i != style.constEnd(); ++i) { - if (!i.value().isEmpty()) - qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value()); - else - qsl << i.key(); - } - - writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; "))); - } - } else if (name == QLatin1String("p")) { - paragraphs++; - if (paragraphs == 1) { - // Ignore first paragraph. If it is styled empty drop its contents (e.g.
) too. - if (style.value(QLatin1String("-qt-paragraph-type")) == QLatin1String("empty")) { - reader.skipCurrentElement(); - continue; - } - rclose = 0; - } else { - rclose = 1; - writer.writeStartElement(name); - - if (!style.isEmpty()) { - QStringList qsl; - QMap< QString, QString >::const_iterator i; - for (i = style.constBegin(); i != style.constEnd(); ++i) { - if (!i.value().isEmpty()) - qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value()); - else - qsl << i.key(); - } - - writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; "))); - } - } - } else if (name == QLatin1String("a")) { - // Set pstyle to include implicit blue underline. - rclose = 1; - writer.writeCurrentToken(reader); - pstyle.insert(QLatin1String("text-decoration"), QLatin1String("underline")); - pstyle.insert(QLatin1String("color"), QLatin1String("#0000ff")); - } else if (!ignore) { - rclose = 1; - writer.writeCurrentToken(reader); - } - - recurseParse(reader, writer, paragraphs, pstyle, rclose, ignore); - break; - } - case QXmlStreamReader::EndElement: - if (!ignore) - for (int i = 0; i < close; ++i) - writer.writeEndElement(); - return; - case QXmlStreamReader::Characters: - if (!ignore) - writer.writeCharacters(reader.text().toString()); - break; - default: - break; - } - } -} - -bool XMLTools::unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer) { - bool changed = false; - bool needclose = false; - - QStringList qslConcat; - qslConcat << QLatin1String("b"); - qslConcat << QLatin1String("i"); - qslConcat << QLatin1String("u"); - qslConcat << QLatin1String("a"); - - QList< QString > qlNames; - QList< QXmlStreamAttributes > qlAttributes; - - while (!reader.atEnd()) { - QXmlStreamReader::TokenType tt = reader.readNext(); - QString name = reader.name().toString(); - switch (tt) { - case QXmlStreamReader::StartDocument: - case QXmlStreamReader::EndDocument: - break; - case QXmlStreamReader::StartElement: { - QXmlStreamAttributes a = reader.attributes(); - - if (name == QLatin1String("unduplicate")) - break; - - if (needclose) { - needclose = false; - - if ((a == qlAttributes.last()) && (name == qlNames.last()) && (qslConcat.contains(name))) { - changed = true; - break; - } - qlNames.takeLast(); - qlAttributes.takeLast(); - writer.writeEndElement(); - } - writer.writeCurrentToken(reader); - qlNames.append(name); - qlAttributes.append(a); - } break; - case QXmlStreamReader::EndElement: { - if (name == QLatin1String("unduplicate")) - break; - if (needclose) { - qlNames.takeLast(); - qlAttributes.takeLast(); - writer.writeCurrentToken(reader); - } - needclose = true; - } break; - default: - if (needclose) { - writer.writeEndElement(); - needclose = false; - } - writer.writeCurrentToken(reader); - } - } - if (needclose) - writer.writeEndElement(); - return changed; -} +// Copyright 2017-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "XMLTools.h" + +#include +#include +#include + +void XMLTools::recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int ¶graphs, + const QMap< QString, QString > &opstyle, const int close, bool ignore) { + while (!reader.atEnd()) { + QXmlStreamReader::TokenType tt = reader.readNext(); + + QXmlStreamAttributes a = reader.attributes(); + QMap< QString, QString > style; + QMap< QString, QString > pstyle = opstyle; + + QStringRef styleref = a.value(QLatin1String("style")); + if (!styleref.isNull()) { + QString stylestring = styleref.toString(); +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + QStringList styles = stylestring.split(QLatin1String(";"), Qt::SkipEmptyParts); +#else + // Qt 5.14 introduced the Qt::SplitBehavior flags deprecating the QString fields + QStringList styles = stylestring.split(QLatin1String(";"), QString::SkipEmptyParts); +#endif + foreach (QString s, styles) { + s = s.simplified(); + int idx = s.indexOf(QLatin1Char(':')); + QString key = (idx > 0) ? s.left(idx).simplified() : s; + QString val = (idx > 0) ? s.mid(idx + 1).simplified() : QString(); + + if (!pstyle.contains(key) || (pstyle.value(key) != val)) { + style.insert(key, val); + pstyle.insert(key, val); + } + } + } + + switch (tt) { + case QXmlStreamReader::StartElement: { + QString name = reader.name().toString(); + int rclose = 1; + if (name == QLatin1String("body")) { + rclose = 0; + ignore = false; + } else if (name == QLatin1String("span")) { + // Substitute style with , and + + rclose = 0; + if (style.value(QLatin1String("font-weight")) == QLatin1String("600")) { + writer.writeStartElement(QLatin1String("b")); + rclose++; + style.remove(QLatin1String("font-weight")); + } + if (style.value(QLatin1String("font-style")) == QLatin1String("italic")) { + writer.writeStartElement(QLatin1String("i")); + rclose++; + style.remove(QLatin1String("font-style")); + } + if (style.value(QLatin1String("text-decoration")) == QLatin1String("underline")) { + writer.writeStartElement(QLatin1String("u")); + rclose++; + style.remove(QLatin1String("text-decoration")); + } + if (!style.isEmpty()) { + rclose++; + writer.writeStartElement(name); + + QStringList qsl; + QMap< QString, QString >::const_iterator i; + for (i = style.constBegin(); i != style.constEnd(); ++i) { + if (!i.value().isEmpty()) + qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value()); + else + qsl << i.key(); + } + + writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; "))); + } + } else if (name == QLatin1String("p")) { + paragraphs++; + if (paragraphs == 1) { + // Ignore first paragraph. If it is styled empty drop its contents (e.g.
) too. + if (style.value(QLatin1String("-qt-paragraph-type")) == QLatin1String("empty")) { + reader.skipCurrentElement(); + continue; + } + rclose = 0; + } else { + rclose = 1; + writer.writeStartElement(name); + + if (!style.isEmpty()) { + QStringList qsl; + QMap< QString, QString >::const_iterator i; + for (i = style.constBegin(); i != style.constEnd(); ++i) { + if (!i.value().isEmpty()) + qsl << QString::fromLatin1("%1:%2").arg(i.key(), i.value()); + else + qsl << i.key(); + } + + writer.writeAttribute(QLatin1String("style"), qsl.join(QLatin1String("; "))); + } + } + } else if (name == QLatin1String("a")) { + // Set pstyle to include implicit blue underline. + rclose = 1; + writer.writeCurrentToken(reader); + pstyle.insert(QLatin1String("text-decoration"), QLatin1String("underline")); + pstyle.insert(QLatin1String("color"), QLatin1String("#0000ff")); + } else if (!ignore) { + rclose = 1; + writer.writeCurrentToken(reader); + } + + recurseParse(reader, writer, paragraphs, pstyle, rclose, ignore); + break; + } + case QXmlStreamReader::EndElement: + if (!ignore) + for (int i = 0; i < close; ++i) + writer.writeEndElement(); + return; + case QXmlStreamReader::Characters: + if (!ignore) + writer.writeCharacters(reader.text().toString()); + break; + default: + break; + } + } +} + +bool XMLTools::unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer) { + bool changed = false; + bool needclose = false; + + QStringList qslConcat; + qslConcat << QLatin1String("b"); + qslConcat << QLatin1String("i"); + qslConcat << QLatin1String("u"); + qslConcat << QLatin1String("a"); + + QList< QString > qlNames; + QList< QXmlStreamAttributes > qlAttributes; + + while (!reader.atEnd()) { + QXmlStreamReader::TokenType tt = reader.readNext(); + QString name = reader.name().toString(); + switch (tt) { + case QXmlStreamReader::StartDocument: + case QXmlStreamReader::EndDocument: + break; + case QXmlStreamReader::StartElement: { + QXmlStreamAttributes a = reader.attributes(); + + if (name == QLatin1String("unduplicate")) + break; + + if (needclose) { + needclose = false; + + if ((a == qlAttributes.last()) && (name == qlNames.last()) && (qslConcat.contains(name))) { + changed = true; + break; + } + qlNames.takeLast(); + qlAttributes.takeLast(); + writer.writeEndElement(); + } + writer.writeCurrentToken(reader); + qlNames.append(name); + qlAttributes.append(a); + } break; + case QXmlStreamReader::EndElement: { + if (name == QLatin1String("unduplicate")) + break; + if (needclose) { + qlNames.takeLast(); + qlAttributes.takeLast(); + writer.writeCurrentToken(reader); + } + needclose = true; + } break; + default: + if (needclose) { + writer.writeEndElement(); + needclose = false; + } + writer.writeCurrentToken(reader); + } + } + if (needclose) + writer.writeEndElement(); + return changed; +} diff --git a/src/mumble/XMLTools.h b/src/mumble/XMLTools.h index 2d09364f5..f9a970276 100644 --- a/src/mumble/XMLTools.h +++ b/src/mumble/XMLTools.h @@ -1,38 +1,38 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_MUMBLE_XMLTOOLS_H_ -#define MUMBLE_MUMBLE_XMLTOOLS_H_ - -#include -#include -#include -#include - -class XMLTools : public QObject { - Q_OBJECT -public: - /* Recursively parse and output XHTML. - * This will drop , etc, take the contents of and strip out unnecesarry styles. - * It will also change into matching , or . - */ - static void recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int ¶graphs, - const QMap< QString, QString > &opstyle, const int close = 0, bool ignore = true); - - /* Iterate XML and remove close-followed-by-open. - * For example, make "bold with italic" into - * "bold with italic" - * - * If the input XML is or may not be valid, a "unduplicate" tag can be used as a root element, - * which will be dropped and not written to writer. - * - * Input XML has to be valid XML. - * - * Works on b, i, u, and a elements. - */ - static bool unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer); -}; - -#endif // XMLTOOLS_H +// Copyright 2017-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_XMLTOOLS_H_ +#define MUMBLE_MUMBLE_XMLTOOLS_H_ + +#include +#include +#include +#include + +class XMLTools : public QObject { + Q_OBJECT +public: + /* Recursively parse and output XHTML. + * This will drop , etc, take the contents of and strip out unnecesarry styles. + * It will also change into matching , or . + */ + static void recurseParse(QXmlStreamReader &reader, QXmlStreamWriter &writer, int ¶graphs, + const QMap< QString, QString > &opstyle, const int close = 0, bool ignore = true); + + /* Iterate XML and remove close-followed-by-open. + * For example, make "bold with italic" into + * "bold with italic" + * + * If the input XML is or may not be valid, a "unduplicate" tag can be used as a root element, + * which will be dropped and not written to writer. + * + * Input XML has to be valid XML. + * + * Works on b, i, u, and a elements. + */ + static bool unduplicateTags(QXmlStreamReader &reader, QXmlStreamWriter &writer); +}; + +#endif // XMLTOOLS_H diff --git a/src/mumble/XboxInput.cpp b/src/mumble/XboxInput.cpp index 2ebcbe5da..34e924076 100644 --- a/src/mumble/XboxInput.cpp +++ b/src/mumble/XboxInput.cpp @@ -1,69 +1,69 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#include "XboxInput.h" - -#include - -const QUuid XboxInput::s_XboxInputGuid = QUuid(QString::fromLatin1("ca3937e3-640c-4d9e-9ef3-903f8b4fbcab")); - -XboxInput::XboxInput() - : GetState(nullptr), m_getStateFunc(nullptr), m_getStateExFunc(nullptr), m_xinputlib(nullptr), m_valid(false) { - // Load the most suitable XInput DLL available. - // - // We prefer 1_4 and 1_3 over the others because they provide - // XInputGetStateEx(), which allows us to query the state of - // the guide button. - // - // See https://msdn.microsoft.com/en-us/library/windows/desktop/hh405051(v=vs.85).aspx - // for more information. - QStringList alternatives; - alternatives << QLatin1String("XInput1_4.dll"); - alternatives << QLatin1String("xinput1_3.dll"); - alternatives << QLatin1String("XInput9_1_0.dll"); - alternatives << QLatin1String("xinput1_2.dll"); - alternatives << QLatin1String("xinput1_1.dll"); - - foreach (const QString &lib, alternatives) { - m_xinputlib = LoadLibraryW(reinterpret_cast< const wchar_t * >(lib.utf16())); - if (m_xinputlib) { - qWarning("XboxInput: using XInput DLL '%s'", qPrintable(lib)); - m_valid = true; - break; - } - } - - if (!m_valid) { - qWarning("XboxInput: no valid XInput DLL was found on the system."); - return; - } - - m_getStateFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, "XInputGetState")); - // Undocumented XInputGetStateEx -- ordinal 100. It is available in XInput 1.3 and greater. - // It provides access to the state of the guide button. - // For reference, see SDL's XInput support: http://www.libsdl.org/tmp/SDL/src/core/windows/SDL_xinput.c - m_getStateExFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, (char *) 100)); - - if (m_getStateExFunc) { - GetState = m_getStateExFunc; - qWarning("XboxInput: using XInputGetStateEx() as querying function."); - } else if (m_getStateFunc) { - GetState = m_getStateFunc; - qWarning("XboxInput: using XInputGetState() as querying function."); - } else { - m_valid = false; - qWarning("XboxInput: no valid querying function found."); - } -} - -XboxInput::~XboxInput() { - if (m_xinputlib) { - FreeLibrary(m_xinputlib); - } -} - -bool XboxInput::isValid() const { - return m_valid; -} +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include "XboxInput.h" + +#include + +const QUuid XboxInput::s_XboxInputGuid = QUuid(QString::fromLatin1("ca3937e3-640c-4d9e-9ef3-903f8b4fbcab")); + +XboxInput::XboxInput() + : GetState(nullptr), m_getStateFunc(nullptr), m_getStateExFunc(nullptr), m_xinputlib(nullptr), m_valid(false) { + // Load the most suitable XInput DLL available. + // + // We prefer 1_4 and 1_3 over the others because they provide + // XInputGetStateEx(), which allows us to query the state of + // the guide button. + // + // See https://msdn.microsoft.com/en-us/library/windows/desktop/hh405051(v=vs.85).aspx + // for more information. + QStringList alternatives; + alternatives << QLatin1String("XInput1_4.dll"); + alternatives << QLatin1String("xinput1_3.dll"); + alternatives << QLatin1String("XInput9_1_0.dll"); + alternatives << QLatin1String("xinput1_2.dll"); + alternatives << QLatin1String("xinput1_1.dll"); + + foreach (const QString &lib, alternatives) { + m_xinputlib = LoadLibraryW(reinterpret_cast< const wchar_t * >(lib.utf16())); + if (m_xinputlib) { + qWarning("XboxInput: using XInput DLL '%s'", qPrintable(lib)); + m_valid = true; + break; + } + } + + if (!m_valid) { + qWarning("XboxInput: no valid XInput DLL was found on the system."); + return; + } + + m_getStateFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, "XInputGetState")); + // Undocumented XInputGetStateEx -- ordinal 100. It is available in XInput 1.3 and greater. + // It provides access to the state of the guide button. + // For reference, see SDL's XInput support: http://www.libsdl.org/tmp/SDL/src/core/windows/SDL_xinput.c + m_getStateExFunc = reinterpret_cast< XboxInputGetStateFunc >(GetProcAddress(m_xinputlib, (char *) 100)); + + if (m_getStateExFunc) { + GetState = m_getStateExFunc; + qWarning("XboxInput: using XInputGetStateEx() as querying function."); + } else if (m_getStateFunc) { + GetState = m_getStateFunc; + qWarning("XboxInput: using XInputGetState() as querying function."); + } else { + m_valid = false; + qWarning("XboxInput: no valid querying function found."); + } +} + +XboxInput::~XboxInput() { + if (m_xinputlib) { + FreeLibrary(m_xinputlib); + } +} + +bool XboxInput::isValid() const { + return m_valid; +} diff --git a/src/mumble/XboxInput.h b/src/mumble/XboxInput.h index 86496cd29..a511f8779 100644 --- a/src/mumble/XboxInput.h +++ b/src/mumble/XboxInput.h @@ -1,84 +1,84 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. -// Use of this source code is governed by a BSD-style license -// that can be found in the LICENSE file at the root of the -// Mumble source tree or at . - -#ifndef MUMBLE_MUMBLE_XBOXINPUT_H_ -#define MUMBLE_MUMBLE_XBOXINPUT_H_ - -#include "win.h" - -#include - -#include - -/// XBOXINPUT_MAX_DEVICES defines the maximum -/// number of devices that can be connected -/// to the system at once. -/// -/// In typical operation, one calls GetState() -/// in a loop bounded by XBOXINPUT_MAX_DEVICES. -#define XBOXINPUT_MAX_DEVICES 4 - -/// XBOXINPUT_TRIGGER_THRESHOLD defines the thresold -/// that an analog trigger (leftTrigger and -/// rightTrigger of XboxInputState) must have exceeded -/// in order to count as a button press. -#define XBOXINPUT_TRIGGER_THRESHOLD 30 - -/// XboxInputState represents the state of an -/// Xbox controller as returned by GetState(). -struct XboxInputState { - uint32_t packetNumber; - uint16_t buttons; - uint8_t leftTrigger; - uint8_t rightTrigger; - uint16_t leftThumbX; - uint16_t leftThumbY; - uint16_t rightThumbY; - uint16_t rightThumbX; - uint32_t paddingReserved; // Required for XInputGetStateEx. Not required for XInputGetState. -}; - -typedef uint32_t(WINAPI *XboxInputGetStateFunc)(uint32_t deviceIndex, XboxInputState *state); - -/// XboxInput is an XInput wrapper that dynamically loads an appropriate -/// xinput*.dll on construction and provides access to its GetState(Ex) -/// function. -class XboxInput { -public: - XboxInput(); - virtual ~XboxInput(); - - /// s_XboxInputGuid is the GUID used by GlobalShortcut_win - /// to distinguish XboxInputLibrary's events from other event - /// soures. - static const QUuid s_XboxInputGuid; - - /// isValid determines wheter the XboxInputLibrary - /// is usable. - bool isValid() const; - - /// Query the state of the Xbox controller at deviceIndex. - /// If the function succeeds, it returns 0 (Windows's ERROR_SUCCESS). - /// If no device is connected, it returns 0x48F (Windows's ERROR_DEVICE_NOT_CONNECTED). - XboxInputGetStateFunc GetState; - -protected: - /// m_getStateFunc represents XInputGetState from the XInput DLL. - XboxInputGetStateFunc m_getStateFunc; - - /// m_getStateFuncEx represents XInputGetStateEx, which is optionally - /// available in the XInput DLL. - XboxInputGetStateFunc m_getStateExFunc; - - /// m_xinputlib is the handle to the XInput DLL as returned by - /// LoadLibrary. - HMODULE m_xinputlib; - - /// m_valid determines whether or not the XboxInputLibrary - /// is valid for use. - bool m_valid; -}; - -#endif +// Copyright 2015-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#ifndef MUMBLE_MUMBLE_XBOXINPUT_H_ +#define MUMBLE_MUMBLE_XBOXINPUT_H_ + +#include "win.h" + +#include + +#include + +/// XBOXINPUT_MAX_DEVICES defines the maximum +/// number of devices that can be connected +/// to the system at once. +/// +/// In typical operation, one calls GetState() +/// in a loop bounded by XBOXINPUT_MAX_DEVICES. +#define XBOXINPUT_MAX_DEVICES 4 + +/// XBOXINPUT_TRIGGER_THRESHOLD defines the thresold +/// that an analog trigger (leftTrigger and +/// rightTrigger of XboxInputState) must have exceeded +/// in order to count as a button press. +#define XBOXINPUT_TRIGGER_THRESHOLD 30 + +/// XboxInputState represents the state of an +/// Xbox controller as returned by GetState(). +struct XboxInputState { + uint32_t packetNumber; + uint16_t buttons; + uint8_t leftTrigger; + uint8_t rightTrigger; + uint16_t leftThumbX; + uint16_t leftThumbY; + uint16_t rightThumbY; + uint16_t rightThumbX; + uint32_t paddingReserved; // Required for XInputGetStateEx. Not required for XInputGetState. +}; + +typedef uint32_t(WINAPI *XboxInputGetStateFunc)(uint32_t deviceIndex, XboxInputState *state); + +/// XboxInput is an XInput wrapper that dynamically loads an appropriate +/// xinput*.dll on construction and provides access to its GetState(Ex) +/// function. +class XboxInput { +public: + XboxInput(); + virtual ~XboxInput(); + + /// s_XboxInputGuid is the GUID used by GlobalShortcut_win + /// to distinguish XboxInputLibrary's events from other event + /// soures. + static const QUuid s_XboxInputGuid; + + /// isValid determines wheter the XboxInputLibrary + /// is usable. + bool isValid() const; + + /// Query the state of the Xbox controller at deviceIndex. + /// If the function succeeds, it returns 0 (Windows's ERROR_SUCCESS). + /// If no device is connected, it returns 0x48F (Windows's ERROR_DEVICE_NOT_CONNECTED). + XboxInputGetStateFunc GetState; + +protected: + /// m_getStateFunc represents XInputGetState from the XInput DLL. + XboxInputGetStateFunc m_getStateFunc; + + /// m_getStateFuncEx represents XInputGetStateEx, which is optionally + /// available in the XInput DLL. + XboxInputGetStateFunc m_getStateExFunc; + + /// m_xinputlib is the handle to the XInput DLL as returned by + /// LoadLibrary. + HMODULE m_xinputlib; + + /// m_valid determines whether or not the XboxInputLibrary + /// is valid for use. + bool m_valid; +}; + +#endif diff --git a/src/mumble/Zeroconf.cpp b/src/mumble/Zeroconf.cpp index ebefcdbe7..10bdf4a2f 100644 --- a/src/mumble/Zeroconf.cpp +++ b/src/mumble/Zeroconf.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/Zeroconf.h b/src/mumble/Zeroconf.h index 87506c3b3..441c324ad 100644 --- a/src/mumble/Zeroconf.h +++ b/src/mumble/Zeroconf.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/main.cpp b/src/mumble/main.cpp index d51befa93..0801d9b3b 100644 --- a/src/mumble/main.cpp +++ b/src/mumble/main.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/mumble_pch.hpp b/src/mumble/mumble_pch.hpp index 874e6d50a..6a8061895 100644 --- a/src/mumble/mumble_pch.hpp +++ b/src/mumble/mumble_pch.hpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/os_early_win.cpp b/src/mumble/os_early_win.cpp index 87c1e2d71..975bf154b 100644 --- a/src/mumble/os_early_win.cpp +++ b/src/mumble/os_early_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/os_macx.mm b/src/mumble/os_macx.mm index 15f55bd47..cab6c4c83 100644 --- a/src/mumble/os_macx.mm +++ b/src/mumble/os_macx.mm @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/os_unix.cpp b/src/mumble/os_unix.cpp index 504bce4f3..a8fadb3b1 100644 --- a/src/mumble/os_unix.cpp +++ b/src/mumble/os_unix.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/os_win.cpp b/src/mumble/os_win.cpp index ff7ebfa45..a148b291a 100644 --- a/src/mumble/os_win.cpp +++ b/src/mumble/os_win.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2006-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/widgets/CompletablePage.cpp b/src/mumble/widgets/CompletablePage.cpp index 350b56cbf..18edb7e42 100644 --- a/src/mumble/widgets/CompletablePage.cpp +++ b/src/mumble/widgets/CompletablePage.cpp @@ -1,4 +1,4 @@ -// Copyright 2021 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/widgets/MUComboBox.cpp b/src/mumble/widgets/MUComboBox.cpp index 4b35da394..682a4e653 100644 --- a/src/mumble/widgets/MUComboBox.cpp +++ b/src/mumble/widgets/MUComboBox.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/widgets/MUComboBox.h b/src/mumble/widgets/MUComboBox.h index c25d6fff0..583467712 100644 --- a/src/mumble/widgets/MUComboBox.h +++ b/src/mumble/widgets/MUComboBox.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/widgets/MultiStyleWidgetWrapper.cpp b/src/mumble/widgets/MultiStyleWidgetWrapper.cpp index fd7795cbf..288c094b9 100644 --- a/src/mumble/widgets/MultiStyleWidgetWrapper.cpp +++ b/src/mumble/widgets/MultiStyleWidgetWrapper.cpp @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble/widgets/MultiStyleWidgetWrapper.h b/src/mumble/widgets/MultiStyleWidgetWrapper.h index 3ca40af5e..1cdfa4fdd 100644 --- a/src/mumble/widgets/MultiStyleWidgetWrapper.h +++ b/src/mumble/widgets/MultiStyleWidgetWrapper.h @@ -1,4 +1,4 @@ -// Copyright 2020 The Mumble Developers. All rights reserved. +// Copyright 2020-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble_exe/Overlay.cpp b/src/mumble_exe/Overlay.cpp index d47b3247a..b7169e824 100644 --- a/src/mumble_exe/Overlay.cpp +++ b/src/mumble_exe/Overlay.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/mumble_exe/mumble_exe.cpp b/src/mumble_exe/mumble_exe.cpp index 22b23df5d..c22ae2d0c 100644 --- a/src/mumble_exe/mumble_exe.cpp +++ b/src/mumble_exe/mumble_exe.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2013-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/About.cpp b/src/murmur/About.cpp index 1906af930..456ecbbba 100644 --- a/src/murmur/About.cpp +++ b/src/murmur/About.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/About.h b/src/murmur/About.h index f3efa5a53..4bc141774 100644 --- a/src/murmur/About.h +++ b/src/murmur/About.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Cert.cpp b/src/murmur/Cert.cpp index cb6bf71bc..12d68c4e0 100644 --- a/src/murmur/Cert.cpp +++ b/src/murmur/Cert.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/DBus.cpp b/src/murmur/DBus.cpp index e08cf537f..a870b2f8e 100644 --- a/src/murmur/DBus.cpp +++ b/src/murmur/DBus.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/DBus.h b/src/murmur/DBus.h index 210611d8a..bffdecd9d 100644 --- a/src/murmur/DBus.h +++ b/src/murmur/DBus.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Messages.cpp b/src/murmur/Messages.cpp index a073a0933..9e94fc37f 100644 --- a/src/murmur/Messages.cpp +++ b/src/murmur/Messages.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Meta.cpp b/src/murmur/Meta.cpp index a87044a1e..d04d297de 100644 --- a/src/murmur/Meta.cpp +++ b/src/murmur/Meta.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Meta.h b/src/murmur/Meta.h index 4f98bc87e..5426e46ef 100644 --- a/src/murmur/Meta.h +++ b/src/murmur/Meta.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Murmur.ice b/src/murmur/Murmur.ice index ce1dd1230..65393e863 100644 --- a/src/murmur/Murmur.ice +++ b/src/murmur/Murmur.ice @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/MurmurGRPCImpl.cpp b/src/murmur/MurmurGRPCImpl.cpp index 3299ddc94..37ea5c550 100644 --- a/src/murmur/MurmurGRPCImpl.cpp +++ b/src/murmur/MurmurGRPCImpl.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/MurmurGRPCImpl.h b/src/murmur/MurmurGRPCImpl.h index b23348d6d..dc7edd716 100644 --- a/src/murmur/MurmurGRPCImpl.h +++ b/src/murmur/MurmurGRPCImpl.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/MurmurI.h b/src/murmur/MurmurI.h index ddca19fee..be17deddc 100644 --- a/src/murmur/MurmurI.h +++ b/src/murmur/MurmurI.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/MurmurIce.cpp b/src/murmur/MurmurIce.cpp index 4bc5a4bd5..a9525a86b 100644 --- a/src/murmur/MurmurIce.cpp +++ b/src/murmur/MurmurIce.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/MurmurIce.h b/src/murmur/MurmurIce.h index 9d1402820..c14a7b5f5 100644 --- a/src/murmur/MurmurIce.h +++ b/src/murmur/MurmurIce.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/MurmurIceWrapper.cpp b/src/murmur/MurmurIceWrapper.cpp index 3b442ecbb..7d6a5ae3a 100644 --- a/src/murmur/MurmurIceWrapper.cpp +++ b/src/murmur/MurmurIceWrapper.cpp @@ -1,3 +1,8 @@ +// Copyright 2008-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + // This file was auto-generated by scripts/generateIceWrapper.py on 2020-09-12 -- DO NOT EDIT MANUALLY! #include diff --git a/src/murmur/MurmurRPC.proto b/src/murmur/MurmurRPC.proto index f40fe53a4..a490e6008 100644 --- a/src/murmur/MurmurRPC.proto +++ b/src/murmur/MurmurRPC.proto @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/PBKDF2.cpp b/src/murmur/PBKDF2.cpp index f8fb895d2..e1038b6b2 100644 --- a/src/murmur/PBKDF2.cpp +++ b/src/murmur/PBKDF2.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/PBKDF2.h b/src/murmur/PBKDF2.h index 7a6be0606..995766e08 100644 --- a/src/murmur/PBKDF2.h +++ b/src/murmur/PBKDF2.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2014-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/RPC.cpp b/src/murmur/RPC.cpp index 0d0163744..d6f9e74ec 100644 --- a/src/murmur/RPC.cpp +++ b/src/murmur/RPC.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2008-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Register.cpp b/src/murmur/Register.cpp index bf05d3e1c..06cee5b21 100644 --- a/src/murmur/Register.cpp +++ b/src/murmur/Register.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Server.cpp b/src/murmur/Server.cpp index 4122e975b..7745a9867 100644 --- a/src/murmur/Server.cpp +++ b/src/murmur/Server.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Server.h b/src/murmur/Server.h index eaf05d898..17418fd55 100644 --- a/src/murmur/Server.h +++ b/src/murmur/Server.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/ServerDB.cpp b/src/murmur/ServerDB.cpp index 58316d699..e415910a5 100644 --- a/src/murmur/ServerDB.cpp +++ b/src/murmur/ServerDB.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/ServerDB.h b/src/murmur/ServerDB.h index 2b05b0324..2b470a8bf 100644 --- a/src/murmur/ServerDB.h +++ b/src/murmur/ServerDB.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/ServerUser.cpp b/src/murmur/ServerUser.cpp index b1ee0e27f..f2dac8abb 100644 --- a/src/murmur/ServerUser.cpp +++ b/src/murmur/ServerUser.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/ServerUser.h b/src/murmur/ServerUser.h index c5ab6dda1..fd40071ca 100644 --- a/src/murmur/ServerUser.h +++ b/src/murmur/ServerUser.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2010-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Tray.cpp b/src/murmur/Tray.cpp index 8fed8a85e..977c420bf 100644 --- a/src/murmur/Tray.cpp +++ b/src/murmur/Tray.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Tray.h b/src/murmur/Tray.h index 43dc5881a..6fe06e2cd 100644 --- a/src/murmur/Tray.h +++ b/src/murmur/Tray.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/UnixMurmur.cpp b/src/murmur/UnixMurmur.cpp index 68159177e..09ebd6cde 100644 --- a/src/murmur/UnixMurmur.cpp +++ b/src/murmur/UnixMurmur.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/UnixMurmur.h b/src/murmur/UnixMurmur.h index faf63d318..3f69aad86 100644 --- a/src/murmur/UnixMurmur.h +++ b/src/murmur/UnixMurmur.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Zeroconf.cpp b/src/murmur/Zeroconf.cpp index 4727c592e..01c455928 100644 --- a/src/murmur/Zeroconf.cpp +++ b/src/murmur/Zeroconf.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/Zeroconf.h b/src/murmur/Zeroconf.h index 4dd953ed5..0d0487f9f 100644 --- a/src/murmur/Zeroconf.h +++ b/src/murmur/Zeroconf.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/main.cpp b/src/murmur/main.cpp index 1aff85a40..541c959ca 100644 --- a/src/murmur/main.cpp +++ b/src/murmur/main.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2005-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur/murmur_pch.h b/src/murmur/murmur_pch.h index 8eab1b459..b900346a0 100644 --- a/src/murmur/murmur_pch.h +++ b/src/murmur/murmur_pch.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2006-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/murmur_grpcwrapper_protoc_plugin/main.cpp b/src/murmur_grpcwrapper_protoc_plugin/main.cpp index 9d172524c..ea6e19112 100644 --- a/src/murmur_grpcwrapper_protoc_plugin/main.cpp +++ b/src/murmur_grpcwrapper_protoc_plugin/main.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2016-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/Benchmark.cpp b/src/tests/Benchmark.cpp index 216d266ea..251923ad4 100644 --- a/src/tests/Benchmark.cpp +++ b/src/tests/Benchmark.cpp @@ -1,3 +1,8 @@ +// Copyright 2007-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Provided a target address spawns a specified number of senders/speakers, * UDP-listeners and TCP-listeners. diff --git a/src/tests/Collections.cpp b/src/tests/Collections.cpp index 30a5b3930..ef6a5228d 100644 --- a/src/tests/Collections.cpp +++ b/src/tests/Collections.cpp @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Benchmark of storage mechanisms; array, vector, Qt collections. */ diff --git a/src/tests/Emit.cpp b/src/tests/Emit.cpp index 81417573c..8250bf6a9 100644 --- a/src/tests/Emit.cpp +++ b/src/tests/Emit.cpp @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + #include "Timer.h" #include #include diff --git a/src/tests/Hash.cpp b/src/tests/Hash.cpp index a82408177..6f4908b04 100644 --- a/src/tests/Hash.cpp +++ b/src/tests/Hash.cpp @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + #include #include "Timer.h" diff --git a/src/tests/Lock.cpp b/src/tests/Lock.cpp index 48edf602b..26897f5cb 100644 --- a/src/tests/Lock.cpp +++ b/src/tests/Lock.cpp @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Benchmark of different locking mechanisms; QMutex, PosixMutex, Silly * (int-flag). diff --git a/src/tests/OverlayTest.cpp b/src/tests/OverlayTest.cpp index 56152c6c3..289d91525 100644 --- a/src/tests/OverlayTest.cpp +++ b/src/tests/OverlayTest.cpp @@ -1,3 +1,8 @@ +// Copyright 2010-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Overlay drawing test application. */ diff --git a/src/tests/ProtoBuf.cpp b/src/tests/ProtoBuf.cpp index faa47081c..efa1cc0c8 100644 --- a/src/tests/ProtoBuf.cpp +++ b/src/tests/ProtoBuf.cpp @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Protobuf binding benchmarks (serialisation, deserialization, ...). */ diff --git a/src/tests/ProtoBuf.proto b/src/tests/ProtoBuf.proto index 2a178fc49..2052ab76b 100644 --- a/src/tests/ProtoBuf.proto +++ b/src/tests/ProtoBuf.proto @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + option optimize_for = SPEED; message Authenticate { diff --git a/src/tests/Resample.cpp b/src/tests/Resample.cpp index 909b62554..cb0c72d90 100644 --- a/src/tests/Resample.cpp +++ b/src/tests/Resample.cpp @@ -1,3 +1,8 @@ +// Copyright 2009-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Speex resampling test / information. */ diff --git a/src/tests/TestCrypt/TestCrypt.cpp b/src/tests/TestCrypt/TestCrypt.cpp index 6954e0ce2..349acc034 100644 --- a/src/tests/TestCrypt/TestCrypt.cpp +++ b/src/tests/TestCrypt/TestCrypt.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestCryptographicHash/TestCryptographicHash.cpp b/src/tests/TestCryptographicHash/TestCryptographicHash.cpp index c1bfce51a..555ba7ed9 100644 --- a/src/tests/TestCryptographicHash/TestCryptographicHash.cpp +++ b/src/tests/TestCryptographicHash/TestCryptographicHash.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestCryptographicRandom/TestCryptographicRandom.cpp b/src/tests/TestCryptographicRandom/TestCryptographicRandom.cpp index 1c6dcd1d7..6183093b8 100644 --- a/src/tests/TestCryptographicRandom/TestCryptographicRandom.cpp +++ b/src/tests/TestCryptographicRandom/TestCryptographicRandom.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestFFDHE/TestFFDHE.cpp b/src/tests/TestFFDHE/TestFFDHE.cpp index 926963ceb..da7f6fa6f 100644 --- a/src/tests/TestFFDHE/TestFFDHE.cpp +++ b/src/tests/TestFFDHE/TestFFDHE.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestLink.cpp b/src/tests/TestLink.cpp index 327f00cb6..10f1f6a28 100644 --- a/src/tests/TestLink.cpp +++ b/src/tests/TestLink.cpp @@ -1,3 +1,8 @@ +// Copyright 2008-2021 The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + /** * Test-/Exampleprogram which links against the Mumble link plugin to send * positional data. diff --git a/src/tests/TestPacketDataStream/TestPacketDataStream.cpp b/src/tests/TestPacketDataStream/TestPacketDataStream.cpp index 94ea14ab4..87506309f 100644 --- a/src/tests/TestPacketDataStream/TestPacketDataStream.cpp +++ b/src/tests/TestPacketDataStream/TestPacketDataStream.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestPasswordGenerator/TestPasswordGenerator.cpp b/src/tests/TestPasswordGenerator/TestPasswordGenerator.cpp index 6d7e80291..bc9bd1ed0 100644 --- a/src/tests/TestPasswordGenerator/TestPasswordGenerator.cpp +++ b/src/tests/TestPasswordGenerator/TestPasswordGenerator.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestSSLLocks/TestSSLLocks.cpp b/src/tests/TestSSLLocks/TestSSLLocks.cpp index 4aa430de0..a2c00c8d5 100644 --- a/src/tests/TestSSLLocks/TestSSLLocks.cpp +++ b/src/tests/TestSSLLocks/TestSSLLocks.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestSelfSignedCertificate/TestSelfSignedCertificate.cpp b/src/tests/TestSelfSignedCertificate/TestSelfSignedCertificate.cpp index b65d15f23..8bac45b34 100644 --- a/src/tests/TestSelfSignedCertificate/TestSelfSignedCertificate.cpp +++ b/src/tests/TestSelfSignedCertificate/TestSelfSignedCertificate.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestServerAddress/TestServerAddress.cpp b/src/tests/TestServerAddress/TestServerAddress.cpp index 3fb5656e9..e5e7f78c8 100644 --- a/src/tests/TestServerAddress/TestServerAddress.cpp +++ b/src/tests/TestServerAddress/TestServerAddress.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestServerResolver/TestServerResolver.cpp b/src/tests/TestServerResolver/TestServerResolver.cpp index d13619860..464ff5b35 100644 --- a/src/tests/TestServerResolver/TestServerResolver.cpp +++ b/src/tests/TestServerResolver/TestServerResolver.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestStdAbs/TestStdAbs.cpp b/src/tests/TestStdAbs/TestStdAbs.cpp index 1f572c3eb..378045d88 100644 --- a/src/tests/TestStdAbs/TestStdAbs.cpp +++ b/src/tests/TestStdAbs/TestStdAbs.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestTimer/TestTimer.cpp b/src/tests/TestTimer/TestTimer.cpp index 08dfb984f..848fb03a1 100644 --- a/src/tests/TestTimer/TestTimer.cpp +++ b/src/tests/TestTimer/TestTimer.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2007-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestUnresolvedServerAddress/TestUnresolvedServerAddress.cpp b/src/tests/TestUnresolvedServerAddress/TestUnresolvedServerAddress.cpp index 4ec0540c8..e3db7a06f 100644 --- a/src/tests/TestUnresolvedServerAddress/TestUnresolvedServerAddress.cpp +++ b/src/tests/TestUnresolvedServerAddress/TestUnresolvedServerAddress.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/tests/TestXMLTools/TestXMLTools.cpp b/src/tests/TestXMLTools/TestXMLTools.cpp index 535cae0a7..de4e8b588 100644 --- a/src/tests/TestXMLTools/TestXMLTools.cpp +++ b/src/tests/TestXMLTools/TestXMLTools.cpp @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2017-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . diff --git a/src/win.h b/src/win.h index 506dd076d..715028364 100644 --- a/src/win.h +++ b/src/win.h @@ -1,4 +1,4 @@ -// Copyright 2005-2020 The Mumble Developers. All rights reserved. +// Copyright 2019-2021 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at .