Skip to content

Releases: debauchee/barrier

v2.4.0

01 Nov 21:15
v2.4.0
Compare
Choose a tag to compare

Security fixes

  • Barrier now supports client identity verification (fixes CVE-2021-42072, CVE-2021-42073).

    Previously a malicious client could connect to Barrier server without any authentication and send application-level messages. This made the attack surface of Barrier significantly larger. Additionally, in case the malicious client got possession of a valid screen name by brute forcing or other means it could modify the clipboard contents of the server.

    To support seamless upgrades from older versions of Barrier this is currently disabled by default. The feature can be enabled in the settings dialog. If enabled, older clients of Barrier will be rejected.

  • Barrier now uses SHA256 fingerprints for establishing security of encrypted SSL connections. After upgrading client to new version the existing server fingerprint will need to be approved again. Client and server will show both SHA1 and SHA256 server fingerprints to allow interoperability with older versions of Barrier.

All of the above security issues have been reported by Matthias Gerstner who was really helpful for resolving them.

Bug fixes

  • Fixed build failure on mips*el and riscv64 architecture.
  • Fixed reading of configuration on Windows when the paths contain non-ASCII characters (#976, #974, #444).
  • Barrier no longer uses openssl CLI tool for any operations and hooks into the openssl library directly.
  • More X11 clipboard MIME types have been mapped to corresponding converters (#344).
  • Fixed setup of multiple actions associated with a hotkey.
  • Fixed setup of hotkeys with special characters such as comma and semicolon (#778).
  • Fixed transfer of non-ASCII characters coming from a Windows server in certain cases (#527).
  • Barrier will now regenerate server certificate if it's invalid instead of failing to launch (#802)
  • Added support for additional keys on Sun Microsystems USB keyboards (#784).
  • Updated Chinese translation.
  • Updated Slovak translation.
  • Theme icons are now preferred to icons distributed together with Barrier (#471).
  • Fixed incorrect setup of Barrier service path on Windows.

Features

  • Added --drop-target option that improves drag and drop support on Windows when Barrier is being run as a portable app.
  • The --enable-crypto command line option has been made the default to reduce chances of accidental security mishaps when configuring Barrier from command line. A new --disable-crypto command line option has been added to explicitly disable encryption.
  • Added support for randomart images for easier comparison of SSL certificate fingerprints. The algorithm is identical to what OpenSSH uses.
  • Implemented a configuration option for Server GUI auto-start.
  • Made it possible to use keyboard instead of mouse to modify screen layout.
  • Added support for keyboard backlight media keys
  • Added support for Eisu_toggle and Muhenkan keys
  • Added --profile-dir option that allows to select custom profile directory.

v2.4.0 includes all bug fixes and features that were part of v2.3.4.

v2.3.4

01 Nov 20:52
v2.3.4
Compare
Choose a tag to compare

Security fixes

  • Barrier will now correctly close connections when the app-level handshake fails (fixes CVE-2021-42075).

    Previously repeated failing connections would leak file descriptors leading to Barrier being unable to receive new connections from clients.

  • Barrier will now enforce a maximum length of input messages (fixes CVE-2021-42076).

    Previously it was possible for a malicious client or server to send excessive length messages leading to denial of service by resource exhaustion.

  • Fixed a bug which caused Barrier to crash when disconnecting a TCP session just after sending Hello message. (fixes CVE-2021-42074). This bug allowed an unauthenticated attacker to crash Barrier with only network access.

All of the above security issues have been reported by Matthias Gerstner who was really helpful for resolving them.

Bug fixes

  • Fixed a bug in SSL implementation that caused invalid data occasionally being sent to clients under heavy load.

v2.3.3

14 Jul 17:49
3395cca
Compare
Choose a tag to compare

This release fixes a lot of bugs, and adds several enhancmeents, such as
testings, OpenBSD support, and macOS app execution fixes.

A list of commits are below, in columns of: commit hash, author, and commit
message. It is in descending order.

3395cca -- Dom Rodriguez: Prepare for v2.3.3 release
2393393 -- Povilas Kanapickas: Merge pull request #750 from nh2/double-tap-explanation
03c1f06 -- Niklas Hambüchen: ui: Settings: Explain what "double tap" means
965cd70 -- Povilas Kanapickas: Merge pull request #742 from maxiberta/fix-snap-submodules
d06395a -- Maximiliano Bertacchini: Fix snap build failing to initialize submodules.
515805f -- Povilas Kanapickas: Merge pull request #703 from zexee/master
00f2b1f -- Povilas Kanapickas: Merge pull request #721 from shymega/enhance/make-gtest-submodule
b16ad17 -- Dom Rodriguez: Fix CI infrastructure (.bat/.sh) to initialise Git submodules before build
938ad34 -- Dom Rodriguez: Add gtest/gmock framework, locked at 1.6.0
e9b82b4 -- Dom Rodriguez: Remove ext/gtest, ext/gmock to replace with Git submodule
c336cfd -- Povilas Kanapickas: Merge pull request #739 from simons-public/gui-status-log-comments
7331519 -- Chris Simons: add comments explaining the use of CLOG_PRINT
69cfd14 -- Povilas Kanapickas: Merge pull request #738 from debauchee/revert-725-patch-2
2b2818c -- Povilas Kanapickas: Revert "Make connection message a NOTE for consistency"
0f29c77 -- Povilas Kanapickas: Merge pull request #656 from galkinvv/fix-win10-cpu-usage-spikes
8df50c7 -- Povilas Kanapickas: Merge pull request #732 from GeorgH93/master
0ec5283 -- GeorgH93: Keep errorlevel
64a9320 -- GeorgH93: Fix build on Windows
b477efa -- zhexiwang: Added toggleScreen function, using hot key to loop through all screens. Comparing to switchToScreen, it is more handy since the user only need to hit one hotkey.
0a1f080 -- Dom Rodriguez: Merge pull request #725 from jmartens/patch-2
583b2cb -- Jonathan Martens: Make connection message a NOTE for consistency
b373d8e -- Dom Rodriguez: Merge pull request #679 from p12tic/x11-fix-event-wait-race-condition
8891364 -- Dom Rodriguez: Merge pull request #718 from p12tic/use-noexcept
89c6623 -- Povilas Kanapickas: lib/common: Remove no longer used stdexcept.h
5eac13a -- Povilas Kanapickas: Use noexcept instead of exception specifications
5d0f6e6 -- Dom Rodriguez: Merge pull request #719 from p12tic/tests
dacbfc1 -- Dom Rodriguez: Merge pull request #717 from p12tic/use-std-string
64265e9 -- Povilas Kanapickas: tests: Disable test that depends on external state
460f5df -- Povilas Kanapickas: test: Fix undefined behavior of deleting incomplete type
13a0359 -- Povilas Kanapickas: tests: Fix crash in XWindowsKeyStateTests
f23e8a6 -- Povilas Kanapickas: test: Update to new APIs
7868043 -- Povilas Kanapickas: test: Fix referenced library name
a6e5e47 -- Povilas Kanapickas: test: Remove unresolved merge conflict markers
56f1232 -- Povilas Kanapickas: test: Reduce the number of implicit include directories
b99ca80 -- Povilas Kanapickas: test: Enable building of tests
5eafd30 -- Povilas Kanapickas: lib/platform: Use std::string directly instead of String typedef
a626f24 -- Povilas Kanapickas: lib/net: Add missing include
e354d79 -- Dom Rodriguez: Merge pull request #706 from jmartens/patch-1
5522d07 -- Dom Rodriguez: Merge pull request #708 from p12tic/enum-class
4a2f1a9 -- Dom Rodriguez: Merge pull request #709 from p12tic/use-std-string-1
b02a20b -- Dom Rodriguez: Merge pull request #712 from p12tic/use-std-string-4
df15e76 -- Dom Rodriguez: Merge pull request #710 from p12tic/use-std-string-2
4039bc2 -- Dom Rodriguez: Merge pull request #711 from p12tic/use-std-string-3
9368845 -- Dom Rodriguez: Merge pull request #713 from p12tic/use-std-string-5
b0f0a6f -- Dom Rodriguez: Merge pull request #714 from p12tic/use-std-string-6
787f907 -- Povilas Kanapickas: lib/ipc: Use std::string directly instead of String typedef
61771d9 -- Povilas Kanapickas: lib/base: Use std::string directly instead of String typedef
b4c1e4c -- Povilas Kanapickas: lib/server: Use std::string directly instead of String typedef
b93bccc -- Povilas Kanapickas: lib/net: Use std::string directly instead of String typedef
6868491 -- Povilas Kanapickas: lib/arch: Use std::string directly instead of String typedef
a0af288 -- Povilas Kanapickas: lib/client: Use std::string directly instead of String typedef
94a280a -- Povilas Kanapickas: gui: Use enum class to scope enum values
95f2a84 -- Vasily Galkin: Windows 8+: make waiting for messages correspond to emptiness check
21eadc9 -- Jonathan Martens: Fix Auto config missing hostname prompt #704
722b7d6 -- Povilas Kanapickas: XWindowsEventQueueBuffer: Fix delays when waiting for new events
8ab6ad6 -- Vasily Galkin: Remove unused IEventQueue::isEmpty() method to simplify code understanding
dbd1082 -- Dom Rodriguez: Merge pull request #585 from chewi/pthread
fe0f330 -- Dom Rodriguez: Merge pull request #655 from simons-public/elevate-bind-failure-to-error
81d4758 -- Dom Rodriguez: Merge pull request #579 from eson57/patch-1
db63edd -- Dom Rodriguez: Merge pull request #615 from scarabeusiv/patch-1
dc2869f -- Dom Rodriguez: Merge pull request #664 from simons-public/fix-gui-status
639415e -- Chris Simons: Merge pull request #2 from plessbd/patch-3
5636e9c -- Ben Plessinger: A few more log cleanups
5d82510 -- Dom Rodriguez: Merge pull request #653 from simons-public/tis-tsm-fix
a9421a9 -- Chris Simons: Change log level on several status messages (Fixes #652, Fixes #516)
7a2b38a -- Chris Simons: replace tabs with spaces
2d2e929 -- Dom Rodriguez: Merge pull request #658 from simons-public/select-fingerprint
6653de6 -- Chris Simons: Allow selecting Fingerprint Qlabel
b3349dd -- Chris Simons: Elevate XSocketAddressInUse to ERROR
30c7749 -- Chris Simons: Fix TIS/TSM in logs
675a17d -- Dom Rodriguez: Merge pull request #648 from simons-public/use-macdeployqt
b5c7eb4 -- Chris Simons: Change MacOS Build Steps
0deaaad -- Chris Simons: added barrierc and barriers to macdeployqt targets
e0051d1 -- Chris Simons: Homebrew (Ruby) throws an error when it gets SIGPIPE from the --max-count on grep.
fb3eaa3 -- Chris Simons: Add warnings for users manually running build_installer.sh and reref_dylibs.sh manually
8cd59eb -- Chris Simons: Use build_dist.sh in CMake instead of build_installer.sh Have CMake always build a bundle, the build_dist.sh script will only build a dmg if the build type is "Release"
e37277f -- Chris Simons: Add script that uses macdeployqt instead of reref_dylibs.sh shell script to create the .app bundle
f0d2459 -- Tomáš Chvátal: Fix desktop file Categories to match standard
b6a1b57 -- Dom Rodriguez: Merge pull request #592 from chewi/qt-gui-only
79c191a -- Dom Rodriguez: Merge pull request #580 from the-wes/patch-1
11edf04 -- Dom Rodriguez: Merge pull request #574 from shymega/enhancement/readme-0
af0ce63 -- James Le Cuirot: Only require Qt5 when building the GUI
a0b3124 -- James Le Cuirot: Use -pthread flag and simplify pthread build logic
b2324f0 -- the-wes: Add more detailed description of what Barrier does
6fb4512 -- Åke Engelbrektson: Update gui_sv.ts
3afa54d -- Dom Rodriguez: README: Add OpenBSD to list of supported OSes
e8d7cd3 -- Adrian Lucrèce Céleste: Merge pull request #539 from MicaelJarniac/patch-2
e5999f0 -- Adrian Lucrèce Céleste: Merge pull request #553 from maxiberta/disable-wayland
72d1c8c -- Adrian Lucrèce Céleste: Merge pull request #557 from galkinvv/fix-loop-tcp-disconnection
c79120c -- Vasily Galkin: Fix infinite loop on fast TCP disconnection
65fb58e -- Maximiliano Bertacchini: Add comment on snap env var
f2f9f1e -- Maximiliano Bertacchini: Explicitly disable wayland support in the snap.
d9745a7 -- Maximiliano Bertacchini: Add build-essential to the snap's build deps.
8335ffd -- Micael Jarniac: Build status badges added to a table
170a271 -- Adrian Lucrèce Céleste: Merge pull request #533 from candeira/503_readme_issues_prs
6e2ed1e -- Javier Candeira: Fix #503 - Clarify on README how to report issues
adb175d -- Adrian Lucrèce Céleste: Merge pull request #521 from maxiberta/master
55e3d52 -- Maximiliano Bertacchini: Update readme with mention of the snap package.
13ac248 -- Adrian Lucrèce Céleste: Merge pull request #511 from keeganquinn/elcapitan-build-fix
3d832fd -- Keegan Quinn: Cast values to fix build errors on OS X 10.11.
36ed253 -- Adrian Lucrèce Céleste: Merge pull request #507 from galkinvv/man-conf-name-dot
e2d460b -- Vasily Galkin: Man page: fix incorrect name of user conf file in barriers.1
d8e0394 -- Adrian Lucrèce Céleste: Merge pull request #504 from tiwoc/macos-tray-image
8ef0668 -- Daniel Seither: Let tray image blend into macOS menu bar
1246ec3 -- Adrian Lucrèce Céleste: Merge pull request #498 from tiwoc/fix-macos-warnings
dc2d8e9 -- Daniel Seither: Add override specifiers
937326b -- Daniel Seither: OSXDragView: Get rid of uninitialized variable warning
96e8adb -- Daniel Seither: IpcLogOutputter: Put member initializers in execution order
da38763 -- Daniel Seither: Remove unused variables
9080ce4 -- Adrian Lucrèce Céleste: Merge pull request #486 from ctsrc/script-dir
22e3538 -- Adrian Lucrèce Céleste: Add settings in the Info.plist file that enable high-DPI support… (#488)
3e4de1d -- Adrian Lucrèce Céleste: Remove shell script that changes directory and then executes bar… (#487)
3737ed6 -- Erik Nordstrøm: Add settings in the Info.plist file that enable high-DPI support on macOS.
983b84b -- Erik Nordstrøm: Remove shell script that changes directory and then executes barrier on macOS, and execute barrier directly instead.
9c6de19 -- Erik Nordstrøm: Replace hard-coded names of build directory in build_installer.sh script for macOS with looking at the location of the script by the s...

Read more

New Stable Release

03 Oct 01:28
v2.3.2
210c2b7
Compare
Choose a tag to compare

Alpha of v2.3.2

22 Aug 21:22
v2.3.2-alpha
5c18ddb
Compare
Choose a tag to compare
Alpha of v2.3.2 Pre-release
Pre-release

PRs included:

v2.3.1

09 Aug 20:30
v2.3.1
58d8f02
Compare
Choose a tag to compare

This release includes fixes for the international US keyboard.

Misc. Fixes and Improvements

28 Jun 01:46
Compare
Choose a tag to compare

I'll mark this as pre-release first, and people who feel confident enough can test it. The main thing that worries me is the new macOS release, there hasn't been one in a while. As I get feedback and feel confident enough, I'll eventually mark this as just a release.

Note:

  • v2.3.0 requires macOS 10.12

2.2.0

12 Jan 04:44
53ebc47
Compare
Choose a tag to compare

We've moved to flathub!

And there is a new build for windows!

New Users

This is for users who haven't installed the flatpak:

  1. go to https://flatpak.org/setup and follow the instructions for your distro
  2. then run: flatpak install flathub com.github.debauchee.barrier (optionally pass --user if you want the flatpak installed at the user level, or use a GUI package manager like GNOME software)

Current Users:

This is for users who already have the flatpak installed:

  1. in a terminal run flatpak uninstall com.github.debauchee.barrier
  2. Then run: flatpak remote-delete barrier (or whatever you named our flatpak repo)
  3. And finally: flatpak install flathub com.github.debauchee.barrier

v2.1.1

16 May 17:35
Compare
Choose a tag to compare

Fixed .desktop file in source tree. No changes to binaries or packages.

v2.1.0

14 May 16:56
Compare
Choose a tag to compare

KNOWN ISSUE: Barrier on windows doesn't appropriately prompt the user to add itself to the firewall, use this guide here!

  • remove syntool
  • add IPv6 support
  • relocate data directories to better conform to platform standards
    • users may need to recreate parts of their configurations. sorry!
  • git is no longer required at build-time
  • fix clipboard-related crash due to a race condition
  • fix main window icon not displaying correctly
  • fix exe name not being read correctly at runtime