Compare commits

..

No commits in common. "master" and "v2.4.0" have entirely different histories.

26 changed files with 133 additions and 261 deletions

View File

@ -1,5 +1,6 @@
name: Bug Report
description: File a bug report (for questions, ideas & support, use the Discussions tab, or IRC for quick answers, but make sure to stay on the channel!)
labels: [bug, triage]
body:
- type: markdown
attributes:
@ -29,8 +30,6 @@ body:
- v2.3.2-alpha
- v2.3.2
- v2.3.3
- v2.3.4
- v2.4.0
- From Git HEAD or commit (specify below)
validations:
required: true

View File

@ -1,4 +0,0 @@
## Contributor Checklist:
* [ ] I have created a file in the `doc/newsfragments` directory *IF* it is a
user-visible change (and make sure to read the `README.md` in that directory)

View File

@ -82,67 +82,33 @@ specific packages.
[![Packaging status](https://repology.org/badge/vertical-allrepos/barrier.svg)](https://repology.org/project/barrier/versions)
## FAQ - Frequently Asked Questions
### FAQ
**Q: Does drag and drop work on linux?**
Q: Does drag and drop work on linux?
> A: No *(see [#855](https://github.com/debauchee/barrier/issues/855) if you'd like to change that)*
A: No
Q: What OSes are supported?
**Q: What OSes are supported?**
A:
- Windows 7, 8, 8.1, and 10
- MacOS/OS X
- Linux
- FreeBSD
- OpenBSD
> A: The [most recent release](https://github.com/debauchee/barrier/releases/latest) of Barrier is known to work on:
> - Windows 7, 8, 8.1, 10, and 11
> - macOS *(previously known as OS X or Mac OS X)*
> - _The current GUI does **not** work on OS versions prior to macOS 10.12 Sierra (but see the related answer below)_
> - Linux
> - FreeBSD
> - OpenBSD
Q: Are 32-bit versions of Windows supported?
A: No
**Q: Are 32-bit versions of Windows supported?**
Q: How do I load my configuration on startup?
> A: No
A: Start the binary with the argument `--config <path_to_saved_configuration>`
Q: After loading my configuration on the client the field 'Server IP' is still empty!
__Q: Is it possible to use Barrier on Mac OS X / OS X versions prior to 10.12?__
A: Edit your configuration to include the server's ip address manually with
> A: Not officially.
> - For OS X 10.10 Yosemite and later:
> - [Barrier v2.1.0](https://github.com/debauchee/barrier/releases/tag/v2.1.0) or earlier _may_ work.
> - For Mac OS X 10.9 Mavericks _(and perhaps earlier)_:
> 1. the command-line portions of the [current release](https://github.com/debauchee/barrier/releases/latest) _should_ run fine.
> 2. The GUI will _not_ run, as that OS version does not include Apple's *Metal* framework.
> - _(For a GUI workaround for Mac OS X 10.9, see the [discussion at issue #544](https://github.com/debauchee/barrier/issues/544))_
> Note: Only versions [v2.3.4](https://github.com/debauchee/barrier/releases/tag/v2.3.4) and [later](https://github.com/debauchee/barrier/releases/latest) of Barrier can be supported by this project.
> - Anyone using an earlier version is advised to upgrade due to recently-addressed security vulnerabilities *(and other bug fixes)*.
> - This is especially important for computers accessible from the public Internet *(or from other shared/untrusted networks, such as when using shared WiFi)*.
**Q: How do I load my configuration on startup?**
> A: Start the binary with the argument `--config <path_to_saved_configuration>`
**Q: After loading my configuration on the client the field 'Server IP' is still empty!**
> A: Edit your configuration to include the server's ip address manually with
>
>```
>(...)
>
>section: options
> serverhostname=<AAA.BBB.CCC.DDD>
>```
**Q: Are there any other significant limitations with the current version of Barrier?**
> A: Currently:
> - Barrier currently has limited UTF-8 support; issues have been reported with processing various languages.
> - *(see [#860](https://github.com/debauchee/barrier/issues/860))*
> - There is interest in future support for the Wayland compositor/display server protocol *([official site](https://wayland.freedesktop.org/) | [Wikipedia article](https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)))* on Linux.
> - As of late 2021, there is no expected completion date for *Wayland* support.
> - *(see [#109](https://github.com/debauchee/barrier/issues/109) and [#1251](https://github.com/debauchee/barrier/issues/1251) for status or to volunteer your talents)*
>
> The complete list of open issues can be found in the ['Issues' tab on GitHub](https://github.com/debauchee/barrier/issues?q=is%3Aissue+is%3Aopen). Help is always appreciated.
(...)
section: options
serverhostname=<AAA.BBB.CCC.DDD>

View File

@ -27,28 +27,11 @@ Check `newsfragments` directory for any forgotten release notes
Step 3: Merge the release notes PR
----------------------------------
Step 4: Bump the version number
-------------------------------
Step 4: Push git tag
--------------------
Pull the merge commit created on the `master` branch during the step 2.
Edit the following files and update the version numbers:
- `Build.properties`
- `cmake/Version.cmake`
- `doc/barrierc.1`
- `doc/barriers.1`
- `.github/ISSUE_TEMPLATE/bug_report.yml`
Commit to the release branch with the following message `Barrier x.y.z`.
Push the commit:
git push origin master
Step 5: Push git tag
--------------------
Create a tag:
git tag -s v${VERSION} -m v${VERSION}
@ -58,7 +41,7 @@ Push the tag:
git push origin master --tags
Step 6: Draft a new release on Github
Step 5: Draft a new release on Github
-------------------------------------
Go to https://github.com/buildbot/buildbot/releases and draft a new release.
@ -70,7 +53,7 @@ Use the release notes generated by the `towncrier` tool as the description of th
Upload the artifacts created by Azure pipelines as the binaries of the release. The following
artifacts should be uploaded to Github:
- the Barrier-X.Y.Z-release.dmg created by the newest Mac OS task (artifact name is
- the Barrier-X.Y.Z-release.dmg created by the oldest Mac OS task (artifact name is
"Mac Release Disk Image and App XYZ").
- the BarrierSetup-X.Y.Z-release.exe (artifact name is Windows Release Installer).

View File

@ -31,6 +31,6 @@
<key>NSHumanReadableCopyright</key>
<string>© 2018 Debauchee Open Source Group</string>
<key>LSMinimumSystemVersion</key>
<string>10.12.0</string>
<string>10.9.0</string>
</dict>
</plist>

View File

@ -1 +0,0 @@
Corrected macOS packaging to provide a better error message when a user attempts to launch Barrier on an incompatible macOS version. (https://github.com/debauchee/barrier/issues/1260).

View File

@ -1 +0,0 @@
Updated FAQs in project README.md with more detail on OS support and links to issues for infrequent users. (https://github.com/debauchee/barrier/issues/1260).

View File

@ -1,2 +0,0 @@
Fix wrong encoding for text copied between Linux and Windows
(https://github.com/debauchee/barrier/issues/1037, https://github.com/debauchee/barrier/issues/1137).

View File

@ -1 +0,0 @@
Fixed build on GCC 11.2 (https://github.com/debauchee/barrier/issues/1366).

View File

@ -1,2 +0,0 @@
Updated Japanese translation.
Add and translate strings that are not in gui.ts. Minor string adjustment, Fix wrong or duplicate shortcut keys.

View File

@ -1 +0,0 @@
Fixed FAQ link to Linux drag and drop issue.

View File

@ -1 +0,0 @@
Fixed a regression in 2.4.0 that caused Barrier to not support scaling other than 100% (https://github.com/debauchee/barrier/issues/1462).

View File

@ -25,9 +25,6 @@ Security fixes
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
resolving them.
Bug fixes
---------
@ -84,8 +81,7 @@ Security fixes
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).
- Fixed a bug which caused Barrier to crash when disconnecting a TCP session just after sending Hello message.
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

View File

@ -21,9 +21,7 @@ set(sources
if (WIN32)
file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp")
list(APPEND sources
barrierc.rc
barrierc.exe.manifest)
list(APPEND sources barrierc.rc)
elseif (APPLE)
file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp")

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

View File

@ -21,9 +21,7 @@ set(sources
if (WIN32)
file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp")
list(APPEND sources
barriers.rc
barriers.exe.manifest)
list(APPEND sources barriers.rc)
elseif (APPLE)
file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp")

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

Binary file not shown.

View File

@ -8,25 +8,34 @@
<source>About Barrier</source>
<translation>Barrier </translation>
</message>
<message utf8="true">
<message>
<location filename="res/AboutDialogBase.ui" line="53"/>
<source>&lt;p&gt;
Keyboard and mouse sharing application. Cross platform and open source.&lt;br /&gt;&lt;br /&gt;
Copyright © 2018 Debauchee Open Source Group&lt;br /&gt;
Copyright © 2012-2016 Symless Ltd.&lt;br /&gt;
Copyright © 2002-2012 Chris Schoeneman, Nick Bolton, Volker Lanz.&lt;br /&gt;&lt;br /&gt;
Barrier is released under the GNU General Public License (GPLv2).&lt;br /&gt;&lt;br /&gt;
Barrier is based on CosmoSynergy by Richard Lee and Adam Feder.&lt;br /&gt;
The Barrier GUI is based on QSynergy by Volker Lanz.
The Barrier GUI is based on QSynergy by Volker Lanz.&lt;br /&gt;&lt;br /&gt;
Visit our website for help and info (symless.com).
&lt;/p&gt;</source>
<translation>&lt;p&gt;
&lt;br /&gt;&lt;br /&gt;
Copyright © 2018 Debauchee Open Source Group&lt;br /&gt;
<oldsource>&lt;p&gt;
Keyboard and mouse sharing application. Cross platform and open source.&lt;br /&gt;&lt;br /&gt;
Copyright © 2012-2016 Symless Ltd.&lt;br /&gt;
Copyright © 2002-2012 Chris Schoeneman, Nick Bolton, Volker Lanz.&lt;br /&gt;&lt;br /&gt;
Barrier GNU General Public (GPLv2) &lt;br /&gt;&lt;br /&gt;
Barrier CosmoSynergyで Richard Lee Adam Feder &lt;br /&gt;
Barrier GUI QSynergy Volker Lanz
Barrier is released under the GNU General Public License (GPLv2).&lt;br /&gt;&lt;br /&gt;
Barrier is based on CosmoSynergy by Richard Lee and Adam Feder.&lt;br /&gt;
The Barrier GUI is based on QSynergy by Volker Lanz.&lt;br /&gt;&lt;br /&gt;
Visit our website for help and info (symless.com).
&lt;/p&gt;</oldsource>
<translation type="unfinished">&lt;p&gt;
&lt;br /&gt;&lt;br /&gt;
Copyright © 2012-2016 Symless Ltd.&lt;br /&gt;
Copyright © 2002-2012 Chris Schoeneman, Nick Bolton, Volker Lanz.&lt;br /&gt;&lt;br /&gt;
Barrier GNU General Public (GPLv2). &lt;br /&gt;&lt;br /&gt;
Barrier CosmoSynergy (Richard Lee, Adam Feder ) &lt;br /&gt;
Barrier GUI QSynergy (Volker Lanz ) &lt;br /&gt;&lt;br /&gt;
Visit our website for help and info (symless.com).
&lt;/p&gt;</translation>
</message>
<message>
@ -39,11 +48,6 @@ Barrier の GUI のベースは QSynergy で、これは Volker Lanz 開発で
<source>Version:</source>
<translation>:</translation>
</message>
<message>
<location filename="res/AboutDialogBase.ui" line="167"/>
<source>Build Date: </source>
<translation>: </translation>
</message>
<message>
<location filename="res/AboutDialogBase.ui" line="163"/>
<source>&amp;Ok</source>
@ -85,7 +89,7 @@ Barrier の GUI のベースは QSynergy で、これは Volker Lanz 開発で
<message>
<location filename="res/ActionDialogBase.ui" line="119"/>
<source>Switch to screen</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="res/ActionDialogBase.ui" line="150"/>
@ -147,23 +151,18 @@ Barrier の GUI のベースは QSynergy で、これは Volker Lanz 開発で
<source>the hotkey is released</source>
<translation></translation>
</message>
<message>
<location filename="res/ActionDialogBase.ui" line="148"/>
<source>Toggle screen</source>
<translation></translation>
</message>
</context>
<context>
<name>AddClientDialog</name>
<message>
<location filename="res/AddClientDialogBase.ui" line="20"/>
<source>Dialog</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="res/AddClientDialogBase.ui" line="35"/>
<source>TextLabel</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="res/AddClientDialogBase.ui" line="83"/>
@ -184,12 +183,30 @@ Barrier の GUI のベースは QSynergy で、これは Volker Lanz 開発で
<translation>:</translation>
</message>
</context>
<context>
<name>LogWindowBase</name>
<message>
<location filename="res/LogWindowBase.ui" line="26"/>
<source>Log - Barrier</source>
<translation> - Barrier</translation>
</message>
<message>
<location filename="res/LogWindowBase.ui" line="71"/>
<source>&amp;Clear Log</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="res/LogWindowBase.ui" line="78"/>
<source>&amp;Hide</source>
<translation></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="src/MainWindow.cpp" line="790"/>
<source>&amp;Start</source>
<translation>(&amp;S)</translation>
<translation type="unfinished">(&amp;S)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="237"/>
@ -209,13 +226,13 @@ Barrier の GUI のベースは QSynergy で、これは Volker Lanz 開発で
<message>
<location filename="src/MainWindow.cpp" line="240"/>
<source>&amp;Help</source>
<translation>(&amp;H)</translation>
<translation type="unfinished">(&amp;H)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="364"/>
<source>&lt;p&gt;Your version of Barrier is out of date. Version &lt;b&gt;%1&lt;/b&gt; is now available to &lt;a href=&quot;%2&quot;&gt;download&lt;/a&gt;.&lt;/p&gt;</source>
<oldsource>&lt;p&gt;Version %1 is now available, &lt;a href=&quot;%2&quot;&gt;visit website&lt;/a&gt;.&lt;/p&gt;</oldsource>
<translation type="unfinished">&lt;p&gt;使 Barrier &lt;b&gt;%1&lt;/b&gt; &lt;a href=&quot;%2&quot;&gt;&lt;/a&gt;&lt;/p&gt;</translation>
<translation type="unfinished">&lt;p&gt;使 Barrier &lt;b&gt;%1&lt;/b&gt; &lt;a href=&quot;%2&quot;&gt;&lt;/a&gt;&lt;/p&gt;</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="577"/>
@ -300,7 +317,7 @@ Barrier の GUI のベースは QSynergy で、これは Volker Lanz 開発で
<message>
<location filename="src/MainWindow.cpp" line="1044"/>
<source>Please drag the new client screen (%1) to the desired position on the grid.</source>
<translation type="unfinished"> (%1) </translation>
<translation type="unfinished"> (%1) </translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="1147"/>
@ -338,12 +355,12 @@ Bonjour をインストールしますか?</translation>
<message>
<location filename="src/MainWindow.cpp" line="815"/>
<source>Barrier is starting.</source>
<translation>Barrier ...</translation>
<translation>Barrier </translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="809"/>
<source>Barrier is running.</source>
<translation>Barrier </translation>
<translation>Barrier </translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="819"/>
@ -369,7 +386,7 @@ Bonjour をインストールしますか?</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="408"/>
<source>Barrier is now connected. You can close the config window and Barrier will remain connected in the background.</source>
<source>Barrier is now connected, You can close the config window. Barrier will remain connected in the background.</source>
<translation> Barrier </translation>
</message>
<message>
@ -383,14 +400,14 @@ Bonjour をインストールしますか?</translation>
%1
This is a server fingerprint. You should compare this fingerprint to the one on your server's screen. If the two don't match exactly, then it's probably not the server you're expecting (it could be a malicious user).
This is a server fingerprint. You should compare this fingerprint to the one on your server&apos;s screen. If the two don&apos;t match exactly, then it&apos;s probably not the server you&apos;re expecting (it could be a malicious user).
To automatically trust this fingerprint for future connections, click Yes. To reject this fingerprint and disconnect from the server, click No.</source>
<translation type="unfinished">
%1
2 ()
2 ()
</translation>
</message>
@ -420,7 +437,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/MainWindowBase.ui" line="90"/>
<source>Ser&amp;ver (share this computer&apos;s mouse and keyboard):</source>
<translation> ()(&amp;V):</translation>
<translation> ()(&amp;V):</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="243"/>
@ -443,11 +460,6 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<source>Use existing configuration:</source>
<translation>使:</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="218"/>
<source>SSL Fingerprint:</source>
<translation>SSLフィンガープリント:</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="190"/>
<source>&amp;Configuration file:</source>
@ -466,7 +478,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/MainWindowBase.ui" line="159"/>
<source>&amp;Configure Server...</source>
<translation>(&amp;C)...</translation>
<translation>(&amp;S)...</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="350"/>
@ -481,7 +493,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/MainWindowBase.ui" line="373"/>
<source>&amp;Reload</source>
<translation>(&amp;R)</translation>
<translation type="unfinished">(&amp;R)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="107"/>
@ -526,12 +538,12 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/MainWindowBase.ui" line="423"/>
<source>S&amp;top</source>
<translation>(&amp;T)</translation>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="426"/>
<source>Stop</source>
<translation>(&amp;T)</translation>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="434"/>
@ -541,27 +553,27 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/MainWindowBase.ui" line="442"/>
<source>&amp;Hide</source>
<translation>(&amp;H)</translation>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="445"/>
<source>Hide</source>
<translation>(&amp;H)</translation>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="453"/>
<source>&amp;Show</source>
<translation>(&amp;W)</translation>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="456"/>
<source>Show</source>
<translation>(&amp;W)</translation>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="464"/>
<source>Save configuration &amp;as...</source>
<translation>...</translation>
<translation></translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="467"/>
@ -584,25 +596,30 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<translation></translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="435"/>
<location filename="res/MainWindowBase.ui" line="367"/>
<source>S&amp;ave configuration</source>
<translation>(&amp;A)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="446"/>
<location filename="res/MainWindowBase.ui" line="380"/>
<source>Change &amp;Settings</source>
<translation>(&amp;S)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="457"/>
<location filename="res/MainWindowBase.ui" line="391"/>
<source>Show &amp;Log</source>
<translation>(&amp;L)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="457"/>
<location filename="res/MainWindowBase.ui" line="394"/>
<source>Show Log</source>
<translation>(&amp;L)</translation>
</message>
<message>
<location filename="res/MainWindowBase.ui" line="132"/>
<source>SSL Fingerprint:</source>
<translation>SSLフィンガープリント:</translation>
</message>
</context>
<context>
<name>NewScreenWidget</name>
@ -695,13 +712,13 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<name>QObject</name>
<message>
<location filename="src/MainWindow.cpp" line="60"/>
<source>Barrier Configurations (*.sgc);;All files (*.*)</source>
<translation>Barrier (*.sgc);;(*.*)</translation>
<source>Barrier Configurations (*.sgc)</source>
<translation>Barrier (*.sgc)</translation>
</message>
<message>
<location filename="src/MainWindow.cpp" line="67"/>
<source>Barrier Configurations (*.conf);;All files (*.*)</source>
<translation>Barrier (*.conf);;(*.*)</translation>
<source>Barrier Configurations (*.conf)</source>
<translation>Barrier (*.conf)</translation>
</message>
<message>
<location filename="src/main.cpp" line="119"/>
@ -747,7 +764,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="42"/>
<source>A&amp;liases</source>
<translation>(&amp;L)</translation>
<translation>(&amp;A)</translation>
</message>
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="57"/>
@ -841,7 +858,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="291"/>
<source>S&amp;uper:</source>
<translation> (&amp;U):</translation>
<translation> (&amp;S):</translation>
</message>
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="358"/>
@ -881,17 +898,17 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="437"/>
<source>Fix CAPS LOCK key</source>
<translation>CAPS </translation>
<translation>CAPS </translation>
</message>
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="444"/>
<source>Fix NUM LOCK key</source>
<translation>NUM </translation>
<translation>NUM </translation>
</message>
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="451"/>
<source>Fix SCROLL LOCK key</source>
<translation>SCROLL </translation>
<translation>SCROLL </translation>
</message>
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="458"/>
@ -901,7 +918,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/ScreenSettingsDialogBase.ui" line="468"/>
<source>Fix Preserve Focus</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@ -930,7 +947,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/ServerConfigDialogBase.ui" line="24"/>
<source>Screens and links</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="35"/>
@ -945,7 +962,7 @@ To automatically trust this fingerprint for future connections, click Yes. To re
<message>
<location filename="res/ServerConfigDialogBase.ui" line="73"/>
<source>Drag this button to the grid to add a new screen.</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="128"/>
@ -1028,26 +1045,11 @@ Double click on a screen to edit its settings.</source>
<source>Switch on double &amp;tap within</source>
<translation>(&amp;T)</translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="394"/>
<source>Bump against the screen edge with the mouse pointer twice in quick succession.</source>
<translation>2</translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="408"/>
<source>&amp;Options</source>
<translation>(&amp;O)</translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="416"/>
<source>Enable clipboard sharing</source>
<translation></translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="461"/>
<source>Enable drag and drop file transfers</source>
<translation></translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="419"/>
<source>&amp;Check clients every</source>
@ -1103,13 +1105,23 @@ Double click on a screen to edit its settings.</source>
<source>Cor&amp;ner Size:</source>
<translation>(&amp;N):</translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="510"/>
<source>Enable drag and drop file transfers</source>
<translation></translation>
</message>
<message>
<location filename="res/ServerConfigDialogBase.ui" line="524"/>
<source>Enable clipboard sharing</source>
<translation></translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="src/SettingsDialog.cpp" line="131"/>
<source>Save log file to...</source>
<translation>...</translation>
<translation></translation>
</message>
<message>
<location filename="src/SettingsDialog.cpp" line="151"/>
@ -1121,8 +1133,8 @@ Double click on a screen to edit its settings.</source>
<source>Are you sure you want to elevate Barrier?
This allows Barrier to interact with elevated processes and the UAC dialog, but can cause problems with non-elevated processes. Elevate Barrier only if you really need to.</source>
<translation type="unfinished">Barrier
Barrier UAC Barrier </translation>
<translation type="unfinished">Barrier
Barrier UAC Barrier </translation>
</message>
</context>
<context>
@ -1155,7 +1167,7 @@ This allows Barrier to interact with elevated processes and the UAC dialog, but
<message>
<location filename="res/SettingsDialogBase.ui" line="127"/>
<source>&amp;Hide on startup</source>
<translation>(&amp;H)</translation>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="res/SettingsDialogBase.ui" line="146"/>
@ -1175,7 +1187,7 @@ This allows Barrier to interact with elevated processes and the UAC dialog, but
<message>
<location filename="res/SettingsDialogBase.ui" line="202"/>
<source>&amp;Logging level:</source>
<translation>(&amp;L):</translation>
<translation type="unfinished">(&amp;L):</translation>
</message>
<message>
<location filename="res/SettingsDialogBase.ui" line="251"/>
@ -1285,30 +1297,7 @@ This allows Barrier to interact with elevated processes and the UAC dialog, but
<message>
<location filename="res/SettingsDialogBase.ui" line="132"/>
<source>Start &amp;Barrier on startup</source>
<translation> Barrier (&amp;B)</translation>
</message>
<message>
<location filename="res/SettingsDialogBase.ui" line="201"/>
<source>Require client certificate</source>
<translation></translation>
</message>
</context>
<context>
<name>LogWindowBase</name>
<message>
<location filename="res/LogWindowBase.ui" line="26"/>
<source>Log - Barrier</source>
<translation> - Barrier</translation>
</message>
<message>
<location filename="res/LogWindowBase.ui" line="71"/>
<source>&amp;Clear Log</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="res/LogWindowBase.ui" line="78"/>
<source>&amp;Hide</source>
<translation></translation>
<translation type="unfinished"> Barrier (&amp;B)</translation>
</message>
</context>
<context>
@ -1349,7 +1338,7 @@ This allows Barrier to interact with elevated processes and the UAC dialog, but
<message>
<location filename="res/SetupWizardBase.ui" line="114"/>
<source>Barrier lets you easily share your mouse and keyboard between multiple computers on your desk, and it&apos;s Free and Open Source. Just move your mouse off the edge of one computer&apos;s screen on to another. You can even share all of your clipboards. All you need is a network connection. Barrier is cross-platform (works on Windows, Mac OS X and Linux).</source>
<translation>Barrier Barrier WindowsMac OS XLinux </translation>
<translation>Barrier Barrier Windows, Mac OS X, Linux </translation>
</message>
<message>
<location filename="res/SetupWizardBase.ui" line="125"/>
@ -1384,7 +1373,7 @@ This allows Barrier to interact with elevated processes and the UAC dialog, but
<message>
<location filename="res/SetupWizardBase.ui" line="277"/>
<source>&amp;Server (share this computer&apos;s mouse and keyboard)</source>
<translation> ()(&amp;V)</translation>
<translation> ()(&amp;V)</translation>
</message>
<message>
<location filename="res/SetupWizardBase.ui" line="290"/>
@ -1397,7 +1386,7 @@ p, li { white-space: pre-wrap; }
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;使1&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;使1&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="res/SetupWizardBase.ui" line="326"/>
@ -1415,7 +1404,7 @@ p, li { white-space: pre-wrap; }
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="res/SetupWizardBase.ui" line="262"/>

View File

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

View File

@ -98,7 +98,7 @@ FileChunk::assemble(barrier::IStream* stream, String& dataReceived, size_t& expe
case kDataChunk:
dataReceived.append(content);
if (CLOG->getFilter() >= kDEBUG2) {
LOG((CLOG_DEBUG2 "recv file chunk size=%i", content.size()));
LOG((CLOG_DEBUG2 "recv file chunck size=%i", content.size()));
double interval = stopwatch.getTime();
receivedDataSize += content.size();
LOG((CLOG_DEBUG2 "recv file interval=%f s", interval));

View File

@ -137,9 +137,7 @@ ServerApp::help()
barrier::fs::u8path(SYS_CONFIG_NAME)).u8string();
std::ostringstream buffer;
buffer << "Start the barrier server component. The server shares the keyboard &\n"
<< "mouse of the local machine with the connected clients based on the\n"
<< "configuration file.\n"
buffer << "Start the barrier server component.\n"
<< "\n"
<< "Usage: " << args().m_exename
<< " [--address <address>]"

View File

@ -21,8 +21,6 @@
#include "common/basic_types.h"
#include "common/stdmap.h"
#include <cstddef>
class EventData {
public:
EventData() { }

View File

@ -190,7 +190,7 @@ void generate_pem_self_signed_cert(const std::string& path)
X509_sign(cert, private_key, EVP_sha256());
auto fp = fopen_utf8_path(path.c_str(), "w");
auto fp = fopen_utf8_path(path.c_str(), "r");
if (!fp) {
throw std::runtime_error("Could not open certificate output path");
}

View File

@ -56,17 +56,10 @@ XWindowsClipboardHTMLConverter::getDataSize() const
std::string XWindowsClipboardHTMLConverter::fromIClipboard(const std::string& data) const
{
return data;
return Unicode::UTF8ToUTF16(data);
}
std::string XWindowsClipboardHTMLConverter::toIClipboard(const std::string& data) const
{
// Older Firefox [1] and possibly other applications use UTF-16 for text/html - handle both
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1497580
if (Unicode::isUTF8(data)) {
return data;
} else {
return Unicode::UTF16ToUTF8(data);
}
return data;
return Unicode::UTF16ToUTF8(data);
}

View File

@ -324,7 +324,7 @@ XWindowsScreen::leave()
m_impl->XGetInputFocus(m_display, &m_lastFocus, &m_lastFocusRevert);
// take focus
if (!m_preserveFocus) {
if (m_isPrimary || !m_preserveFocus) {
m_impl->XSetInputFocus(m_display, m_window, RevertToPointerRoot, CurrentTime);
}