Compare commits

..

81 Commits

Author SHA1 Message Date
Steve Williams
0f2c7099c5 Merge branch 'waldyrious-patch-1' into pr_cleanup_mar18_2 2018-03-05 13:44:37 +00:00
Steve Williams
3982e74d30 issue5648 - reapply int to float changes 2018-03-05 13:43:47 +00:00
Steve Williams
2006af9143 Merge branch 'patch-1' of https://github.com/waldyrious/synergy-core into waldyrious-patch-1 2018-03-05 11:50:32 +00:00
Andrew Nelless
cbfa585fa7 Merge pull request #6261 from rombert/feature/fix-romanian
Add support for latin 's' and 't' with comma below
2018-03-03 01:59:30 +00:00
Robert Munteanu
dfb8d15010 Add support for latin 's' and 't' with comma below
These codes were not supported at all, presumably due to being introduced
only in Unicode 3.0.
2018-02-24 23:13:43 +02:00
Nick Bolton
426e81fa71 Update README.md 2018-02-07 15:53:00 +00:00
Waldir Pimenta
3d440547ee synergy.conf.example: clarify comments
instead of saying apparently absolute statements
like "Foo is to the right of Bar",
use relative phrasing "for Bar, Foo is to the right".
This makes it clearer that the configuration file
does not describe a globally consistent spatial arrangement
but rather a set of areas that can be linked in arbitrary ways.
2018-01-23 14:26:30 +00:00
Andrew Nelless
35602ed6bf #6234 Change protocol error message 2017-12-20 15:02:26 +00:00
Andrew Nelless
703097c19b Remove synwinhk DLL 2017-12-13 18:28:48 +00:00
Xinyu Hou
a48ff8bcb5 Merge branch 'mac-input-detection' 2017-12-13 12:26:11 -05:00
Xinyu Hou
6368207dec Release quartz event tap in screen Dtor 2017-12-13 11:47:26 -05:00
Andrew Nelless
0e11b8777f Remove scary memcpy hack 2017-12-13 16:18:22 +00:00
Andrew Nelless
1fb01f6833 Remove Windows 2000 only mouse wheel support 2017-12-13 16:00:37 +00:00
Xinyu Hou
d770160e00 Add log for releasing quartz event tap 2017-12-13 10:59:41 -05:00
Andrew Nelless
2d56cc1c92 Remove NT 3.51 and Win9x mouse wheel support... 2017-12-13 15:27:48 +00:00
Andrew Nelless
db1770df39 Remove support for "high-level" mouse and keyboard hooks 2017-12-13 15:16:51 +00:00
Xinyu Hou
adcb1b9b1f Log for creating quartz event tap 2017-12-13 10:13:39 -05:00
Xinyu Hou
4dc9f893c3 Quit when failed to create quartz event tap 2017-12-13 09:42:41 -05:00
Xinyu Hou
d5872caa7e Merge branch 'mac-bundle' 2017-12-12 11:42:48 -05:00
Andrew Nelless
5ff0637a82 Remove IPC 2017-12-11 22:59:02 +00:00
Xinyu Hou
9da6974ada Install synergy core into resource folder on Mac 2017-12-11 10:28:54 -05:00
Andrew Nelless
607201d586 #6211 Abort if the carbon loop doesn't become ready within timeout 2017-12-05 15:44:10 +00:00
Xinyu Hou
eb8416b27f Fix Mac debug build 2017-12-04 10:48:34 -05:00
Jerry (Xinyu Hou)
3e7d9fca40 Fix unused variables 2017-11-27 14:20:31 +00:00
Andrew Nelless
af5c3c2917 #define build number as string 2017-11-27 01:18:42 +00:00
Andrew Nelless
4fc45c2e56 Attempt to fix Windows KeyState test build 2017-11-26 22:40:47 +00:00
Andrew Nelless
71ed35681e Fix log outputter build on Windows 2017-11-26 22:11:41 +00:00
Andrew Nelless
e21c41ba99 Remove last remnants of TLS 2017-11-26 21:44:26 +00:00
Andrew Nelless
75b2cd0b41 Apply clang-tidy fixes 2017-11-26 16:42:00 +00:00
Andrew Nelless
5fbada9424 Add support for clang-tidy checks 2017-11-26 16:36:47 +00:00
Andrew Nelless
4b3adfce94 Remove legacy TLS support and fix tests 2017-11-26 14:58:00 +00:00
Andrew Nelless
764a6d3803 Create README.md 2017-11-26 14:15:32 +00:00
Andrew Nelless
0bd448d5ca Reduce clipboard chunk size to 32KiB 2017-10-31 13:28:36 +00:00
Jerry (Xinyu Hou)
8d440e68ec Update send log link 2017-10-11 12:29:54 +01:00
Nick Bolton
36f4003688 Merge branch 'master' of github.com:symless/synergy-core 2017-10-04 10:33:27 +01:00
Nick Bolton
39fe216b8c #6151 Remove synergy2 Linux shortcut 2017-10-04 10:33:05 +01:00
Nick Bolton
ad8a911590 #6162 Make --run-as-uid Linux specific 2017-10-02 22:42:56 +01:00
Nick Bolton
b028e88fed #6162 Add UID arg so service can change process user 2017-10-02 18:20:47 +01:00
Xinyu Hou
23464a38a7 #6161 Install hook before connection established 2017-09-29 12:54:30 -04:00
Xinyu Hou
0625daacde #6161 Detect local input before connected on Mac 2017-09-28 14:04:48 -04:00
Nick Bolton
856e93df0c Update Readme.txt 2017-09-18 12:05:03 +01:00
Nick Bolton
d75e7aa638 #6151 Add optional cmake install 2017-09-18 09:48:46 +01:00
Nick Bolton
e674c0e63b Revert "Revert "#6151 Install synergy core to dictory for packaging""
This reverts commit 77d82b4f4b.
2017-09-18 09:41:13 +01:00
Nick Bolton
77d82b4f4b Revert "#6151 Install synergy core to dictory for packaging"
This reverts commit 841bd079c9.
2017-09-15 13:17:22 +01:00
Jerry (Xinyu Hou)
841bd079c9 #6151 Install synergy core to dictory for packaging 2017-09-14 18:04:11 +01:00
Nick Bolton
d2f5ba6599 #6151 Improve --server and --client arg suppress comment 2017-09-14 14:57:44 +01:00
Nick Bolton
c47b4bd492 #6151 Remove redundant --no-tray arg 2017-09-14 14:40:49 +01:00
Nick Bolton
7e0cdf6c7f #6151 Update copyright and simplify cmake 2017-09-14 13:38:51 +01:00
Nick Bolton
4fe38023aa #6151 Rename synergy lib to core lib 2017-09-14 13:28:16 +01:00
Nick Bolton
ce02171eab #6151 Remove tray from core, add core deprecated warning 2017-09-14 13:28:01 +01:00
Nick Bolton
c66729e187 #6151 Introduce synergy-core 2017-09-14 13:27:02 +01:00
Nick Bolton
4d13e57ef1 #6151 Correct cmake project name 2017-09-14 12:36:08 +01:00
Nick Bolton
9e58f6834e #6151 Ignore cmake user file 2017-09-14 12:35:51 +01:00
Nick Bolton
92c344a67c Version to v2.0.0 2017-09-14 12:29:39 +01:00
Nick Bolton
6a1767efc3 #6151 Remove synergyd and syntool 2017-09-14 12:09:47 +01:00
Nick Bolton
a5b9905c96 Merge branch 'master' of https://github.com/symless/synergy-core 2017-09-14 12:09:01 +01:00
Nick Bolton
6617e1b84e #6151 Remove cmake install calls 2017-09-14 12:08:56 +01:00
Nick Bolton
f7f55d33f1 #6151 Ignore cmake cache file 2017-09-14 12:08:15 +01:00
Nick Bolton
6b7db76b88 #6151 Replace legacy Linux desktop file 2017-09-14 11:58:02 +01:00
Nick Bolton
5b46821b93 Remove all legacy components 2017-09-14 11:01:21 +01:00
Nick Bolton
a6382cea56 Revert "Revert "Removed v1 legacy config UI""
This reverts commit 3ccf3d17e4.
2017-09-14 09:47:27 +01:00
Andrew Nelless
3ccf3d17e4 Revert "Removed v1 legacy config UI"
This reverts commit 956f071f20.
2017-09-05 20:21:22 +01:00
Andrew Nelless
d0ded4e56b Merge branch 'v1.9' into v2.0 2017-08-09 19:44:01 +01:00
Nick Bolton
956f071f20 Removed v1 legacy config UI 2017-08-09 09:20:11 +01:00
Nick Bolton
0b88247b61 Update hard coded Qt version in Wix config 2017-07-31 15:40:16 +01:00
Nick Bolton
df2793c1fa #6116 Change log level for unknown quartz event type to DEBUG3 2017-07-31 14:08:02 +01:00
Andrew Nelless
0c28da7d9f Merge branch 'v1.9' into v1.9-bidir 2017-05-27 14:17:05 +01:00
Andrew Nelless
5cf74a7019 Merge remote-tracking branch 'origin/v1.9' into v1.9-bidir 2017-05-26 22:47:49 +01:00
Andrew Nelless
77a6a53a34 Merge remote-tracking branch 'origin/v1.9' into v1.9-bidir 2017-05-25 13:35:58 +01:00
Andrew Nelless
1070ffce53 Simplify version number handling 2017-05-23 16:05:35 +01:00
Andrew Nelless
9bb4f564e5 Merge branch 'v1.9' into v1.9-bidir 2017-05-23 15:25:42 +01:00
Andrew Nelless
3e5cb09e19 Merge branch 'v1.9' into v1.9-bidir 2017-05-22 21:40:44 +01:00
Andrew Nelless
79b814622e Replace 'Symless Ltd' with 'Symless' 2017-05-22 17:03:21 +01:00
Andrew Nelless
7b19ac89a1 Merge branch 'v1.9' into v1.9-bidir 2017-05-22 16:48:32 +01:00
Andrew Nelless
d5d2f937c3 Update Build.properties 2017-05-21 21:35:33 +01:00
Andrew Nelless
41721e9eac Partial local input detection for Linux 2017-05-19 20:16:30 +01:00
Andrew Nelless
0ac42d4d05 Experiment catching client-side native clicks 2017-05-16 14:26:19 +01:00
Jerry (Xinyu Hou)
9551329392 Compare source pid from event to detect local input on Mac 2017-05-10 16:24:44 +01:00
Jerry (Xinyu Hou)
f83da9ae34 Use IOHID to fake mouse buttons 2017-05-10 16:09:09 +01:00
Andrew Nelless
271ac9e057 Reduce local input detection notice to INFO level 2017-05-09 19:32:29 +01:00
Andrew Nelless
c3530a0ff3 Add synwinhk support to synergyc 2017-05-09 19:24:07 +01:00
1028 changed files with 5683 additions and 170871 deletions

View File

@@ -1,16 +1,15 @@
### Operating Systems ###
Server: microOS Tiara
Client: Applesoft Windy OS 10
**READ ME, DELETE ME**: On Windows, hold the Windows key and press 'r', type 'winver' and hit return to get your OS version. On Mac, hit the Apple menu (top left of the screen) and check 'About this Mac'. Linux users... you know what you're using ;)
### Barrier Version ###
### Synergy Version ###
1.9
1.8
**READ ME, DELETE ME**: Go to the 'Help' (on Windows) or 'Barrier' (on macOS) menu and then 'About Barrier' to check your version. Verify that you are using the same version across all of your machines, and that your issue still occurs with the latest release available at https://github.com/debauchee/barrier/
**READ ME, DELETE ME**: Go to the 'Help' (on Windows) or 'Synergy' (on macOS) menu and then 'About Synergy' to check your version. Verify that you are using the same version across all of your machines, and that your issue still occurs with the latest release available at https://symless.com/account/login
### Steps to reproduce bug ###
@@ -20,11 +19,14 @@ Client: Applesoft Windy OS 10
2. Type things.
3. Bug occurs.
4. ...
5. Profit?
### Other info ###
* When did the problem start to occur? When I...
* Is there a way to work around it? No/Yes, you can...
* Does this bug prevent you from using Barrier entirely? Yes/No
* Does this bug prevent you from using Synergy entirely? Yes/No
Please follow the link below to send us logs from both your server and client sides if it's appropriate. https://github.com/symless/synergy-core/wiki/Sending-logs
Put anything else you can think of here.

6
.gitignore vendored
View File

@@ -1,4 +1,3 @@
build_env.*
config.h
.DS_Store
*.pyc
@@ -11,7 +10,6 @@ config.h
/build
/CMakeFiles
/ext/cryptopp562
/ext/openssl
/src/gui/Makefile*
/src/gui/object_script*
/src/gui/tmp
@@ -19,4 +17,6 @@ config.h
src/gui/gui.pro.user*
src/gui/.qmake.stash
src/gui/.rnd
src/setup/win32/barrier.suo
src/setup/win32/synergy.suo
CMakeCache.txt
CMakeLists.txt.user

View File

@@ -1,10 +0,0 @@
language: cpp
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq libxtst-dev
- sudo apt-get install -qq qtdeclarative5-dev
- sudo apt-get install -qq libavahi-compat-libdnssd-dev
script: sh -x ./clean_build.sh
# skip install phase since we have a customized install package
# creation tool for each supported platform
install: true

View File

@@ -1,7 +1,7 @@
#
# Barrier build parameters
# Synergy build parameters
#
BARRIER_VERSION_MAJOR = 1
BARRIER_VERSION_MINOR = 9
BARRIER_VERSION_PATCH = 0
BARRIER_VERSION_STAGE = snapshot
SYNERGY_VERSION_MAJOR = 2
SYNERGY_VERSION_MINOR = 0
SYNERGY_VERSION_PATCH = 0
SYNERGY_VERSION_STAGE = snapshot

View File

@@ -1,5 +1,4 @@
# Barrier -- mouse and keyboard sharing utility
# Copyright (C) 2018 Debauchee Open Source Group
# Synergy -- mouse and keyboard sharing utility
# Copyright (C) 2012-2016 Symless Ltd.
# Copyright (C) 2009 Nick Bolton
#
@@ -16,10 +15,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
cmake_minimum_required (VERSION 3.4)
project (barrier C CXX)
project (synergy-core C CXX)
option (BARRIER_BUILD_GUI "Build the GUI" ON)
option (BARRIER_BUILD_INSTALLER "Build the installer" ON)
option (SYNERGY_CORE_INSTALL "Enable Synergy Core install (Mac and Linux)" OFF)
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_EXTENSIONS OFF)
@@ -31,8 +29,23 @@ if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions (-DNDEBUG)
endif()
find_program (CLANG_TIDY_EXE
NAMES "clang-tidy"
DOC "Path to clang-tidy executable")
if (SYNERGY_TIDY)
if (NOT CLANG_TIDY_EXE)
message (STATUS "clang-tidy not found.")
else ()
message (STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
set (DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-checks=* -fix")
endif ()
endif()
#
# Synergy version
#
include (cmake/Version.cmake)
include (cmake/Package.cmake)
# TODO: Find out why we need these, and remove them
if (COMMAND cmake_policy)
@@ -42,9 +55,9 @@ endif()
# Add headers to source list
if (${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
set (BARRIER_ADD_HEADERS FALSE)
set (SYNERGY_ADD_HEADERS FALSE)
else()
set (BARRIER_ADD_HEADERS TRUE)
set (SYNERGY_ADD_HEADERS TRUE)
endif()
set (libs)
@@ -154,14 +167,9 @@ if (UNIX)
)
else() # not-apple
# FreeBSD uses /usr/local for anything not part of base
# Also package avahi-libdns puts dns_sd.h a bit deeper
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};/usr/local/include;/usr/local/include/avahi-compat-libdns_sd")
set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -L/usr/local/lib")
include_directories("/usr/local/include" "/usr/local/include/avahi-compat-libdns_sd")
link_directories("/usr/local/lib")
endif()
# add include dir for bsd (posix uses /usr/include/)
set (CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH}:/usr/local/include")
set (XKBlib "X11/Xlib.h;X11/XKBlib.h")
set (CMAKE_EXTRA_INCLUDE_FILES "${XKBlib};X11/extensions/Xrandr.h")
@@ -176,7 +184,6 @@ if (UNIX)
check_include_files ("X11/extensions/XTest.h" HAVE_X11_EXTENSIONS_XTEST_H)
check_include_files ("${XKBlib}" HAVE_X11_XKBLIB_H)
check_include_files ("X11/extensions/XInput2.h" HAVE_XI2)
check_include_files ("dns_sd.h" HAVE_DNSSD)
if (HAVE_X11_EXTENSIONS_DPMS_H)
# Assume that function prototypes declared, when include exists.
@@ -187,10 +194,6 @@ if (UNIX)
message (FATAL_ERROR "Missing header: " ${XKBlib})
endif()
if (NOT HAVE_DNSSD)
message (FATAL_ERROR "Missing header: dns_sd.h")
endif()
check_library_exists ("SM;ICE" IceConnectionNumber "" HAVE_ICE)
check_library_exists ("Xext;X11" DPMSQueryExtension "" HAVE_Xext)
check_library_exists ("Xtst;Xext;X11" XTestQueryExtension "" HAVE_Xtst)
@@ -209,7 +212,7 @@ if (UNIX)
if (HAVE_Xtst)
# Xtxt depends on X11.
set (HAVE_X11 1)
set (HAVE_X11)
list (APPEND libs Xtst X11)
else()
@@ -280,48 +283,11 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
/DWIN32
/D_WINDOWS
/D_CRT_SECURE_NO_WARNINGS
/DBARRIER_VERSION=\"${BARRIER_VERSION}\"
/DSYNERGY_VERSION=\"${SYNERGY_VERSION}\"
/D_XKEYCHECK_H
)
endif()
#
# OpenSSL
#
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set (OPENSSL_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/ext/openssl/windows)
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
set (OPENSSL_ROOT "${OPENSSL_ROOT}/x64")
else()
set (OPENSSL_ROOT "${OPENSSL_ROOT}/x86")
endif()
include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include)
set (OPENSSL_LIBS
${OPENSSL_ROOT}/lib/libeay32.lib
${OPENSSL_ROOT}/lib/ssleay32.lib
)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set (OPENSSL_ROOT /usr/local/opt/openssl)
include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include)
set (OPENSSL_LIBS
${OPENSSL_ROOT}/lib/libssl.a
${OPENSSL_ROOT}/lib/libcrypto.a
)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set (OPENSSL_LIBS ssl crypto)
else()
find_library (lib_ssl ssl)
find_library (lib_crypto crypto)
if (NOT lib_ssl)
message(FATAL_ERROR "openssl library not found")
elseif (NOT lib_crypto)
message(FATAL_ERROR "crypto library not found")
endif()
set (OPENSSL_LIBS ${lib_ssl} ${lib_crypto})
endif()
#
# Configure_file... but for directories, recursively.
#
@@ -352,44 +318,10 @@ macro (configure_files srcDir destDir)
endforeach (templateFile)
endmacro (configure_files)
if (${BARRIER_BUILD_INSTALLER})
#
# macOS app Bundle
#
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set (CMAKE_INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks")
set (BARRIER_BUNDLE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dist/macos/bundle)
set (BARRIER_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
set (BARRIER_BUNDLE_APP_DIR ${BARRIER_BUNDLE_DIR}/Barrier.app)
set (BARRIER_BUNDLE_BINARY_DIR ${BARRIER_BUNDLE_APP_DIR}/Contents/MacOS)
configure_files (${BARRIER_BUNDLE_SOURCE_DIR} ${BARRIER_BUNDLE_DIR})
endif()
#
# Windows installer
#
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
message (STATUS "Configuring the wix installer")
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/wix ${CMAKE_BINARY_DIR}/installer-wix)
message (STATUS "Configuring the inno installer")
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/inno ${CMAKE_BINARY_DIR}/installer-inno)
endif()
#
# Linux installation
#
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/rpm ${CMAKE_BINARY_DIR}/rpm)
install(FILES res/barrier.svg DESTINATION share/icons/hicolor/scalable/apps)
if("${VERSION_MAJOR}" STREQUAL "2")
install(FILES res/barrier2.desktop DESTINATION share/applications)
else()
install(FILES res/barrier.desktop DESTINATION share/applications)
endif()
endif()
else()
message (STATUS "NOT configuring the installer")
endif()
add_subdirectory (src)
if (SYNERGY_TIDY)
set_property (TARGET synergys synergyc synergy-core
arch base client common core io mt net platform server shared
PROPERTY CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
endif()

View File

@@ -1,11 +1,7 @@
Copyright (C) 2018 Debauchee Open Source Group
Copyright (C) 2012-2016 Symless Ltd.
Copyright (C) 2008-2014 Nick Bolton
Copyright (C) 2002-2014 Chris Schoeneman
This program is released under the GPL with the additional exemption
that compiling, linking, and/or using OpenSSL is allowed.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

View File

@@ -1,31 +1,3 @@
# Barrier
# Synergy Core
Eliminate the barrier between your machines.
Master branch build status: &nbsp; [![Build Status](https://travis-ci.org/debauchee/barrier.svg?branch=master)](https://travis-ci.org/debauchee/barrier)
### What is it?
Barrier is KVM software forked from Symless's synergy 1.9 codebase. Synergy was a commercialized reimplementation of the original CosmoSynergy written by Chris Schoeneman.
### What's different?
Whereas synergy has moved beyond its goals from the 1.x era, barrier aims to maintain that simplicity. Barrier will let you use your keyboard and mouse from machine A to control machine B (or more). That's it.
### Project goals
Hassle-free reliability. We are users, too. Barrier was created so that we could solve the issues we had with synergy and then share these fixes with other users.
Compatibility. We use more than one operating system and you probably do, too. Windows, OSX, Linux, FreeBSD... Barrier should "just work". We will also have our eye on Wayland when the time comes.
Communication. Everything we do is in the open. Our issue tracker will let you see if others are having the same problem you're having and will allow you to add additional information. You will also be able to see when progress is made and how the issue gets resolved.
### Contact & support
Please be aware that the *only* way to draw our attention to a bug is to create a new PR in the issue tracker. Write a clear, concise, detailed report and you will get a clear, concise, detailed response. Priority is always give to issues that affect a wider range of users.
For short and simple questions or to just say hello find us on the Freenode IRC network in the #barrier channel.
### Contributions
At this time we are looking for developers to help fix the issues found in the issue tracker. Submit pull requests once you've polished up your patch and we'll review and possibly merge it.
This is the open source core component of Synergy, a keyboard and mouse sharing tool.

View File

@@ -1,35 +0,0 @@
@echo off
set WIX_ROOT=C:\Program Files (x86)\WiX Toolset v3.11
set savedir=%cd%
cd /d %~dp0
if not exist build\bin\Release goto buildproject
cd build\installer
if ERRORLEVEL 1 goto buildproject
echo Building 64-bit Windows installer...
"%WIX_ROOT%\bin\candle.exe" -nologo -arch x64 -dConfiguration=Release -dPlatform=x64 -ext WixUtilExtension -ext WixFirewallExtension Product.wxs -o Barrier.wixobj
if ERRORLEVEL 1 goto failed
"%WIX_ROOT%\bin\light.exe" -nologo -ext WixUtilExtension -ext WixFirewallExtension -ext WixUIExtension Barrier.wixobj -o bin\Barrier.msi
if ERRORLEVEL 1 goto failed
echo Build completed successfully
goto done
:buildproject
echo To build a 64-bit Windows installer:
echo - set Q_BUILD_TYPE=Release in build_env.bat
echo - also set other environmental overrides necessary for your build environment
echo - run clean_build.bat to build Barrier and verify that it succeeds
echo - re-run this script to create the installation package
goto done
:failed
echo Build failed
:done
set WIX_ROOT=
cd /d %savedir%
set savedir=

View File

@@ -1,71 +0,0 @@
@echo off
REM defaults - override them by creating a build_env.bat file
set B_BUILD_TYPE=Debug
set B_QT_ROOT=C:\Qt
set B_QT_VER=5.6.3
set B_QT_MSVC=msvc2015_64
set B_BONJOUR=C:\Program Files\Bonjour SDK
set savedir=%cd%
cd /d %~dp0
if exist build_env.bat call build_env.bat
REM needed by cmake to set bonjour include dir
set BONJOUR_SDK_HOME=%B_BONJOUR%
REM full path to Qt stuff we need
set B_QT_FULLPATH=%B_QT_ROOT%\%B_QT_VER%\%B_QT_MSVC%
echo Bonjour: %BONJOUR_SDK_HOME%
echo Qt: %B_QT_FULLPATH%
rmdir /q /s build
mkdir build
if ERRORLEVEL 1 goto failed
cd build
cmake -G "Visual Studio 15 2017 Win64" -D CMAKE_BUILD_TYPE=%B_BUILD_TYPE% -D CMAKE_PREFIX_PATH="%B_QT_FULLPATH%" -D DNSSD_LIB="%B_BONJOUR%\Lib\x64\dnssd.lib" -D QT_VERSION=%B_QT_VER% ..
if ERRORLEVEL 1 goto failed
echo @msbuild barrier.sln /p:Platform="x64" /p:Configuration=%B_BUILD_TYPE% /m %B_BUILD_OPTIONS% > make.bat
call make.bat
if ERRORLEVEL 1 goto failed
if exist bin\Debug (
copy %B_QT_FULLPATH%\bin\Qt5Cored.dll bin\Debug\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Guid.dll bin\Debug\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Networkd.dll bin\Debug\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Widgetsd.dll bin\Debug\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Cored.dll bin\Debug\ > NUL
copy ..\ext\openssl\windows\x64\bin\* bin\Debug\ > NUL
copy ..\res\openssl\barrier.conf bin\Debug\ > NUL
) else if exist bin\Release (
copy %B_QT_FULLPATH%\bin\Qt5Core.dll bin\Release\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Gui.dll bin\Release\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Network.dll bin\Release\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Widgets.dll bin\Release\ > NUL
copy %B_QT_FULLPATH%\bin\Qt5Core.dll bin\Release\ > NUL
copy ..\ext\openssl\windows\x64\bin\* bin\Release\ > NUL
copy ..\res\openssl\barrier.conf bin\Release\ > NUL
mkdir bin\Release\platforms
copy %B_QT_FULLPATH%\plugins\platforms\qwindows.dll bin\Release\platforms\ > NUL
) else (
echo Remember to copy supporting binaries and confiuration files!
)
echo Build completed successfully
goto done
:failed
echo Build failed
:done
cd /d %savedir%
set B_BUILD_TYPE=
set B_QT_ROOT=
set B_QT_VER=
set B_QT_MSVC=
set B_BONJOUR=
set BONJOUR_SDK_HOME=
set B_QT_FULLPATH=
set savedir=

View File

@@ -1,28 +0,0 @@
#!/bin/sh
cd "$(dirname $0)" || exit 1
# some environments have cmake v2 as 'cmake' and v3 as 'cmake3'
# check for cmake3 first then fallback to just cmake
B_CMAKE=`type cmake3 2>/dev/null`
if [ $? -eq 0 ]; then
B_CMAKE=`echo $B_CMAKE | cut -d' ' -f3`
else
B_CMAKE=cmake
fi
# default build configuration
B_BUILD_TYPE=${B_BUILD_TYPE:-Debug}
if [ "$(uname)" = "Darwin" ]; then
# OSX needs a lot of extra help, poor thing
# run the osx_environment.sh script to fix paths
. ./osx_environment.sh
B_CMAKE_FLAGS="-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 $B_CMAKE_FLAGS"
fi
# allow local customizations to build environment
[ -r ./build_env.sh ] && . ./build_env.sh
B_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=$B_BUILD_TYPE $B_CMAKE_FLAGS"
rm -rf build
mkdir build || exit 1
cd build || exit 1
echo Starting Barrier $B_BUILD_TYPE build...
$B_CMAKE $B_CMAKE_FLAGS .. || exit 1
make || exit 1
echo "Build completed successfully"

View File

@@ -1,9 +0,0 @@
if (UNIX)
set (CPACK_PACKAGE_VERSION_MAJOR ${BARRIER_VERSION_MAJOR})
set (CPACK_PACKAGE_VERSION_MINOR ${BARRIER_VERSION_MINOR})
set (CPACK_PACKAGE_VERSION_PATCH ${BARRIER_VERSION_PATCH})
set (CPACK_GENERATOR "TBZ2")
set (CPACK_SOURCE_GENERATOR "TXZ")
set (CPACK_SOURCE_IGNORE_FILES "/build/;\.gitignore$;/\.git/;/.github/;\.swp$;build_env\.*")
include (CPack)
endif()

View File

@@ -1,94 +1,90 @@
cmake_minimum_required (VERSION 3.4)
set (BARRIER_VERSION_MAJOR 2)
set (BARRIER_VERSION_MINOR 0)
set (BARRIER_VERSION_PATCH 0)
#
# Barrier Version
# Synergy Version
#
if (NOT DEFINED BARRIER_VERSION_MAJOR)
if (DEFINED ENV{BARRIER_VERSION_MAJOR})
set (BARRIER_VERSION_MAJOR $ENV{BARRIER_VERSION_MAJOR})
if (NOT DEFINED SYNERGY_VERSION_MAJOR)
if (DEFINED ENV{SYNERGY_VERSION_MAJOR})
set (SYNERGY_VERSION_MAJOR $ENV{SYNERGY_VERSION_MAJOR})
else()
set (BARRIER_VERSION_MAJOR 1)
set (SYNERGY_VERSION_MAJOR 2)
endif()
endif()
if (NOT DEFINED BARRIER_VERSION_MINOR)
if (DEFINED ENV{BARRIER_VERSION_MINOR})
set (BARRIER_VERSION_MINOR $ENV{BARRIER_VERSION_MINOR})
if (NOT DEFINED SYNERGY_VERSION_MINOR)
if (DEFINED ENV{SYNERGY_VERSION_MINOR})
set (SYNERGY_VERSION_MINOR $ENV{SYNERGY_VERSION_MINOR})
else()
set (BARRIER_VERSION_MINOR 9)
set (SYNERGY_VERSION_MINOR 0)
endif()
endif()
if (NOT DEFINED BARRIER_VERSION_PATCH)
if (DEFINED ENV{BARRIER_VERSION_PATCH})
set (BARRIER_VERSION_PATCH $ENV{BARRIER_VERSION_PATCH})
if (NOT DEFINED SYNERGY_VERSION_PATCH)
if (DEFINED ENV{SYNERGY_VERSION_PATCH})
set (SYNERGY_VERSION_PATCH $ENV{SYNERGY_VERSION_PATCH})
else()
set (BARRIER_VERSION_PATCH 0)
message (WARNING "Barrier version wasn't set. Set to ${BARRIER_VERSION_MAJOR}.${BARRIER_VERSION_MINOR}.${BARRIER_VERSION_PATCH}")
set (SYNERGY_VERSION_PATCH 0)
message (WARNING "Synergy version wasn't set. Set to ${SYNERGY_VERSION_MAJOR}.${SYNERGY_VERSION_MINOR}.${SYNERGY_VERSION_PATCH}")
endif()
endif()
if (NOT DEFINED BARRIER_VERSION_STAGE)
if (DEFINED ENV{BARRIER_VERSION_STAGE})
set (BARRIER_VERSION_STAGE $ENV{BARRIER_VERSION_STAGE})
if (NOT DEFINED SYNERGY_VERSION_STAGE)
if (DEFINED ENV{SYNERGY_VERSION_STAGE})
set (SYNERGY_VERSION_STAGE $ENV{SYNERGY_VERSION_STAGE})
else()
set (BARRIER_VERSION_STAGE "snapshot")
set (SYNERGY_VERSION_STAGE "snapshot")
endif()
endif()
if (NOT DEFINED BARRIER_REVISION)
if (NOT DEFINED SYNERGY_REVISION)
if (DEFINED ENV{GIT_COMMIT})
string (SUBSTRING $ENV{GIT_COMMIT} 0 8 BARRIER_REVISION)
else()
string (SUBSTRING $ENV{GIT_COMMIT} 0 8 SYNERGY_REVISION)
elseif (SYNERGY_VERSION_STAGE STREQUAL "snapshot")
execute_process (
COMMAND git rev-parse --short=8 HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE BARRIER_REVISION
OUTPUT_VARIABLE SYNERGY_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif()
endif()
if (DEFINED BARRIER_REVISION)
string(LENGTH ${BARRIER_REVISION} BARRIER_REVISION_LENGTH)
if (NOT ((BARRIER_REVISION MATCHES "^[a-f0-9]+") AND (BARRIER_REVISION_LENGTH EQUAL "8")))
message (FATAL_ERROR "BARRIER_REVISION ('${BARRIER_REVISION}') should be a short commit hash")
if (DEFINED SYNERGY_REVISION)
string(LENGTH ${SYNERGY_REVISION} SYNERGY_REVISION_LENGTH)
if (NOT ((SYNERGY_REVISION MATCHES "^[a-f0-9]+") AND (SYNERGY_REVISION_LENGTH EQUAL "8")))
message (FATAL_ERROR "SYNERGY_REVISION ('${SYNERGY_REVISION}') should be a short commit hash")
endif()
unset (BARRIER_REVISION_LENGTH)
unset (SYNERGY_REVISION_LENGTH)
else()
set (BARRIER_REVISION "0badc0de")
set (SYNERGY_REVISION "0badc0de")
endif()
if (DEFINED ENV{BUILD_NUMBER})
set (BARRIER_BUILD_NUMBER $ENV{BUILD_NUMBER})
set (SYNERGY_BUILD_NUMBER $ENV{BUILD_NUMBER})
else()
set (BARRIER_BUILD_NUMBER 1)
set (SYNERGY_BUILD_NUMBER 1)
endif()
string (TIMESTAMP BARRIER_BUILD_DATE "%Y%m%d" UTC)
set (BARRIER_SNAPSHOT_INFO ".${BARRIER_VERSION_STAGE}.${BARRIER_REVISION}")
string (TIMESTAMP SYNERGY_BUILD_DATE "%Y%m%d" UTC)
set (SYNERGY_SNAPSHOT_INFO ".${SYNERGY_VERSION_STAGE}.${SYNERGY_REVISION}")
if (BARRIER_VERSION_STAGE STREQUAL "snapshot")
set (BARRIER_VERSION_TAG "${BARRIER_VERSION_STAGE}.b${BARRIER_BUILD_NUMBER}-${BARRIER_REVISION}")
if (SYNERGY_VERSION_STAGE STREQUAL "snapshot")
set (SYNERGY_VERSION_TAG "${SYNERGY_VERSION_STAGE}.b${SYNERGY_BUILD_NUMBER}-${SYNERGY_REVISION}")
else()
set (BARRIER_VERSION_TAG "${BARRIER_VERSION_STAGE}")
set (SYNERGY_VERSION_TAG "${SYNERGY_VERSION_STAGE}")
endif()
set (BARRIER_VERSION "${BARRIER_VERSION_MAJOR}.${BARRIER_VERSION_MINOR}.${BARRIER_VERSION_PATCH}-${BARRIER_VERSION_STAGE}")
set (BARRIER_VERSION_STRING "${BARRIER_VERSION}-${BARRIER_VERSION_TAG}")
message (STATUS "Full Barrier version string is '" ${BARRIER_VERSION_STRING} "'")
set (SYNERGY_VERSION "${SYNERGY_VERSION_MAJOR}.${SYNERGY_VERSION_MINOR}.${SYNERGY_VERSION_PATCH}")
set (SYNERGY_VERSION_STRING "${SYNERGY_VERSION}-${SYNERGY_VERSION_TAG}")
message (STATUS "Full Synergy version string is '" ${SYNERGY_VERSION_STRING} "'")
add_definitions (-DBARRIER_VERSION="${BARRIER_VERSION}")
add_definitions (-DBARRIER_VERSION_STRING="${BARRIER_VERSION_STRING}")
add_definitions (-DBARRIER_REVISION="${BARRIER_REVISION}")
add_definitions (-DBARRIER_BUILD_DATE="${BARRIER_BUILD_DATE}")
add_definitions (-DBARRIER_BUILD_NUMBER=${BARRIER_BUILD_NUMBER})
add_definitions (-DSYNERGY_VERSION="${SYNERGY_VERSION}")
add_definitions (-DSYNERGY_VERSION_STRING="${SYNERGY_VERSION_STRING}")
add_definitions (-DSYNERGY_REVISION="${SYNERGY_REVISION}")
add_definitions (-DSYNERGY_BUILD_DATE="${SYNERGY_BUILD_DATE}")
add_definitions (-DSYNERGY_BUILD_NUMBER="${SYNERGY_BUILD_NUMBER}")
if (BARRIER_DEVELOPER_MODE)
add_definitions (-DBARRIER_DEVELOPER_MODE=1)
if (SYNERGY_DEVELOPER_MODE)
add_definitions (-DSYNERGY_DEVELOPER_MODE=1)
endif()

12
debian/control vendored
View File

@@ -1,17 +1,17 @@
Source: barrier
Source: synergy
Section: utils
Priority: optional
Standards-Version: 3.9.7
Homepage: https://github.com/debauchee/barrier/
Maintainer: Debauchee Open Source Group <todo@mail.com>
Homepage: https://www.symless.com/
Maintainer: Symless <engineering@symless.com>
Package: barrier
Package: synergy
Architecture: amd64
Section: utils
Priority: optional
Depends: ${shlibs:Depends},
${misc:Depends}
Description: Keyboard and mouse sharing solution
Barrier allows you to share one mouse and keyboard between multiple computers.
Synergy allows you to share one mouse and keyboard between multiple computers.
Work seamlessly across Windows, macOS and Linux.
Homepage: https://github.com/debauchee/barrier/
Homepage: https://symless.com/synergy

6
debian/copyright vendored
View File

@@ -1,5 +1,5 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Barrier
Source: https://github.com/debauchee/barrier/
Upstream-Name: Synergy
Source: https://www.symless.com/synergy
Disclaimer: This package is not part of the Debian project as it contains closed source proprietary components
Copyright: Copyright (C) 2018 Debauchee Open Source Group
Copyright: Copyright (C) 2012-2017 Symless Ltd

View File

@@ -1,74 +0,0 @@
#define MyAppName "Barrier"
#define MyAppVersion "@BARRIER_VERSION@"
#define MyAppPublisher "Debauchee Open Source Group"
#define MyAppURL "https://github.com/debauchee/barrier/wiki"
#define MyAppExeName "barrier.exe"
#define MyAppServiceName "Barrier"
#define MyAppServiceExe "barrierd.exe"
#define MyAppServiceDesc "Manages the Barrier background processes."
[Setup]
AppId={{41036EA6-3F7A-4803-8AE0-469E5E91EFCC}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=@CMAKE_CURRENT_SOURCE_DIR@/res/License.rtf
OutputDir=@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/../installer-inno/bin
OutputBaseFilename=BarrierSetup-{#MyAppVersion}
SetupIconFile=@CMAKE_CURRENT_SOURCE_DIR@/res/barrier.ico
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64 ia64
#include "scripts\lang\english.iss"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/Release/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: {sys}\sc.exe; Parameters: "create {#MyAppServiceName} start= auto binPath= ""{app}\{#MyAppServiceExe}"""; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "description {#MyAppServiceName} ""{#MyAppServiceDesc}"""; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "start {#MyAppServiceName}"; Flags: runhidden
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[UninstallDelete]
Type: files; Name: "{app}\barrierd.log"
[UninstallRun]
Filename: {sys}\sc.exe; Parameters: "stop {#MyAppServiceName}"; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "delete {#MyAppServiceName}"; Flags: runhidden
[CustomMessages]
DependenciesDir="redist"
; shared code for installing the products
#include "scripts\products.iss"
#include "scripts\products\stringversion.iss"
#include "scripts\products\winversion.iss"
#include "scripts\products\msiproduct.iss"
#include "scripts\products\vcredist2017.iss"
[Code]
function InitializeSetup(): boolean;
begin
// initialize windows version
initwinversion();
vcredist2017('14'); // min allowed version is 14.0
Result := true;
end;

View File

@@ -1,49 +0,0 @@
[strings]
; General
100=File download
101=Do you want to cancel the download?
102=%1 (%2 of %3)
103=%1 KB
104=%1 KB of %2 KB (%3%)
; Status information
110=Getting file information...
111=Redirecting to %1
112=Sending request...
113=Resolving %1
114=Connected to %1
115=Receiving...
116=Connecting to %1
; Error messages
120=Error connecting to the internet.\n\n%1
121=Error opening %1.\n\nThe server returned status code %2.
122=Error reading URL.\n\n%1
123=Error writing file %1.\n\n%2
124=Error opening file %1.\n\n%2
125='%1' is an invalid URL.
126=Error opening %1.\n\n%2
127=Error sending request.\n\n%1
128=Unsupported protocol. Only HTTP and FTP protocols are supported.
129=Failed to connect to %1.\n\n%2
130=Failed to query status code.\n\n%1
131=Error requesting file.\n\n%1
; Other
144=About...
146=Download
147=Setup is now downloading additional files to your computer.
; labels
160=File:
161=Speed:
162=Status:
163=Elapsed Time:
164=Remaining Time:
165=Current File:
166=Overall Progress:
167=Cancel
168=OK
169=User Name and Password
170=User Name:
171=Password:

Binary file not shown.

View File

@@ -1,14 +0,0 @@
[Files]
Source: "scripts\isxdl\isxdl.dll"; Flags: dontcopy
[Code]
procedure isxdl_AddFile(URL, Filename: PAnsiChar);
external 'isxdl_AddFile@files:isxdl.dll stdcall';
function isxdl_DownloadFiles(hWnd: Integer): Integer;
external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
function isxdl_SetOption(Option, Value: PAnsiChar): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall';
[Setup]

View File

@@ -1,18 +0,0 @@
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
[CustomMessages]
;http://www.microsoft.com/globaldev/reference/lcid-all.mspx
en.lcid=1033
en.depdownload_msg=The following applications are required before setup can continue:%n%n%1%nDownload and install now?
en.depdownload_memo_title=Download dependencies
en.depinstall_memo_title=Install dependencies
en.depinstall_title=Installing dependencies
en.depinstall_description=Please wait while Setup installs dependencies on your computer.
en.depinstall_status=Installing %1...
en.depinstall_missing=%1 must be installed before setup can continue. Please install %1 and run Setup again.
en.depinstall_error=An error occured while installing the dependencies. Please restart the computer and run the setup again or install the following dependencies manually:%n
en.isxdl_langfile=
[Files]

View File

@@ -1,6 +0,0 @@
#include "isxdl\isxdl.iss"
[Code]
#include "products.pas"
[Setup]

View File

@@ -1,329 +0,0 @@
{
--- TYPES AND VARIABLES ---
}
type
TProduct = record
File: String;
Title: String;
Parameters: String;
ForceSuccess : boolean;
InstallClean : boolean;
MustRebootAfter : boolean;
end;
InstallResult = (InstallSuccessful, InstallRebootRequired, InstallError);
var
installMemo, downloadMessage: string;
products: array of TProduct;
delayedReboot, isForcedX86: boolean;
DependencyPage: TOutputProgressWizardPage;
procedure AddProduct(filename, parameters, title, size, url: string; forceSuccess, installClean, mustRebootAfter : boolean);
{
Adds a product to the list of products to download.
Parameters:
filename: the file name under which to save the file
parameters: the parameters with which to run the file
title: the product title
size: the file size
url: the URL to download from
forceSuccess: whether to continue in case of setup failure
installClean: whether the product needs a reboot before installing
mustRebootAfter: whether the product needs a reboot after installing
}
var
path: string;
i: Integer;
begin
installMemo := installMemo + '%1' + title + #13;
path := ExpandConstant('{src}{\}') + CustomMessage('DependenciesDir') + '\' + filename;
if not FileExists(path) then begin
path := ExpandConstant('{tmp}{\}') + filename;
if not FileExists(path) then begin
isxdl_AddFile(url, path);
downloadMessage := downloadMessage + '%1' + title + ' (' + size + ')' + #13;
end;
end;
i := GetArrayLength(products);
SetArrayLength(products, i + 1);
products[i].File := path;
products[i].Title := title;
products[i].Parameters := parameters;
products[i].ForceSuccess := forceSuccess;
products[i].InstallClean := installClean;
products[i].MustRebootAfter := mustRebootAfter;
end;
function SmartExec(product : TProduct; var resultcode : Integer): boolean;
{
Executes a product and returns the exit code.
Parameters:
product: the product to install
resultcode: the exit code
}
begin
if (LowerCase(Copy(product.File, Length(product.File) - 2, 3)) = 'exe') then begin
Result := Exec(product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode);
end else begin
Result := ShellExec('', product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode);
end;
end;
function PendingReboot: boolean;
{
Checks whether the machine has a pending reboot.
}
var names: String;
begin
if (RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'PendingFileRenameOperations', names)) then begin
Result := true;
end else if ((RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'SetupExecute', names)) and (names <> '')) then begin
Result := true;
end else begin
Result := false;
end;
end;
function InstallProducts: InstallResult;
{
Installs the downloaded products
}
var
resultCode, i, productCount, finishCount: Integer;
begin
Result := InstallSuccessful;
productCount := GetArrayLength(products);
if productCount > 0 then begin
DependencyPage := CreateOutputProgressPage(CustomMessage('depinstall_title'), CustomMessage('depinstall_description'));
DependencyPage.Show;
for i := 0 to productCount - 1 do begin
if (products[i].InstallClean and (delayedReboot or PendingReboot())) then begin
Result := InstallRebootRequired;
break;
end;
DependencyPage.SetText(FmtMessage(CustomMessage('depinstall_status'), [products[i].Title]), '');
DependencyPage.SetProgress(i, productCount);
while true do begin
// set 0 as used code for shown error if SmartExec fails
resultCode := 0;
if SmartExec(products[i], resultCode) then begin
// setup executed; resultCode contains the exit code
if (products[i].MustRebootAfter) then begin
// delay reboot after install if we installed the last dependency anyways
if (i = productCount - 1) then begin
delayedReboot := true;
end else begin
Result := InstallRebootRequired;
end;
break;
end else if (resultCode = 0) or (products[i].ForceSuccess) then begin
finishCount := finishCount + 1;
break;
end else if (resultCode = 3010) then begin
// Windows Installer resultCode 3010: ERROR_SUCCESS_REBOOT_REQUIRED
delayedReboot := true;
finishCount := finishCount + 1;
break;
end;
end;
case MsgBox(FmtMessage(SetupMessage(msgErrorFunctionFailed), [products[i].Title, IntToStr(resultCode)]), mbError, MB_ABORTRETRYIGNORE) of
IDABORT: begin
Result := InstallError;
break;
end;
IDIGNORE: begin
break;
end;
end;
end;
if Result <> InstallSuccessful then begin
break;
end;
end;
// only leave not installed products for error message
for i := 0 to productCount - finishCount - 1 do begin
products[i] := products[i+finishCount];
end;
SetArrayLength(products, productCount - finishCount);
DependencyPage.Hide;
end;
end;
{
--------------------
INNO EVENT FUNCTIONS
--------------------
}
function PrepareToInstall(var NeedsRestart: boolean): String;
{
Before the "preparing to install" page.
See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents
}
var
i: Integer;
s: string;
begin
delayedReboot := false;
case InstallProducts() of
InstallError: begin
s := CustomMessage('depinstall_error');
for i := 0 to GetArrayLength(products) - 1 do begin
s := s + #13 + ' ' + products[i].Title;
end;
Result := s;
end;
InstallRebootRequired: begin
Result := products[0].Title;
NeedsRestart := true;
// write into the registry that the installer needs to be executed again after restart
RegWriteStringValue(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', 'InstallBootstrap', ExpandConstant('{srcexe}'));
end;
end;
end;
function NeedRestart : boolean;
{
Checks whether a restart is needed at the end of install
See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents
}
begin
Result := delayedReboot;
end;
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
{
Just before the "ready" page.
See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents
}
var
s: string;
begin
if downloadMessage <> '' then
s := s + CustomMessage('depdownload_memo_title') + ':' + NewLine + FmtMessage(downloadMessage, [Space]) + NewLine;
if installMemo <> '' then
s := s + CustomMessage('depinstall_memo_title') + ':' + NewLine + FmtMessage(installMemo, [Space]) + NewLine;
if MemoDirInfo <> '' then
s := s + MemoDirInfo + NewLine + NewLine;
if MemoGroupInfo <> '' then
s := s + MemoGroupInfo + NewLine + NewLine;
if MemoTasksInfo <> '' then
s := s + MemoTasksInfo;
Result := s
end;
function NextButtonClick(CurPageID: Integer): boolean;
{
At each "next" button click
See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents
}
begin
Result := true;
if CurPageID = wpReady then begin
if downloadMessage <> '' then begin
// change isxdl language only if it is not english because isxdl default language is already english
if (ActiveLanguage() <> 'en') then begin
ExtractTemporaryFile(CustomMessage('isxdl_langfile'));
isxdl_SetOption('language', ExpandConstant('{tmp}{\}') + CustomMessage('isxdl_langfile'));
end;
//isxdl_SetOption('title', FmtMessage(SetupMessage(msgSetupWindowTitle), [CustomMessage('appname')]));
//if SuppressibleMsgBox(FmtMessage(CustomMessage('depdownload_msg'), [FmtMessage(downloadMessage, [''])]), mbConfirmation, MB_YESNO, IDYES) = IDNO then
// Result := false
//else if
if isxdl_DownloadFiles(StrToInt(ExpandConstant('{wizardhwnd}'))) = 0 then
Result := false;
end;
end;
end;
{
-----------------------------
ARCHITECTURE HELPER FUNCTIONS
-----------------------------
}
function IsX86: boolean;
{
Gets whether the computer is x86 (32 bits).
}
begin
Result := isForcedX86 or (ProcessorArchitecture = paX86) or (ProcessorArchitecture = paUnknown);
end;
function IsX64: boolean;
{
Gets whether the computer is x64 (64 bits).
}
begin
Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paX64);
end;
function IsIA64: boolean;
{
Gets whether the computer is IA64 (Itanium 64 bits).
}
begin
Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paIA64);
end;
function GetString(x86, x64, ia64: String): String;
{
Gets a string depending on the computer architecture.
Parameters:
x86: the string if the computer is x86
x64: the string if the computer is x64
ia64: the string if the computer is IA64
}
begin
if IsX64() and (x64 <> '') then begin
Result := x64;
end else if IsIA64() and (ia64 <> '') then begin
Result := ia64;
end else begin
Result := x86;
end;
end;
function GetArchitectureString(): String;
{
Gets the "standard" architecture suffix string.
Returns either _x64, _ia64 or nothing.
}
begin
if IsX64() then begin
Result := '_x64';
end else if IsIA64() then begin
Result := '_ia64';
end else begin
Result := '';
end;
end;
procedure SetForceX86(value: boolean);
{
Forces the setup to use X86 products
}
begin
isForcedX86 := value;
end;

View File

@@ -1,49 +0,0 @@
[Code]
#ifdef UNICODE
#define AW "W"
#else
#define AW "A"
#endif
type
INSTALLSTATE = Longint;
const
INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function.
INSTALLSTATE_UNKNOWN = -1; // The product is neither advertised or installed.
INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed.
INSTALLSTATE_ABSENT = 2; // The product is installed for a different user.
INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user.
function MsiQueryProductState(szProduct: string): INSTALLSTATE;
external 'MsiQueryProductState{#AW}@msi.dll stdcall';
function MsiEnumRelatedProducts(szUpgradeCode: string; nReserved: dword; nIndex: dword; szProductCode: string): integer;
external 'MsiEnumRelatedProducts{#AW}@msi.dll stdcall';
function MsiGetProductInfo(szProductCode: string; szProperty: string; szValue: string; var nvalueSize: dword): integer;
external 'MsiGetProductInfo{#AW}@msi.dll stdcall';
function msiproduct(productID: string): boolean;
begin
Result := MsiQueryProductState(productID) = INSTALLSTATE_DEFAULT;
end;
function msiproductupgrade(upgradeCode: string; minVersion: string): boolean;
var
productCode, version: string;
valueSize: dword;
begin
SetLength(productCode, 39);
Result := false;
if (MsiEnumRelatedProducts(upgradeCode, 0, 0, productCode) = 0) then begin
SetLength(version, 39);
valueSize := Length(version);
if (MsiGetProductInfo(productCode, 'VersionString', version, valueSize) = 0) then begin
Result := compareversion(version, minVersion) >= 0;
end;
end;
end;
[Setup]

View File

@@ -1,62 +0,0 @@
[Code]
function stringtoversion(var temp: String): Integer;
var
part: String;
pos1: Integer;
begin
if (Length(temp) = 0) then begin
Result := -1;
Exit;
end;
pos1 := Pos('.', temp);
if (pos1 = 0) then begin
Result := StrToInt(temp);
temp := '';
end else begin
part := Copy(temp, 1, pos1 - 1);
temp := Copy(temp, pos1 + 1, Length(temp));
Result := StrToInt(part);
end;
end;
function compareinnerversion(var x, y: String): Integer;
var
num1, num2: Integer;
begin
num1 := stringtoversion(x);
num2 := stringtoversion(y);
if (num1 = -1) and (num2 = -1) then begin
Result := 0;
Exit;
end;
if (num1 < 0) then begin
num1 := 0;
end;
if (num2 < 0) then begin
num2 := 0;
end;
if (num1 < num2) then begin
Result := -1;
end else if (num1 > num2) then begin
Result := 1;
end else begin
Result := compareinnerversion(x, y);
end;
end;
function compareversion(versionA, versionB: String): Integer;
var
temp1, temp2: String;
begin
temp1 := versionA;
temp2 := versionB;
Result := compareinnerversion(temp1, temp2);
end;
[Setup]

View File

@@ -1,32 +0,0 @@
; requires Windows 10, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2, Windows XP Service Pack 3
; http://www.visualstudio.com/en-us/downloads/
[CustomMessages]
vcredist2017_title=Visual C++ 2017 Redistributable
vcredist2017_title_x64=Visual C++ 2017 64-Bit Redistributable
vcredist2017_size=13.7 MB
vcredist2017_size_x64=14.5 MB
[Code]
const
vcredist2017_url = 'http://download.microsoft.com/download/1/f/e/1febbdb2-aded-4e14-9063-39fb17e88444/vc_redist.x86.exe';
vcredist2017_url_x64 = 'http://download.microsoft.com/download/3/b/f/3bf6e759-c555-4595-8973-86b7b4312927/vc_redist.x64.exe';
vcredist2017_upgradecode = '{65E5BD06-6392-3027-8C26-853107D3CF1A}';
vcredist2017_upgradecode_x64 = '{36F68A90-239C-34DF-B58C-64B30153CE35}';
procedure vcredist2017(minVersion: string);
begin
if (not IsIA64()) then begin
if (not msiproductupgrade(GetString(vcredist2017_upgradecode, vcredist2017_upgradecode_x64, ''), minVersion)) then
AddProduct('vcredist2017' + GetArchitectureString() + '.exe',
'/passive /norestart',
CustomMessage('vcredist2017_title' + GetArchitectureString()),
CustomMessage('vcredist2017_size' + GetArchitectureString()),
GetString(vcredist2017_url, vcredist2017_url_x64, ''),
false, false, false);
end;
end;
[Setup]

View File

@@ -1,49 +0,0 @@
[Code]
var
WindowsVersion: TWindowsVersion;
procedure initwinversion();
begin
GetWindowsVersionEx(WindowsVersion);
end;
function exactwinversion(MajorVersion, MinorVersion: integer): boolean;
begin
Result := (WindowsVersion.Major = MajorVersion) and (WindowsVersion.Minor = MinorVersion);
end;
function minwinversion(MajorVersion, MinorVersion: integer): boolean;
begin
Result := (WindowsVersion.Major > MajorVersion) or ((WindowsVersion.Major = MajorVersion) and (WindowsVersion.Minor >= MinorVersion));
end;
function maxwinversion(MajorVersion, MinorVersion: integer): boolean;
begin
Result := (WindowsVersion.Major < MajorVersion) or ((WindowsVersion.Major = MajorVersion) and (WindowsVersion.Minor <= MinorVersion));
end;
function exactwinspversion(MajorVersion, MinorVersion, SpVersion: integer): boolean;
begin
if exactwinversion(MajorVersion, MinorVersion) then
Result := WindowsVersion.ServicePackMajor = SpVersion
else
Result := true;
end;
function minwinspversion(MajorVersion, MinorVersion, SpVersion: integer): boolean;
begin
if exactwinversion(MajorVersion, MinorVersion) then
Result := WindowsVersion.ServicePackMajor >= SpVersion
else
Result := true;
end;
function maxwinspversion(MajorVersion, MinorVersion, SpVersion: integer): boolean;
begin
if exactwinversion(MajorVersion, MinorVersion) then
Result := WindowsVersion.ServicePackMajor <= SpVersion
else
Result := true;
end;
[Setup]

View File

@@ -4,28 +4,28 @@
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>Barrier</string>
<string>Synergy</string>
<key>CFBundleExecutable</key>
<string>barrier.sh</string>
<string>synergy</string>
<key>CFBundleIconFile</key>
<string>Barrier.icns</string>
<string>Synergy.icns</string>
<key>CFBundleIdentifier</key>
<string>barrier</string>
<string>synergy</string>
<!-- TODO: Fix this in v2.0 //-->
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Barrier</string>
<string>Synergy</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>SYN1</string>
<key>CFBundleShortVersionString</key>
<string>@BARRIER_VERSION@</string>
<string>@SYNERGY_VERSION@</string>
<key>CFBundleVersion</key>
<string>@BARRIER_VERSION@</string>
<string>@SYNERGY_VERSION@</string>
<key>NSHumanReadableCopyright</key>
<string>© 2018 Debauchee Open Source Group</string>
<string>© 2012-2016, Symless Ltd</string>
<key>LSMinimumSystemVersion</key>
<string>10.9.0</string>
</dict>

Binary file not shown.

View File

@@ -1,77 +0,0 @@
#!/bin/sh
# change this to rename the installer package
B_DMG="Barrier-@BARRIER_VERSION@.dmg"
# sanity check so we don't distribute packages full of debug symbols
if [ "@CMAKE_BUILD_TYPE@" != "Release" ]; then
echo Will only build installers for Release builds
exit 1
fi
cd @CMAKE_CURRENT_SOURCE_DIR@/build/bundle || exit 1
B_REREF_SCRIPT=@CMAKE_CURRENT_SOURCE_DIR@/build/bundle/reref_dylibs.sh
if [ ! -x $B_REREF_SCRIPT ]; then
echo Missing script: $B_REREF_SCRIPT
exit 1
fi
# remove any old copies so there's no confusion about whether this
# process completes successfully or not
rm -rf temp.dmg $B_DMG
cd Barrier.app/Contents 2>/dev/null
if [ $? -ne 0 ]; then
echo Please make sure that the build completed successfully
echo before trying to create the installer.
exit 1
fi
# MacOS folder holds the executables, non-system libraries,
# and the startup script
rm -rf MacOS
mkdir MacOS || exit 1
cd MacOS || exit 1
# copy all executables
cp @CMAKE_RUNTIME_OUTPUT_DIRECTORY@/* . || exit 1
# copy the qt platform plugin
# TODO: this is hacky and will probably break if there is more than one qt
# version installed. need a better way to find this library
B_COCOA=$(find /usr/local/Cellar/qt -type f -name libqcocoa.dylib | head -1)
if [ $? -ne 0 ] || [ "x$B_COCOA" = "x" ]; then
echo "Could not find cocoa platform plugin"
exit 1
fi
mkdir platforms
cp $B_COCOA platforms/ || exit 1
# make sure we can r/w all these binaries
chmod -R u+rw * || exit 1
# only one executable (barrier) needs non-system libraries although it's
# libraries can call each other. use a recursive script to handle the
# re-referencing
$B_REREF_SCRIPT barrier || exit 1
# the cocoa platform plugin also needs to know where to find the qt libraries.
# because it exists in a subdirectory we append ../ to the relative path of the
# libraries in its metadata
$B_REREF_SCRIPT platforms/libqcocoa.dylib ../ || exit 1
# create a startup script that will change to the binary directory
# before starting barrier
printf "%s\n" "#!/bin/sh" "cd \$(dirname \$0)" "exec ./barrier" > barrier.sh
chmod +x barrier.sh
# create the DMG to be distributed in build/bundle
cd ../../..
hdiutil create -size 64m -fs HFS+ -volname "Barrier" temp.dmg || exit 1
hdiutil attach temp.dmg -mountpoint mnt || exit 1
cp -r Barrier.app mnt/ || exit 1
hdiutil detach mnt || exit 1
hdiutil convert temp.dmg -format UDZO -o $B_DMG || exit 1
rm temp.dmg
echo "Installer created successfully"

View File

@@ -1,41 +0,0 @@
#!/bin/sh
# $1 = binary (program or dylib)
B_TARGET=$1
if [ "x$B_TARGET" = "x" ]; then
echo Which binary needs to be re-referenced?
exit 1
fi
cd $(dirname $B_TARGET) || exit 1
# where to find non-system libraries relative to target's directory.
# the vast majority of the time this should be empty
B_REL_PATH=$2
# we're in target's directory now. trim off the path
B_TARGET=$(basename $B_TARGET)
# get a list of non-system libraries and make local copies
B_LIBS=$(otool -XL $B_TARGET | awk '{ print $1 }' | grep -Ev '^(/usr/lib|/System)')
[ $? -ne 0 ] && exit 1
for B_LIB in $B_LIBS; do
B_LIB_NAME=$(basename $B_LIB)
# ignore self-references
[ "$B_TARGET" = "$B_LIB_NAME" ] && continue
B_DST=${B_REL_PATH}${B_LIB_NAME}
if [ ! -e $B_DST ]; then
cp $B_LIB $B_DST || exit 1
chmod u+rw $B_DST || exit 1
# recursively call this script on libraries purposefully not passing
# $B_REL_PATH so that it is only used explicitly
$0 $B_DST
fi
# adjust the target's metadata to point to the local copy
# rather than the system-wide copy which would only exist on
# a development machine
install_name_tool -change $B_LIB @loader_path/$B_DST $B_TARGET || exit 1
done

View File

@@ -1,27 +0,0 @@
Name: barrier
Version: @BARRIER_VERSION@
Summary: Keyboard and mouse sharing solution
Group: Applications/Productivity
URL: https://github.com/debauchee/barrier/
Source: https://github.com/debauchee/barrier/
Vendor: Debauchee
Packager: Debauchee <todo@mail.com>
License: GPLv2
Release: @BARRIER_BUILD_NUMBER@@BARRIER_SNAPSHOT_INFO@%{?dist}
%description
Barrier allows you to share one mouse and keyboard between multiple computers.
Work seamlessly across Windows, macOS and Linux.
%files
%defattr(755,root,root,-)
%{_bindir}/barrier
%{_bindir}/barrierc
%{_bindir}/barriers
%{_bindir}/syntool
%attr(644,-,-) %{_datarootdir}/applications/barrier.desktop
%attr(644,-,-) %{_datarootdir}/icons/hicolor/scalable/apps/barrier.svg
%changelog
* Sat Jan 27 2018 Debauchee <todo@mail.com>
- Initial version of the package

27
dist/rpm/synergy.spec.in vendored Normal file
View File

@@ -0,0 +1,27 @@
Name: synergy
Version: @SYNERGY_VERSION@
Summary: Keyboard and mouse sharing solution
Group: Applications/Productivity
URL: https://symless.com/synergy
Source: https://symless.com/synergy/downloads
Vendor: Symless
Packager: Symless <engineering@symless.com>
License: GPLv2
Release: @SYNERGY_BUILD_NUMBER@@SYNERGY_SNAPSHOT_INFO@%{?dist}
%description
Synergy allows you to share one mouse and keyboard between multiple computers.
Work seamlessly across Windows, macOS and Linux.
%files
%defattr(755,root,root,-)
%{_bindir}/synergy
%{_bindir}/synergyc
%{_bindir}/synergys
%{_bindir}/syntool
%attr(644,-,-) %{_datarootdir}/applications/synergy.desktop
%attr(644,-,-) %{_datarootdir}/icons/hicolor/scalable/apps/synergy.svg
%changelog
* Wed Apr 26 2017 Symless <engineering@symless.com>
- Initial version of the package

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define Name="Barrier" ?>
<?define Version="@BARRIER_VERSION@" ?>
<?define QtVersion="@QT_VERSION@" ?>
<?define Author="Debauchee Open Source Group" ?>
<?define Name="Synergy" ?>
<?define Version="@SYNERGY_VERSION@" ?>
<?define QtVersion="5.9.3" ?> <!-- TODO: Configure this externally //-->
<?define Author="Symless" ?>
<?define BinPath="@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/$(var.Configuration)" ?>
<?define ResPath="@CMAKE_CURRENT_SOURCE_DIR@/res" ?>
<?define ExtPath="@CMAKE_CURRENT_SOURCE_DIR@/ext" ?>
@@ -11,15 +11,17 @@
<?define ProgramFilesFolder="ProgramFiles64Folder" ?>
<?define PlatformSimpleName="64-bit" ?>
<?define UpgradeGuid="E8A4FA54-14B9-4FD1-8E00-7BC46555FDA0" ?>
<?define QtPath="E:\Qt\$(var.QtVersion)\msvc2015_64" ?>
<?define QtPath="C:\Qt\$(var.QtVersion)\msvc2015_64" ?>
<?else ?>
<?define ProgramFilesFolder="ProgramFilesFolder" ?>
<?define PlatformSimpleName="32-bit" ?>
<?define UpgradeGuid="BE0B9FD8-45E2-4A8E-A0D8-1F774D074A78" ?>
<?define QtPath="E:\Qt\$(var.QtVersion)\msvc2015" ?>
<?define QtPath="C:\Qt\$(var.QtVersion)\msvc2015" ?>
<?endif ?>
<?define QtBinPath="$(var.QtPath)\bin" ?>
<?define QtPlatformPath="$(var.QtPath)\plugins\platforms" ?>
<?define OpenSSLPath="$(var.ExtPath)\openssl\windows\$(var.Platform)" ?>
<?define OpenSSLBinPath="$(var.OpenSSLPath)\bin" ?>
<?if $(var.Configuration) = "Debug" ?>
<?define DebugCRT="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC140_DebugCRT_$(var.Platform).msm" ?>
<?endif ?>
<?define CRT="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC140_CRT_$(var.Platform).msm" ?>
</Include>

41
dist/wix/Product.wxs vendored
View File

@@ -13,24 +13,34 @@
<Feature Id="ProductFeature" Title="$(var.Name)">
<ComponentGroupRef Id="ProductComponents"/>
<ComponentGroupRef Id="ProductQtPluginComponents"/>
<MergeRef Id="CRT"/>
<?if $(var.Configuration) = "Debug" ?>
<MergeRef Id="DebugCRT"/>
<?endif ?>
<ComponentRef Id="RegistryEntries"/>
</Feature>
<DirectoryRef Id="TARGETDIR">
<Component Guid="7CF3564D-1F8E-4D3D-9781-E1EE22D5BD67" Id="RegistryEntries">
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Root="HKLM">
<RegistryValue Name="[INSTALLFOLDER]barriers.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/>
<RegistryValue Name="[INSTALLFOLDER]synergys.exe" Type="string" Value="~ HIGHDPIAWARE WIN7RTM"/>
</RegistryKey>
<!-- Windows 8 and later only -->
<Condition><![CDATA[Installed OR (VersionNT >= 602)]]></Condition>
</Component>
</DirectoryRef>
<Icon Id="barrier.ico" SourceFile="$(var.ResPath)/barrier.ico"/>
<Icon Id="synergy.ico" SourceFile="$(var.ResPath)/synergy.ico"/>
<WixVariable Id="WixUILicenseRtf" Value="$(var.ResPath)\License.rtf"/>
<WixVariable Id="WixUIBannerBmp" Value="$(var.ResPath)\banner.bmp"/>
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResPath)\dialog.bmp"/>
<Property Id="ARPPRODUCTICON" Value="barrier.ico"/>
<Property Id="ARPPRODUCTICON" Value="synergy.ico"/>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/>
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable"/>
<Property Id="LEGACY_UNINSTALL_EXISTS">
<RegistrySearch Id="LegacyRegistrySearch" Key="SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" Name="UninstallString" Root="HKLM" Type="file" Win64="no">
<FileSearch Id="LegacyFileSearch" Name="uninstall.exe"/>
</RegistrySearch>
</Property>
<Condition Message="An existing installation of $(var.Name) was detected, please uninstall it before continuing.">NOT LEGACY_UNINSTALL_EXISTS
</Condition>
<CustomAction ExeCommand="" FileKey="GuiProgram" Id="StartGui" Return="asyncNoWait"/>
<UI>
@@ -41,7 +51,10 @@
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.ProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="$(var.Name)">
<Directory Id="OpenSSLDir" Name="OpenSSL"/>
<Merge DiskId="1" Id="CRT" Language="0" SourceFile="$(var.CRT)"/>
<?if $(var.Configuration) = "Debug" ?>
<Merge DiskId="1" Id="DebugCRT" Language="0" SourceFile="$(var.DebugCRT)"/>
<?endif ?>
<Directory Id="PlatformsDir" Name="Platforms"/>
</Directory>
</Directory>
@@ -51,25 +64,21 @@
<Fragment>
<ComponentGroup Directory="INSTALLFOLDER" Id="ProductComponents">
<Component Guid="EC9AD3B0-277C-4157-B5C8-5FD5B6A5F4AD" Id="Core">
<File KeyPath="yes" Source="$(var.BinPath)/barrierd.exe"/>
<ServiceInstall Description="Controls the $(var.Name) foreground processes." DisplayName="$(var.Name)" ErrorControl="normal" Id="ServiceInstall" Name="Barrier" Start="auto" Type="ownProcess">
<File KeyPath="yes" Source="$(var.BinPath)/synergyd.exe"/>
<ServiceInstall Description="Controls the $(var.Name) foreground processes." DisplayName="$(var.Name)" ErrorControl="normal" Id="ServiceInstall" Name="Synergy" Start="auto" Type="ownProcess">
<util:ServiceConfig FirstFailureActionType="restart" ResetPeriodInDays="1" RestartServiceDelayInSeconds="1" SecondFailureActionType="restart" ThirdFailureActionType="restart"/>
</ServiceInstall>
<ServiceControl Id="ServiceControl" Name="Barrier" Remove="uninstall" Start="install" Stop="both"/>
<File Source="$(var.BinPath)/barriers.exe">
<ServiceControl Id="ServiceControl" Name="Synergy" Remove="uninstall" Start="install" Stop="both"/>
<File Source="$(var.BinPath)/synergys.exe">
<fire:FirewallException Id="ServerFirewallException" IgnoreFailure="yes" Name="$(var.Name)" Scope="any"/>
</File>
<File Source="$(var.BinPath)/barrierc.exe"/>
<File Source="$(var.BinPath)/synergyc.exe"/>
<File Source="$(var.BinPath)/syntool.exe"/>
<File Source="$(var.BinPath)/synwinhk.dll"/>
<File Source="$(var.OpenSSLBinPath)/libeay32.dll"/>
<File Source="$(var.OpenSSLBinPath)/ssleay32.dll"/>
<File Source="$(var.OpenSSLBinPath)/openssl.exe"/>
<File Source="$(var.ResPath)/openssl/barrier.conf"/>
</Component>
<Component Guid="BAC8149B-6287-45BF-9C27-43D71ED40214" Id="Gui">
<File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/barrier.exe">
<Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="barrier.ico" Id="GuiShortcut" Name="$(var.Name)"/>
<File Id="GuiProgram" KeyPath="yes" Source="$(var.BinPath)/synergy.exe">
<Shortcut Advertise="yes" Directory="ProgramMenuFolder" Icon="synergy.ico" Id="GuiShortcut" Name="$(var.Name)"/>
<fire:FirewallException Id="GuiFirewallException" IgnoreFailure="yes" Name="$(var.Name)" Scope="any"/>
</File>
<?if $(var.Configuration) = "Debug" ?>
@@ -103,4 +112,4 @@
</Component>
</ComponentGroup>
</Fragment>
</Wix>
</Wix>

View File

@@ -2,7 +2,7 @@
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Barrier", "Barrier.wixproj", "{D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}"
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Synergy", "Synergy.wixproj", "{D4BA9F39-6A35-4C8F-9CB2-67FCBE5CAB17}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -4,7 +4,7 @@
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>{d4ba9f39-6a35-4c8f-9cb2-67fcbe5cab17}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Barrier</OutputName>
<OutputName>Synergy</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>

7
doc/MacReadme.txt Normal file → Executable file
View File

@@ -5,11 +5,14 @@ To install on Mac OS X with the .zip distribution (first seen in 1.3.6) you must
1. Extract the zip file to any location (usually double click will do this)
2. Open Terminal, and cd to the extracted directory (e.g. /Users/my-name/Downloads/extracted-dir/)
3. Copy the binaries to /usr/bin using: sudo cp barrier* /usr/bin
4. Correct the permissions and ownership: sudo chown root:wheel /usr/bin/barrier*; sudo chmod 555 /usr/bin/barrier*
3. Copy the binaries to /usr/bin using: sudo cp synergy* /usr/bin
4. Correct the permissions and ownership: sudo chown root:wheel /usr/bin/synergy*; sudo chmod 555 /usr/bin/synergy*
Alternatively, you can copy the binaries as root. How to enable the root user in Mac OS X:
http://support.apple.com/en-us/ht1528
Once the binaries have been copied to /usr/bin, you should follow the configuration guide:
http://synergy2.sourceforge.net/configuration.html
If you have any problems, see the [[Support]] page:
http://symless.com/help/

View File

@@ -34,7 +34,7 @@
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
<value type="QString">Synergy</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
@@ -73,7 +73,7 @@
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
<value type="QString">Synergy</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
@@ -112,7 +112,7 @@
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
<value type="QString">Synergy</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
@@ -151,7 +151,7 @@
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
<value type="QString">Synergy</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
@@ -190,7 +190,7 @@
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
<value type="QString">Synergy</value>
</data>
</qtcreator>
<?xml version="1.0" encoding="UTF-8"?>
@@ -229,6 +229,6 @@
</data>
<data>
<variable>DisplayName</variable>
<value type="QString">Barrier</value>
<value type="QString">Synergy</value>
</data>
</qtcreator>

View File

@@ -1,5 +0,0 @@
To recreate the barrierc manpage use a command like:
help2man -N --output=barrierc.1 --name='Barrier Keyboard/Mouse Client' /path/to/barrierc
And for barriers:
help2man -N --output=barriers.1 --name='Barrier Keyboard/Mouse Server' /path/to/barriers

View File

@@ -1,37 +0,0 @@
# sample barrier configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.
section: screens
# three hosts named: moe, larry, and curly
moe:
larry:
curly:
end
section: links
# larry is to the right of moe and curly is above moe
moe:
right = larry
up = curly
# moe is to the left of larry and curly is above larry.
# note that curly is above both moe and larry and moe
# and larry have a symmetric connection (they're in
# opposite directions of each other).
larry:
left = moe
up = curly
# larry is below curly. if you move up from moe and then
# down, you'll end up on larry.
curly:
down = larry
end
section: aliases
# curly is also known as shemp
curly:
shemp
end

View File

@@ -1,72 +0,0 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH BARRIERC "1" "March 2018" "barrierc 2.0.0, protocol version 1.6" "User Commands"
.SH NAME
barrierc \- Barrier Keyboard/Mouse Client
.SH SYNOPSIS
.B barrierc
[\fI\,--yscroll <delta>\/\fR] [\fI\,--display <display>\/\fR] [\fI\,--no-xinitthreads\/\fR] [\fI\,--daemon|--no-daemon\/\fR] [\fI\,--name <screen-name>\/\fR] [\fI\,--restart|--no-restart\/\fR] [\fI\,--debug <level>\/\fR] \fI\,<server-address>\/\fR
.SH DESCRIPTION
Start the barrier client and connect to a remote server component.
.SH OPTIONS
.TP
\fB\-d\fR, \fB\-\-debug\fR <level>
filter out log messages with priority below level.
level may be: FATAL, ERROR, WARNING, NOTE, INFO,
DEBUG, DEBUG1, DEBUG2.
.TP
\fB\-n\fR, \fB\-\-name\fR <screen\-name> use screen\-name instead the hostname to identify
this screen in the configuration.
.TP
\fB\-1\fR, \fB\-\-no\-restart\fR
do not try to restart on failure.
.TP
\fB\-\-restart\fR
restart the server automatically if it fails. (*)
.TP
\fB\-l\fR \fB\-\-log\fR <file>
write log messages to file.
.TP
\fB\-\-no\-tray\fR
disable the system tray icon.
.TP
\fB\-\-enable\-drag\-drop\fR
enable file drag & drop.
.TP
\fB\-\-enable\-crypto\fR
enable the crypto (ssl) plugin.
.TP
\fB\-\-display\fR <display>
connect to the X server at <display>
.TP
\fB\-\-no\-xinitthreads\fR
do not call XInitThreads()
.TP
\fB\-f\fR, \fB\-\-no\-daemon\fR
run in the foreground.
.TP
\fB\-\-daemon\fR
run as a daemon. (*)
.TP
\fB\-\-yscroll\fR <delta>
defines the vertical scrolling delta, which is
120 by default.
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help and exit.
.TP
\fB\-\-version\fR
display version information and exit.
.PP
Default options are marked with a *
.PP
The server address is of the form: [<hostname>][:<port>]. The hostname
must be the address or hostname of the server. The port overrides the
default port, 24800.
.SH COPYRIGHT
Copyright \(co 2018 Debauchee Open Source Group
.br
Copyright \(co 2012\-2016 Symless Ltd.
.br
Copyright \(co 2008\-2014 Nick Bolton
.br
Copyright \(co 2002\-2014 Chris Schoeneman

View File

@@ -1,81 +0,0 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH BARRIERS "1" "March 2018" "barriers 2.0.0, protocol version 1.6" "User Commands"
.SH NAME
barriers \- Barrier Keyboard/Mouse Server
.SH SYNOPSIS
.B barriers
[\fI\,--address <address>\/\fR] [\fI\,--config <pathname>\/\fR] [\fI\,--display <display>\/\fR] [\fI\,--no-xinitthreads\/\fR] [\fI\,--daemon|--no-daemon\/\fR] [\fI\,--name <screen-name>\/\fR] [\fI\,--restart|--no-restart\/\fR] [\fI\,--debug <level>\/\fR]
.SH DESCRIPTION
Start the barrier server component.
.SH OPTIONS
.TP
\fB\-a\fR, \fB\-\-address\fR <address>
listen for clients on the given address.
.TP
\fB\-c\fR, \fB\-\-config\fR <pathname>
use the named configuration file instead.
.TP
\fB\-d\fR, \fB\-\-debug\fR <level>
filter out log messages with priority below level.
level may be: FATAL, ERROR, WARNING, NOTE, INFO,
DEBUG, DEBUG1, DEBUG2.
.TP
\fB\-n\fR, \fB\-\-name\fR <screen\-name> use screen\-name instead the hostname to identify
this screen in the configuration.
.TP
\fB\-1\fR, \fB\-\-no\-restart\fR
do not try to restart on failure.
.TP
\fB\-\-restart\fR
restart the server automatically if it fails. (*)
.TP
\fB\-l\fR \fB\-\-log\fR <file>
write log messages to file.
.TP
\fB\-\-no\-tray\fR
disable the system tray icon.
.TP
\fB\-\-enable\-drag\-drop\fR
enable file drag & drop.
.TP
\fB\-\-enable\-crypto\fR
enable the crypto (ssl) plugin.
.TP
\fB\-\-display\fR <display>
connect to the X server at <display>
.TP
\fB\-\-no\-xinitthreads\fR
do not call XInitThreads()
.TP
\fB\-f\fR, \fB\-\-no\-daemon\fR
run in the foreground.
.TP
\fB\-\-daemon\fR
run as a daemon. (*)
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help and exit.
.TP
\fB\-\-version\fR
display version information and exit.
.PP
Default options are marked with a *
.PP
The argument for \fB\-\-address\fR is of the form: [<hostname>][:<port>]. The
hostname must be the address or hostname of an interface on the system.
The default is to listen on all interfaces. The port overrides the
default port, 24800.
.PP
If no configuration file pathname is provided then the first of the
following to load successfully sets the configuration:
.IP
$HOME/.barrier.conf
\fI\,/etc/barrier.conf\/\fP
.SH COPYRIGHT
Copyright \(co 2018 Debauchee Open Source Group
.br
Copyright \(co 2012\-2016 Symless Ltd.
.br
Copyright \(co 2008\-2014 Nick Bolton
.br
Copyright \(co 2002\-2014 Chris Schoeneman

View File

@@ -2,16 +2,16 @@
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier client automatically. Make sure you change the IP below. -->
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start synergy client automatically. Make sure you change the IP below. -->
<dict>
<key>Label</key>
<string>org.debauchee.com.barrierc.plist</string>
<string>org.symless.com.synergyc.plist</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/barrierc</string>
<!-- Replace this IP with the IP of your barriers server -->
<string>/usr/bin/synergyc</string>
<!-- Replace this IP with the IP of your synergys server -->
<string>192.168.0.2</string>
</array>
<key>RunAtLoad</key>

View File

@@ -2,19 +2,19 @@
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start barrier server automatically. Make sure you change configuration file below -->
<!-- Mac OSX only: Copy this plist file into [~]/Library/LaunchAgents to start synergy server automatically. Make sure you change configuration file below -->
<dict>
<key>Label</key>
<string>org.debauchee.com.barriers.plist</string>
<string>org.symless.com.synergys.plist</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/barriers</string>
<string>/usr/bin/synergys</string>
<string>--no-daemon</string>
<string>--config</string>
<!-- Replace this path with the path to your barrier configuration -->
<string>/Users/snorp/.barrier.conf</string>
<!-- Replace this path with the path to your synergy configuration -->
<string>/Users/snorp/.synergy.conf</string>
</array>
<key>RunAtLoad</key>
<true/>

38
doc/synergy.conf.example Normal file
View File

@@ -0,0 +1,38 @@
# sample synergy configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.
section: screens
# three hosts, named "moe", "larry", and "curly"
moe:
larry:
curly:
end
section: links
# for moe, larry is to the right and curly is above.
moe:
right = larry
up = curly
# for larry, moe is to the left and curly is also above.
# note that curly is above both moe and larry
# and that the connection between moe and larry is symmetric
# (i.e. they're in opposite directions of each other).
larry:
left = moe
up = curly
# for curly, larry is below.
# if you move up from moe, and then move down,
# you'll end up on larry, not back at moe.
curly:
down = larry
end
section: aliases
# curly is also known as shemp
curly:
shemp
end

View File

@@ -1,4 +1,4 @@
# sample barrier configuration file
# sample synergy configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.

View File

@@ -1,4 +1,4 @@
# sample barrier configuration file
# sample synergy configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.

47
doc/synergyc.man Normal file
View File

@@ -0,0 +1,47 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.38.2.
.TH SYNERGYC "1" "June 2010" "synergyc 1.5.0, protocol version 1.3" "User Commands"
.SH NAME
synergyc \- manual page for synergyc 1.5.0, protocol version 1.3
.SH SYNOPSIS
.B synergyc
[\fI--yscroll <delta>\fR] [\fI--daemon|--no-daemon\fR] [\fI--name <screen-name>\fR] [\fI--restart|--no-restart\fR] [\fI--debug <level>\fR] \fI<server-address>\fR
.SH DESCRIPTION
Connect to a synergy mouse/keyboard sharing server.
.TP
\fB\-d\fR, \fB\-\-debug\fR <level>
filter out log messages with priority below level.
level may be: FATAL, ERROR, WARNING, NOTE, INFO,
DEBUG, DEBUGn (1\-5).
.TP
\fB\-n\fR, \fB\-\-name\fR <screen\-name> use screen\-name instead the hostname to identify
this screen in the configuration.
.TP
\fB\-1\fR, \fB\-\-no\-restart\fR
do not try to restart on failure.
.PP
* \fB\-\-restart\fR restart the server automatically if it fails.
.TP
\fB\-l\fR \fB\-\-log\fR <file>
write log messages to file.
.TP
\fB\-f\fR, \fB\-\-no\-daemon\fR
run in the foreground.
.PP
* \fB\-\-daemon\fR run as a daemon.
.TP
\fB\-\-yscroll\fR <delta>
defines the vertical scrolling delta, which is
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help and exit.
.TP
\fB\-\-version\fR
display version information and exit.
.PP
* marks defaults.
.PP
The server address is of the form: [<hostname>][:<port>]. The hostname
must be the address or hostname of the server. The port overrides the
default port, 24800.
.SH COPYRIGHT
Copyright \(co 2010 Chris Schoeneman, Nick Bolton, Sorin Sbarnea

57
doc/synergys.man Normal file
View File

@@ -0,0 +1,57 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.38.2.
.TH SYNERGYS "1" "June 2010" "synergys 1.5.0, protocol version 1.3" "User Commands"
.SH NAME
synergys \- manual page for synergys 1.5.0, protocol version 1.3
.SH SYNOPSIS
.B synergys
[\fI--address <address>\fR] [\fI--config <pathname>\fR] [\fI--daemon|--no-daemon\fR] [\fI--name <screen-name>\fR] [\fI--restart|--no-restart\fR] [\fI--debug <level>\fR]
.SH DESCRIPTION
Start the synergy mouse/keyboard sharing server.
.TP
\fB\-a\fR, \fB\-\-address\fR <address>
listen for clients on the given address.
.TP
\fB\-c\fR, \fB\-\-config\fR <pathname>
use the named configuration file instead.
.TP
\fB\-d\fR, \fB\-\-debug\fR <level>
filter out log messages with priority below level.
level may be: FATAL, ERROR, WARNING, NOTE, INFO,
DEBUG, DEBUGn (1\-5).
.TP
\fB\-n\fR, \fB\-\-name\fR <screen\-name> use screen\-name instead the hostname to identify
this screen in the configuration.
.TP
\fB\-1\fR, \fB\-\-no\-restart\fR
do not try to restart on failure.
.PP
* \fB\-\-restart\fR restart the server automatically if it fails.
.TP
\fB\-l\fR \fB\-\-log\fR <file>
write log messages to file.
.TP
\fB\-f\fR, \fB\-\-no\-daemon\fR
run in the foreground.
.PP
* \fB\-\-daemon\fR run as a daemon.
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help and exit.
.TP
\fB\-\-version\fR
display version information and exit.
.PP
* marks defaults.
.PP
The argument for \fB\-\-address\fR is of the form: [<hostname>][:<port>]. The
hostname must be the address or hostname of an interface on the system.
The default is to listen on all interfaces. The port overrides the
default port, 24800.
.PP
If no configuration file pathname is provided then the first of the
following to load successfully sets the configuration:
.IP
$HOME/.synergy.conf
/etc/synergy.conf
.SH COPYRIGHT
Copyright \(co 2010 Chris Schoeneman, Nick Bolton, Sorin Sbarnea

2
ext/gmock/build-aux/config.guess vendored Executable file → Normal file
View File

@@ -461,7 +461,7 @@ EOF
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:*:*:PowerMAX_OS | Barrier:PowerMAX_OS:*:*)
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:Power_UNIX:*:*)

0
ext/gmock/build-aux/config.sub vendored Executable file → Normal file
View File

0
ext/gmock/build-aux/depcomp Executable file → Normal file
View File

0
ext/gmock/build-aux/install-sh Executable file → Normal file
View File

0
ext/gmock/build-aux/missing Executable file → Normal file
View File

0
ext/gmock/configure vendored Executable file → Normal file
View File

0
ext/gmock/scripts/fuse_gmock_files.py Executable file → Normal file
View File

0
ext/gmock/scripts/generator/cpp/ast.py Executable file → Normal file
View File

0
ext/gmock/scripts/generator/cpp/gmock_class.py Executable file → Normal file
View File

0
ext/gmock/scripts/generator/cpp/keywords.py Executable file → Normal file
View File

0
ext/gmock/scripts/generator/cpp/tokenize.py Executable file → Normal file
View File

0
ext/gmock/scripts/generator/cpp/utils.py Executable file → Normal file
View File

0
ext/gmock/scripts/generator/gmock_gen.py Executable file → Normal file
View File

0
ext/gmock/scripts/gmock-config.in Executable file → Normal file
View File

0
ext/gmock/test/gmock_leak_test.py Executable file → Normal file
View File

0
ext/gmock/test/gmock_output_test.py Executable file → Normal file
View File

0
ext/gmock/test/gmock_test_utils.py Executable file → Normal file
View File

2
ext/gtest/build-aux/config.guess vendored Executable file → Normal file
View File

@@ -461,7 +461,7 @@ EOF
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:*:*:PowerMAX_OS | Barrier:PowerMAX_OS:*:*)
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:Power_UNIX:*:*)

0
ext/gtest/build-aux/config.sub vendored Executable file → Normal file
View File

0
ext/gtest/build-aux/depcomp Executable file → Normal file
View File

0
ext/gtest/build-aux/install-sh Executable file → Normal file
View File

0
ext/gtest/build-aux/missing Executable file → Normal file
View File

0
ext/gtest/configure vendored Executable file → Normal file
View File

0
ext/gtest/scripts/fuse_gtest_files.py Executable file → Normal file
View File

0
ext/gtest/scripts/gen_gtest_pred_impl.py Executable file → Normal file
View File

0
ext/gtest/scripts/gtest-config.in Executable file → Normal file
View File

0
ext/gtest/scripts/pump.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_break_on_failure_unittest.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_catch_exceptions_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_color_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_env_var_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_filter_unittest.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_help_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_list_tests_unittest.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_output_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_shuffle_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_test_utils.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_throw_on_failure_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_uninitialized_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_xml_outfiles_test.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_xml_output_unittest.py Executable file → Normal file
View File

0
ext/gtest/test/gtest_xml_test_utils.py Executable file → Normal file
View File

0
ext/gtest/xcode/Samples/FrameworkSample/runtests.sh Executable file → Normal file
View File

0
ext/gtest/xcode/Scripts/runtests.sh Executable file → Normal file
View File

0
ext/gtest/xcode/Scripts/versiongenerate.py Executable file → Normal file
View File

View File

@@ -1,125 +0,0 @@
LICENSE ISSUES
==============
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
the OpenSSL License and the original SSLeay license apply to the toolkit.
See below for the actual license texts.
OpenSSL License
---------------
/* ====================================================================
* Copyright (c) 1998-2016 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. 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.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED 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 OpenSSL PROJECT OR
* ITS 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.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
Original SSLeay License
-----------------------
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
* by Eric Young (eay@cryptsoft.com).
* The implementation was written so as to conform with Netscapes SSL.
*
* This library is free for commercial and non-commercial use as long as
* the following conditions are aheared to. The following conditions
* apply to all code found in this distribution, be it the RC4, RSA,
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
* included with this distribution is covered by the same copyright terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
*
* Copyright remains Eric Young's, and as such any Copyright notices in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* "This product includes cryptographic software written by
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from the library
* being used are not cryptographic related :-).
* 4. If you include any Windows specific code (or a derivative thereof) from
* the apps directory (application code) you must include an acknowledgement:
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
*
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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.
*
* The licence and distribution terms for any publically available version or
* derivative of this code cannot be changed. i.e. this code cannot simply be
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/

View File

@@ -1,149 +0,0 @@
/* crypto/aes/aes.h */
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. 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.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED 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 OpenSSL PROJECT OR
* ITS 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.
* ====================================================================
*
*/
#ifndef HEADER_AES_H
# define HEADER_AES_H
# include <openssl/opensslconf.h>
# ifdef OPENSSL_NO_AES
# error AES is disabled.
# endif
# include <stddef.h>
# define AES_ENCRYPT 1
# define AES_DECRYPT 0
/*
* Because array size can't be a const in C, the following two are macros.
* Both sizes are in bytes.
*/
# define AES_MAXNR 14
# define AES_BLOCK_SIZE 16
#ifdef __cplusplus
extern "C" {
#endif
/* This should be a hidden type, but EVP requires that the size be known */
struct aes_key_st {
# ifdef AES_LONG
unsigned long rd_key[4 * (AES_MAXNR + 1)];
# else
unsigned int rd_key[4 * (AES_MAXNR + 1)];
# endif
int rounds;
};
typedef struct aes_key_st AES_KEY;
const char *AES_options(void);
int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);
int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);
int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);
void AES_encrypt(const unsigned char *in, unsigned char *out,
const AES_KEY *key);
void AES_decrypt(const unsigned char *in, unsigned char *out,
const AES_KEY *key);
void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,
const AES_KEY *key, const int enc);
void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, const int enc);
void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc);
void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc);
void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc);
void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num);
void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char ivec[AES_BLOCK_SIZE],
unsigned char ecount_buf[AES_BLOCK_SIZE],
unsigned int *num);
/* NB: the IV is _two_ blocks long */
void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, const int enc);
/* NB: the IV is _four_ blocks long */
void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
const AES_KEY *key2, const unsigned char *ivec,
const int enc);
int AES_wrap_key(AES_KEY *key, const unsigned char *iv,
unsigned char *out,
const unsigned char *in, unsigned int inlen);
int AES_unwrap_key(AES_KEY *key, const unsigned char *iv,
unsigned char *out,
const unsigned char *in, unsigned int inlen);
#ifdef __cplusplus
}
#endif
#endif /* !HEADER_AES_H */

Some files were not shown because too many files have changed in this diff Show More