Commit graph

1701 commits

Author SHA1 Message Date
sithlord48
4500e7a1aa build: use @only to configure config.h 2024-10-12 21:06:55 -04:00
sithlord48
78a8bba7a4 refactor: move res/config.h.in -> src/lib/config.h.in 2024-10-12 21:06:55 -04:00
sithlord48
02c5418b9e build(cmake): Require SSL 1.1.1 or higher
Link using OpenSSL provided alises
  Remove Windows specifc check ssl macro for simpler check
2024-10-12 14:23:56 +01:00
sithlord48
eedb3ad1c3 chore: rm unused string_utils file 2024-10-11 17:10:50 +01:00
sithlord48
932ca44d75 build: use pragma once not ifndef def pattern for headers 2024-10-08 06:52:41 -04:00
Nick Bolton
049e34f7a5 chore: Remove word 'beta' from Wayland message 2024-10-02 09:17:57 -04:00
Nick Bolton
6bb1bcad8c chore!: Relocate commercial code downstream 2024-10-01 14:39:05 +01:00
Nick Bolton
2d732a4b9d fix: Use library config for Windows OpenSSL 2024-10-01 14:04:05 +01:00
James Spurin
1003e07854 feat: Update onMouseMoveSecondary to allow offset adjustments 2024-09-24 18:53:30 +01:00
Nick Bolton
b904cba040 feat: ask for permission before update check 2024-09-22 13:14:03 +01:00
Nick Bolton
4f0e8cb844 feat: change most domains to Deskflow 2024-09-22 13:11:25 +01:00
Nick Bolton
2671507f63 fix: various typos found by unit193 2024-09-22 07:11:42 -04:00
Nick Bolton
5b27f0c90b build: set BUILD_DATE instead of using __DATE__ for reproducible build 2024-09-21 20:14:04 +01:00
pika
835dc4ec25 fix: gate leave() with canLeave(), allowing cleanup 2024-09-18 16:30:15 -04:00
Chris Rizzitello
660fb9daff
fix: protocol compatibility with Synergy (#7524)
* fix: protocol compatiblity wity synergy

* Apply clang format

* Update ChangeLog

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-18 18:25:20 +01:00
Nick Bolton
0220a481f2
Fix broken CI caused by renaming project to Deskflow (#7522)
* Bump CI

* Use 2 core arm runner

* Update ChangeLog

* Fixed filename `deskflowc.exe.manifest`

* Remove  .vscode/settings.json file

* Restore test values to make tests work (test values should not contain app name)

* Fixed syntax error in Windows watchdog

* Add `sonar-project.properties` file

* Change default core count

* Add default package prefix

* Default product name in CMake

* Tweak ChangeLog
2024-09-18 10:56:29 -04:00
enzious
9dc6377bd9
fix: windows build typos (#7521) 2024-09-18 11:09:56 +01:00
Chris Rizzitello
ed1217e9cc
Use Deskflow Name (#7519)
* Use Deskflow Name

* Remove business-oriented options from issue templates

* Remove business-oriented workflow

* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)

* Update readme to reflect new project name and goals

* Found some more "synergy" to rename

* Rename `synlib` to `app`

* Rename `syntool` to `deskflow-legacy`

* Rename `synwinhk` to `dfwhook`

* Rename dirs from synergy to deskflow

* Rename more "Synergy" files

* Rename app bundle ID

* Fixed copyright typo

* Rename only title in serial key dialog (to be moved downstream later)

* Preserve original serial key window for moving downstream

* Restore dialogs ready for moving downstream

* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)

* Restore Volker's original project name

* Fixed mimetype

* Fixed weird grammar

* Fixed (more) weird grammar

* Broken link, restoring (but we should move all links out of source)

* Broken link, restoring (but we should move all links out of source)

* Add write permission to valgrind-analysis.yml

* Restore AUR conflicts

* Apply Clang format

* Update ChangeLog

* Back out version change

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-17 20:00:25 +01:00
Nick Bolton
74c0deed3f
Move some EI server log messages to higher log levels (#7497) 2024-09-09 13:33:57 +01:00
Nick Bolton
8beeaf4276
Add warnings for missing Wayland libs and features (#7492)
* Add warnings for libei and libportal

* Add warning about experimental Wayland support

* Update ChangeLog

* Move GUI res files to root res dir

* Fixed crazy qrc shenanigans

* Move Wayland warning logic, add tests, improve core retry

* Also install py modules with pip since meson can be in venv

* Throw error when no libei

* Add warnings when no libportal

* Allow failure then success to show related to Wayland (for switching modes)

* Fixed formatting

* Fixed includes

* Simplify warning message

* Add log hint

* Show warning when error already shown

* Only check for Wayland if X or libei

* Add error message when quitting dur to remote desktop error

* Improve consistency of portal log lines
2024-09-09 11:18:17 +01:00
Nick Bolton
735fb0e8c4
Add --config-toml arg for TOML config file (#7489)
* Add CLI11 lib

* Use newer arg parser for to add --config-toml arg

* Fix bug where coco doesn't run in elevated console

* Improve macro names

* Fixed incorrect macro name

* Improve coverage for TOML config load

* Allow legacy args and use toml config arg in launch.json

* Update ChangeLog

* Fail coverage workflow on integ test fail

* Remove line break
2024-09-06 21:03:19 +01:00
Nick Bolton
ad330d7fba
FreeBSD GitHub runner with vmactions/freebsd-vm@v1 (#7474)
* Add experimental BSD job to CI

* Remove container

* cd into ` synergy/synergy/`

* Change unix to bsd

* Use only run param and not prepare

* Install python3 on FreeBSD

* Add missing command to prepare param

* Add all the Unix-like BSD-derived

* Use latest python3 for NetBSD and DragonFly BSD

* Use env for cmd and correct prepare commands

* Add deps config for unix-like

* Install Python deps on Unix-like

* Return matching entry in `get_unix_like_os`

* Add cmake dep for cmakelang py module

* Back out Unix-like support in `install_deps.py` (Python is tricky on BSD)

* Back out BSD from config

* Create install_deps.sh script for BSD-derived

* Use .sh script instead of .py for BSD-derived

* Add other case and fixed syntax

* Use /usr/bin/env

* Use more available sh

* Restore debian command

* Fixed syntax error

* Remove prepare args

* Remove space

* Use which instead of command

* Add libX11 dep

* Add other BSD-derivatives

* Set CMAKE_REQUIRED_INCLUDES

* Fixed bad separator for CMAKE_REQUIRED_INCLUDES

* Add debug lines

* Set CMAKE_REQUIRED_LIBRARIES to lib names

* use CMAKE_REQUIRED_QUIET

* Set CMAKE_REQUIRED_FLAGS for BSD

* Message for BSD packaging

* Make PKG_CONFIG_FOUND optional

* Move debug to all OS

* Remove solaris for now, too many missing packages

* Add missing  override to XWindowsScreen.h

* Add PC_GLIB_INCLUDE_DIRS

* Fixed glib include

* Make libnotify optional

* Set CMAKE_LIBRARY_PATH

* Only run tests if toml++ available

* Also run integ tests

* Remove DragonFly (C++ version too old)

* Fixed NetBSD command

* Aww sucks. Well, I tried. Patches welcome

* Update ChangeLog

* Fixed README for OpenBSD, NetBSD, DragonFly BSD, Solaris

* Add missing case for SunOS

* Drop redundant virtual specifiers

* Print libs on FreeBSD

* Restore link_directories

* Beef up to ubuntu-24.04-16-core-x64, export QT_QPA_PLATFORM, improve comment

* Remove debug line

* Simplify debug text

* Restore ubuntu-latest

* Fixed really stupid typo

* Beef up with ubuntu-22.04-16-core-x64

* Revert "Beef up with ubuntu-22.04-16-core-x64"

This reverts commit 3de5773ef6c6eea99b93d3ee8448b0b95dc00dde.

* Add missing name

* Make .sh file primary deps file

* Tweaked deps instruction label
2024-09-06 10:03:34 +01:00
Nick Bolton
94d9baca2d
Use vcpkg to manage openssl dep instead of choco (#7471)
* Brighter red

* Move openssl to vcpkg.exe

* Revert "Move openssl to vcpkg.exe"

This reverts commit 36f39d916f3cc2c8ce779442bd964bd6af7edd69.

* Add missing copyright

* Fix copyright dates

* Remove openssl from choco

* Install openssl using vcpkg

* Add deps for vcpkg

* Add missing vcpkg manifest

* Revert "Add deps for vcpkg"

This reverts commit c266d29c2cec4474a181b89c2f759b62ed67db10.

* Make vcpkg Windows only

* Improve comment about vcpkg

* Remove unused var

* Add caching for vcpkg

* Reorg launch.json

* Remove static env var for openssl on Windows

* Add openssl dep to vcpkg

* Update ChangeLog

* Add OpenSSL include dir

* Remove pointless choco cache

* Remove vcpkg downloads

* Remove wixtoolset for CI already installed on GitHub runners

* Use `Remove-Item` instead of `rmdir`

* Move cmake and ninja out of choco

* Revert "Move cmake and ninja out of choco (winget not supported on GitHub runner)"

This reverts commit a65c02d275e58705b8cd86fac72629284191d737.

* Move cmake and ninja to winget and don't use choco on CI

* Remove winget action

* Use scoop on CI and winget locally

* Use `seanmiddleditch/gha-setup-ninja` for Ninja

* Improve comments

* Install Ninja before deps

* Use system vcpkg if installed

* Revert "Use system vcpkg if installed"

This reverts commit 4ddee1c66e8cace458c047285a70d2f98cf9d82c.

* Add comment about why we're using local vcpkg

* Fixed comment about VC++

* Improve config comments

* Delete dead code

* Improve comment about vcpkg/buildtrees
2024-09-04 16:52:37 +01:00
Nick Bolton
0eadaec2d8
Port EI fixes to use pipe2 instead of pipe and fcntl (#7470)
* Kill build to prevent multiple processes running in dev

* Port EI fixes to use `pipe2` instead of `pipe` and `fcntl`
2024-09-03 20:18:13 +01:00
Nick Bolton
b128863c67
Load server or client args from synergy-config.toml (#7467)
* Load args from .toml file

* Remove .toml files

* Handle _ arg as no key

* Remove dotenv-cpp

* Treat special last arg specially

* Improve restart warning

* Remove rogue include

* Move TOML config loader to new class

* Merge config files into one

* Add override to virtual functions

* Tidy up App decl and add missing overrides

* Add comments to organize function types

* Fixed: config.h doesn't work on Windows

* Move var position

* Improve includes in app classes

* Update ChangeLog

* Restore position of configure_file call

* Remove new entries in .in file
2024-09-02 23:48:57 +01:00
Nick Bolton
bcdf70a298
Make Meson-provided packages optional (#7459)
* Make Google Test optional

* Download googletest with brew

* Set gtest and gmock lib vars in Libraries.cmake

* Fixed cmake format

* Add googletest-devel for openSUSE

* Fixed missing Meson arg for Windows

* Add gmock-devel for openSUSE

* Fixed openSUSE package names

* Fixed openSUSE package names (correct OS)

* Add success message to disambiguate confusing messages

* Restore original gtest lib var for subproject

* Make WinToast optional

* Fixed formatting

* Fixed cmake format

* Only build WinToast sources if found
2024-09-02 09:28:27 +01:00
Nick Bolton
1ebfe2ac7d
Use EI screen when XDG_SESSION_TYPE is "wayland" (#7455)
* Use EI screen when XDG_SESSION_TYPE is wayland

* Log when using EI vs X

* Update ChangeLog
2024-08-30 22:35:20 +01:00
Nick Bolton
4d84097334
Change default value for dev thanks message (1.16) (#7453)
* Forward port: Change default value for dev thanks message

* Remove sneaky submodules

* Update ChangeLog
2024-08-30 21:14:02 +01:00
Nick Bolton
4e844bf307
Wayland support (port Red Hat libei and libportal impl) (#7449)
* Add libei and libportal

* Port libei and libportal code by Peter Hutterer and Olivier Fourdan

* Add Peter Hutterer and Olivier Fourdan to important devs list

* Improve error handling for libei and libportal builds

* Checkout libportal  tags/0.7.1

* Hack out the gi-docgen clone

* Remove new submodules in favor of using ExternalProject_Add

* Remove submodule dirs

* Use ExternalProject_Add instead of submodules

* Fixed namespace

* Hack to work around type libportal causing type conflicts

* Add log helper functions

* Use original log functions

* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency

* Restore a few events (much more work required)

* Add TODOs for supporting multiple lib versions

* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"

This reverts commit 610cebb5b6a08282eee68f4424fcdbe9eaab4bf9.

* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)

* Remove submodules

* Remove .gitmodules

* Use meson to build subprojects

* Update copyright with Peter Hutterer's guidance

* Use meson for installing deps

* Fixed typo in tag name

* Remove submodules

* Remove old submodules

* Fixed libei name

* Defaults for pugixml and gtest depending on whether source exists in subprojects

* Ignore some subproject dirs

* Make deps OS-specific

* Move python deps to pyproject

* Only compile and install on Linux with Meson

* Revert "Move python deps to pyproject"

This reverts commit 92c8a287b8376a4d166058c85f1d6081f6fdb423.

* Add ninja to brewfile

* Add python3-attr

* Restore original coverage config

* Add ninja for meson

* Include meson in same try-except

* Fixed ninja dep name

* Move libs to correct oS

* Fixed include for wintoast

* Disable docs for libportal

* More options for libei and libportal

* Fixed option for libei

* Use ninja directly to install

* Revert "Use ninja directly to install"

This reverts commit c926d78ba483406a55acd10fb157c39e13f90b71.

* Meson install verbose

* Prints stdout/stderr

* Remove `from None`

* Remove submodules that somehow crept back in?!

* Prepend sudo if exists

* Add libei deps for all distros

* Fixed Fedora package name

* Add more deps for other distros

* Add more libs (including pugixml)

* Fix lib name

* Drop -u from pacman

* Add vala to rhel

* Make libportal optional

* Make portal link optional

* Remove example code

* Always use system pugixml

* Disable interactive apt through install_deps.py

* Revert "Disable interactive apt through install_deps.py"

This reverts commit 5bbc8fd689182447c79b81db16c961b98361a292.

* Set DEBIAN_FRONTEND in workflows

* Set DEBIAN_FRONTEND in CodeQL workflow

* Add gtest dep

* Add bundled libei dep

* Add libei dep to Arch

* Use `googletest` on openSUSE

* Add gmock dep

* Remove gtest dep from openSUSE

* Add libei on Fedora

* Bundle libei for older Linux distros

* Disable libei dep for RPM

* Also bundle symlink to .so

* Use ${CMAKE_INSTALL_LIBDIR}

* Rename libei to fix openSUSE

* List installed files

* Add libei-devel to openSUSE

* Add googletest-devel to openSUSE

* Remove manual deps (probably resolved automatically)

* Remove googletest from openSUSE (doesn't provide google mock)

* Only add Portal* if libportal found

* WIP - Partial work on using old events system :'(

* Add deps install commands for subprojects

* Solved more compile issues related to events system, threads, etc

* Fixed bad config for adding x, ei, portal sources

* Remove redundant deps

* Remove (another) redundant dep

* Fixed pacman command

* Add Ubuntu and Linux Mint libei deps

* Fixed Ubuntu and Linux Mint libei deps aliases

* Only iterate subprojects if not None

* Add rhel, rocky, and alma for libei

* Make rhel-like deps same as fedora again

* Build libportal on rhel-like

* Re-enable meson rhel-like for libportal

* Remove dbus-python

* Make libportal optional (for rhel-like)

* Handle ei event queue results

* Re-introduce libportal

* Print libei and libportal versions

* Add ei/portal args and client screen

* Switch --use args to --no

* Don't build libei/libportal on older distros as it's pointless

* Make libei and libportal optional

* Add Debian 13 runner

* Make some packages optional

* Remove subprojects

* Improve comment

* Add comment for libportal

* Improve comment

* Add Debian 13 runner

* Make optional... optional

* Change continuation stripper to remove newline and continuation char

* Make command strip more uniform

* Fixed help var syntax

* Fixed libei linking

* Ensure `kHelpNoWayland` is always defined

* Improve help message

* Fixed Debian 13 runner name

* Include sstream and use const var

* Update ChangeLog

* Remove Wayland block

* Return new timer

* Make tray icon logging verbose

* Fixed arg parser for wayland args

* Fixed init of EI screen

* Fixed lint issues

* Update README to indicate Wayland support in GNOME 46

* Add missing word

* Fixed comment positions

* Automate CI env

* Tone down debug log messages

* Add missing comma

* Remove redundant log line
2024-08-30 15:53:25 +01:00
Nick Bolton
3293deff39
Improve error handling and use long long for dates (#7442)
* Improve error handling

* Remove unused includes

* Use long long for unix date

* Update ChangeLog

* Fixed include

* Clang format
2024-08-14 00:13:17 +01:00
Nick Bolton
28cefff13b
Share file line logic between logger and message box (#7441)
* Share file line logic between logger and message box

* Update ChangeLog
2024-08-13 22:39:09 +01:00
Nick Bolton
da02fca602
Compare result of clickedButton instead of exec (#7438)
* Compare result of `clickedButton` instead of `exec` to workaround Qt 6.5 bug

* Update ChangeLog

* Fixed typo

* Add missing backticks

* Init as nullptr
2024-08-13 11:29:59 +01:00
Nick Bolton
9464aa46b8
Show message box explaining why settings are read-only (#7437)
* Swap assert for warning log lines

* Flush on IPC write

* Flush on cleanup instead of write

* Record core started setting

* Show server first start message

* Show message when active scope is read-only

* Show read only message on change

* Show read only on window show

* Try to improve main window size policy

* Revert addition of resizer

* Remove redundant file path fiddling

* Remove dead code and fixed missing const

* Print path and use queued connection

* Improve read-only message on Windows

* Only show toggle warning when dialog visible

* Update ChangeLog

* Fixed include
2024-08-12 16:39:18 +01:00
Nick Bolton
30ea95fb3d
Introduced new env vars for testing (#7436)
* New env vars for testing

* Update ChangeLog
2024-08-11 22:34:48 +01:00
Nick Bolton
3e4cb4a1c7
Add reset settings menu action and env var (#7435)
* Add reset settings menu action and env var

* Delete profile and config dirs, reduce duplication with TLS dir and various other paths, fixed bug in new client dialog, move TLS arg to server

* Better filename

* Make method const

* Update ChangeLog

* Remove include

* Make param const

* Stop core process on reset

* Fixed: reset menu action causes config to be pulled from app/server config

* Center main window in middle of screen
2024-08-11 00:58:24 +01:00
Nick Bolton
c4510bf093
Show dark logo in dark mode and improve .env loader (#7434)
* Update fingerprint on load

* Update TLS controls enabled

* Use official Qt way to detect dark mode and clean up dead code

* Add missing includes

* Simplify dark mode code

* Check app config dir for .env

* Use app config dir for .env

* Don't check for existence of file

* Resolve orgDir

* Add missing example env

* Fixed example

* Update ChangeLog
2024-08-10 01:48:27 +01:00
Nick Bolton
064bc957c1
Only show close to tray reminder when not quitting the app (#7432)
* Improve trusted fingerprint message

* Fixed typo

* Improve grammar

* Simplify logging output

* Only show close reminder if not quitting

* Migrate old settings on macOS

* Raise main window when showing

* Raise critical error above main window

* Coverage for config scopes

* Fixed new client prompt

* Remove unused includes

* Further coverage for config scopes

* Update ChangeLog
2024-08-09 19:20:10 +01:00
Nick Bolton
321418fcf8
Improve handling of Qt-related warnings and errors (#7431)
* Load .env from app dir

* Use `OutputDebugStringA` on Windows

* Improved string manipulation in logger and better use of OutputDebugStringA

* Use noquote for path

* Apply TLS setting after activation

* Restart after activation

* Move skip debug message to correct place

* Only print settings path on create, not shown

* Merge common and global libs

* Reduce code duplication around constants, version, etc

* Simplify sprintf code

* Use snprintf

* Add error test menu

* Coverage for dotenv

* Coverage for Logger

* Add missing include

* Add init when no Git SHA

* Update ChangeLog

* Add spellings

* Set debugging on for release build

* Remove unused variable

* Remove bad comment

* Fixed copyright date

* Remove import

* Move URL const back to GUI

* Remove dead code and duplication

* Fixed/ignored lint warnings
2024-08-09 14:03:48 +01:00
Nick Bolton
ef186d398d
Improve setting enable logic and test coverage (#7430)
* Rename controls and improve setting enable logic

* Move settings dialog to new lib

* Rename dialog to dialogs

* Include .ui files for GUI lib and include autogen headers in exe

* Unit test settings dialog

* Fix lint errors

* Update ChangeLog

* Fixed test name

* Add debug messages

* Tweak message

* Logging for CI issue

* Revert "Logging for CI issue"

This reverts commit 124b2c1acd778f1e422057e203436582fe12d147.

* Revert "Add debug messages"

This reverts commit 39b6a06c716965e0a8199bf34b6652861874cb28.

* Add Windows compiler error

* Exclude test on Windows
2024-08-09 09:08:29 +01:00
Nick Bolton
a686f19ca2
Parse date numbers as long instead of int (#7429)
* Fixed menus

* Parse string to long for date

* Change time limited logic

* Restore time limit logic

* Remove qglobal.h includes

* Remove warning

* Fixed tests to work with 0 value

* Update ChangeLog
2024-08-08 21:54:32 +01:00
Nick Bolton
de21030892
Refactor settings dialog to simplify enable/disable logic (#7428)
* Move screen config files to new GUI lib

* Fixed bugs in config dialog related to service checkbox

* Test status tip

* Revert "Test status tip"

This reverts commit d11ad5bc22dab7edcf7ef0b3baada2fce240398a.

* Explain why service disabled

* Corrected client error message (written by non-native English writer) to make the message easier to understand for native English speakers

* Clearer logic

* Improve readability

* Coverage for 'add client' and client error messages

* Coverage for `Screen` class

* Clarify test names

* Use `const QString &` for backward compatibility

* Fixed lint warnings

* Prevent return paths after qFatal

* Use auto and abort to solve lint warnings

* Remove unused fake error

* Make operator hidden friend

* Remove redundant access specifier

* Convert int explicitly

* Swap && logic for linter

* Update ChangeLog
2024-08-08 18:41:59 +01:00
Nick Bolton
6b1e7e6f1c Revert "Move screen config files to new GUI lib"
This reverts commit 74e3684027.
2024-08-08 11:39:48 +01:00
Nick Bolton
45e366c274 Revert "Fixed bugs in config dialog related to service checkbox"
This reverts commit daaaf9b4ee.
2024-08-08 11:39:43 +01:00
Nick Bolton
daaaf9b4ee Fixed bugs in config dialog related to service checkbox 2024-08-08 11:38:34 +01:00
Nick Bolton
74e3684027 Move screen config files to new GUI lib 2024-08-08 11:37:42 +01:00
Nick Bolton
228ead39fb
More reliable button click detection for add client dialog (#7427)
* Use more reliable method to detect button clicks on add client dialog

* Use pointer to const

* Remove redundant tr

* Update ChangeLog
2024-08-07 18:40:31 +01:00
Nick Bolton
f1f7266a81
Fixed warnings and enable errors as warnings (#7426)
* Fixed warnings on WIndows and enable errors as warnings

* Fixed string array pointer hack

* Ignore warnings in macOS .mm files

* Add missing overrides

* Clang format

* Update ChangeLog

* Safer string manipulation

* Coverage for change year code

* Oops, bad override

* Fixed horrible Windows
2024-08-07 18:11:29 +01:00
Nick Bolton
7984535d38
Refactored core process management and IPC client (#7425)
* Also ignore `command_pre` for Fedora itself

* Improve warning message

* Fixed layout issues on main window

* Restore fusion theme for Windows dark mode

* Further correct main window layout

* Set CWD for launch on Windows to same dir as .env

* Use signals for tray icon instead of callback

* Reduce complexity for setting tray icon

* Further reduce tray icon complexity

* Reduce tray retry time

* Fixed tray not showing on macOS

* Refactor function names

* Move tray icon to lib

* Decouple server connection class

* Move server connection to lib

* Move client config to lib

* Remove redundant forward declarations

* Fixed some namespaces in the new lib

* Move core process code to new class

* Improve member names on new process class

* Remove copy/pasta code

* Move OSX helpers to lib

* Add .mm to lib config

* Fixed copyright

* Improve reliability of log line handling

* Fixed TLS certificate generate bugs

* Remove client list

* Refactor core process handling to fix various problems

* Fixed process/connection status bugs

* Fixed function signature issue on macOS

* Fixed override warnings

* Fixed string format warning

* Save `wasStarted` state and use that instead

* Use only filename in dialog

* Use lambda for simple slot

* Scroll to bottom if at bottome

* Set value based on position before text added and set horizontal scroll too

* Add 1px tollerance for Linux

* Simplify start/stop mutex

* Always stop service on restart

* Increase scroll bottom threshold to 2

* Log warning instead of critical

* Fixed long-standing dir CD-up hack

* Remove include

* Remove include

* Fixed rogue dumbisense includes

* Account for optional distro_like

* Add QAction include to solve incomplete type

* Remove rogue #pragma

* Static cast log value

* Solve event queue delete warning

* Fixed integ test on Windows 10

* Reduce enum verbosity

* Use static instance instead of global

* Make function const

* Use unique_ptr instead of new and delete, and made some functions const

* Fixed smart pointer use

* Fixed variable shadowing

* Fixed wrong use of using

* Fixed missing namespace using

* Simplify TLS error handling

* Improve UX around certificate errors and success

* Decouple app config from core process through interface

* First iteration of core process test

* Mark dtor as override

* Rename attach launch entry

* Add TODO

* Create proxy for process

* Move IPC client to deps

* Fixed warnings

* Reorganize new GUI lib dir structure

* Update includes to reflect new paths

* Reorg GUI tests

* Abstract IPC client

* Refactor about screen

* Fixed .ui warnings

* Remove redundant include

* Fixed typo

* Fixed typos and add spelling

* Fixed misleading function name

* Improve comment

* Improve code coverage for core process

* Remove noisy log line

* Make global const

* Use default dtor

* Use vector instead of new

* Make ctor explicit

* Make ctor explicit (2)

* Use enum class

* Fixed bad enum

* Stub out core tool

* Stub out dir operation

* Extract byte functions

* Add missing return path

* Simplify byte/int functions

* Fix truncation

* Use ctor member assignment

* Fixed segfault in process proxy

* Fixed print warning

* Make function const

* Cleanup header

* Fixed missing name

* Update ChangeLog

* Make more functions const
2024-08-07 15:05:18 +01:00
Nick Bolton
157fe818d8
Refactor local/global save/load and show dev thanks message (#7423)
* WIP: Show dev thanks message

* Improve error messages and guard license code

* Print core command

* Allow license tests when licensing disabled by default

* Don't check invalid serial key

* Fixed typo

* Add error checking

* Use shared ptr instead of static deps

* Actually save and load the setting

* Add dev thanks vars to CI

* Show thanks message after connected

* Refactor hack-job of local/global save/load to remove coupling and use Qt events system

* Simplify config loading

* Overloads for optionals

* Fixed global config scope not loaded

* Save message state before showing to avoid multiple messages

* Update ChangeLog

* Fixed lint warnings

* Make function const

* Reduce verbosity

* Remove dead code, show version on start, tidy up lint warnings

* Make product name code safer

* Connect on enter press

* Only show server specific wording when on server

* Add emit commands

* Log info and error

* Remove deaad code

* Remove test member

* Disable start context menu action unless usable

* Show more relvant connect message

* Fixed close to tray not applied, and simplified restart core logic

* Remove redundant include
2024-08-03 01:17:29 +01:00
Nick Bolton
e0c08852bf
Handle empty value for computer name setting (#7422)
* Handle empty value for computer name setting

* Remove stray include

* Move load screen name to scoped settings

* Update ChangeLog
2024-08-02 10:54:02 +01:00
Nick Bolton
9eeb1cb7ee
Introduce 'Advanced' tab to Preferences window (#7419)
* Add QML and QtQuick deps

* Keep only Qt declarative

* Fixed delcarative package name

* Use `qt6-qtdeclarative` on OpenSUSE

* Fixed warnings

* Introduce tabs for settings and make some settings easier to understand

* Further reorganization of settings UI

* Revert config.yml

* Show Qt version in config

* Remove custom font

* Improve wording of elevate privs

* Fixed window sizes and default tabs

* Save main window size and position

* Fixed slot warning

* Fixed hacky use of validators

* Make activation cancel more intuitive

* Save window state in dtor and add try-catch to prevent exceptions propagating

* Fixed consistency of fatal messages

* Improve color conssitency and add tooltip

* Clean up styles and weird layout

* Move config files to new gui lib

* Core interface integ tests

* Rename `Config` to `ConfigScopes`

* Add 'Schoeneman' to cspell

* Fixed incorrect `Config` (should be `ConfigScopes`)

* Fixed typo

* Missed a spot

* Delete accidentally re-added file

* Fixed formatting

* Add short opt

* Coverage for `AppConfig`

* Update ChangeLog

* Remove redundant includes

* Fixed date

* Remove rogue include
2024-08-01 01:13:01 +01:00
Nick Bolton
6b803618e9 Move try-catch to dtor point of stack 2024-07-29 23:59:21 +01:00
Nick Bolton
f9b93210ed Add TODO for S1-1767 (lock order reversal) 2024-07-29 23:46:49 +01:00
Nick Bolton
63bc481b06 Add TODO for S1-1766 2024-07-29 23:38:31 +01:00
Nick Bolton
a99d1ca87d
Catch exception propagating to Server dtor (#7416)
* Catch throw in dtor

* Update ChangeLog
2024-07-29 23:11:59 +01:00
Nick Bolton
c9e11a6fdc
Assert arg value num > 0 for BSD socket poll unblock pipe (#7415)
* Move integ test to corredt place and re-enable tests

* Depend on `poll.h` (removes support for non-POSIX systems)

* Only build tests for each arch

* Move back to unit tests (poll is mocked)

* Better error message for valgrind not found

* Simplify dependency injection for BSD sockets poll test

* Improve test readability for BSD net poll

* Split out 2-in-1 test for `isAnyAddr`

* Stub out sleep function

* Improve coverage for pollSocket

* Use gmock ON_CALL instead of manual mock

* Remove unused function signature

* Use conventional deps struct instead of std functional

* Add test for socket data FD set to -1

* Add assertation for adding unblock pipe

* Use older style array alloc

* Less precision around `getNetworkDataForThread` value

* Use `ssize_t` for `ignore`

* Remove unused var

* Update ChangeLog

* Assert `n > 0`

* Add `num > 0` to top assert

* Update ChangeLog

* Only run assert test in debug
2024-07-29 21:51:01 +01:00
Nick Bolton
b02077550c
Expand BSD sockets poll tests and remove legacy-poll code (#7414)
* Move integ test to corredt place and re-enable tests

* Depend on `poll.h` (removes support for non-POSIX systems)

* Only build tests for each arch

* Move back to unit tests (poll is mocked)

* Better error message for valgrind not found

* Simplify dependency injection for BSD sockets poll test

* Improve test readability for BSD net poll

* Split out 2-in-1 test for `isAnyAddr`

* Stub out sleep function

* Improve coverage for pollSocket

* Use gmock ON_CALL instead of manual mock

* Remove unused function signature

* Use conventional deps struct instead of std functional

* Add test for socket data FD set to -1

* Add assertation for adding unblock pipe

* Use older style array alloc

* Less precision around `getNetworkDataForThread` value

* Use `ssize_t` for `ignore`

* Remove unused var

* Update ChangeLog
2024-07-29 18:04:17 +01:00
Nick Bolton
9315b089c8
Improve UI design and reduce over-use of #ifdef (#7413)
* Rename `LicenseManager` to `License`

* Rename `LicenseManager` to `License`

* Move License class to gui lib

* Rename license related classes

* Refactor serial key parsing

* Don't fail fast on containers

* Move licensed product name from config to code

* Fixed formatting

* Update code coverage generator and fixed args

* WIP: Converting license to chrono

* WIP: Fixed compile errors, tests failing

* Fixed all serial key and license tests

* Disable verbose logging

* Add missing </p>

* Add missing include

* Revert code coverage config

* Handle parse errors

* Move more classes into the new gui lib and improve license/serial object ownership

* WIP: Fixing signal/slots in MainWindow

* Fixed slot for about to quit

* Rename manual slots to solve auto-connection warnings

* Fixed logging issue

* By default, don't close to tray

* Add .env support and furthe refactor license code, also fixed some copyright dates

* Remove test code

* Fixed memory error in .env parser and refactor more licensing display code

* Fixed color inconsistencies

* Fixed link colors and made log view expand

* Disable server components rather than hiding

* Reset years of blind UI layout fiddling

* Fixed clean Qt task

* Only show notice when time limited

* Fixed main window layout

* Show connected clients

* Set 15 spacing

* Auto connect on start

* More intentional screen size

* Fixed tests related to license

* Tests for expiry notifications

* Reorg tests and remove death test

* Update gtest

* Tests for dotenv parser

* Test command process

* What the heck is that doing there?

* Merge constants headers

* Fixed magic includes

* Remove helper function

* Remove comment

* Remove extern decl

* Update ChangeLog
2024-07-26 23:53:52 +01:00
Nick Bolton
ce3f8869e7
Reduce GUI compile time by building a GUI library (#7412)
* Call ensure_in_venv before all imports

* Create `gui` lib and link to `synergy` and test bins

* Move GUI IPC code to GUI lib

* Improve `AppConfig` members and change `minimizeOnClose` to `closeToTray`

* Group getters and setters

* Add missing `m_CloseToTray` load

* Fixed lint issue

* Add TODO comment for main window integ test

* Remove redundant comments and add override

* Remove dead code

* Update ChangeLog

* Fixed activation related compile errors

* Disable concurrency cancel jobs

* Disable fail-fast for matrix
2024-07-23 20:17:40 +01:00
Nick Bolton
85b8b83a53
Implement safer memory use, improve dev env, fixed GUI bugs (#7407)
* Improve dev script for daemon

* Ignore `.user` files created by Qt

* Add `FORCE_DESKTOP_PROCESS` option

* Catch errors related to getting profile dir

* Disable IPC entirely if forced desktop

* Use in-class init for AppConfig members

* Refactor config to use safer memory management

* Improve launch config to make OS-specific debugger usage clearer

* Re-enable MainWindowTests on Windows, further refactor for memory safety, fixed some include orders

* Remove dead singleton code

* Swap order of tests

* Use HTTPs for URLs

* Fixed compile errors for `SYNERGY_ENABLE_LICENSING` compile path

* Restore exec function call

* Remove extra link in cancel dialog

* Fixed broken link on activation cancel UI

* Close dialog if activated

* Fixed macOS enum ref to kCurrentProcess

* Improve wording on cancel activation dialog

* WIP - Test timeout (compile error)

* Finished timeout logic (with smart pointer)

* Include string_view

* Switch to thread from jthread (maybe not supported by macOS compiler?)

* Improve comment

* Disable test on Windows

* Add TODO related to jthread on macOS

* Refactor settings and paths on Windows

* Launch in desktop mode on Windows

* Remove arg quote wraps which break desktop mode

* Fixed qFatal on Linux

* Remove test value

* Follow original `AppConfig` accessor convention

* Disable service checkbox if not Windows

* Simplify TLS control enable logic

* Update command and Git ignore

* Fixed code style

* Fixed include consistency

* Fixed includes in validator

* Fixed lint errors

* Update ChangeLog

* Use smart pointer for core process

* Remove unneccesary default operators

* Don't halt on stderr
2024-07-22 17:48:02 +01:00
Nick Bolton
6399feb324
Solve low hanging reliability and maintainability issues (#7403)
* Add missing atom ctor init

* Init members with `None`

* Use in-class init and delcare getter inside if init

* Temp revert of changes ahead of unit test repair

* Move IPC header to shared, restore X clipboard test, simplify test cmake, new X clipboard unit test

* Suppress sonar for undefs

* Remove base dir include

* Revert "Temp revert of changes ahead of unit test repair"

This reverts commit 8f84b6ea5d5828f1be1362de3809279bcacb8cc8.

* Use new accessor

* Use default dtor

* Beef up to 32 core

* Use enum class

* Make IPC protocol headers const at all levels

* Use enum class and const char for better type safety

* Use unique_ptr for m_clipboard

* Use `-j` instead of `-j8` to utilize full parallelism

* Increase thread count for sonar-scanner

* Use 32 threads

* Use in-class init for IpcClientProxy members

* Use const instead of #define

* Remove ctor member inits

* Use unique_ptr on win

* Implement temp bin dir for windows with more robust post-build copy

* Fixed missing iostream

* Add warning about copy errors

* Only run clean-gcda on Linux

* Use in-class init for IPC mutex

* Do no-op on Windows

* Hide clean-gcda task

* Move flakey test to integtests

* Delete dead code

* Test

* Temp disable post_config_all

* Disable post config step

* Revert "Disable post config step"

This reverts commit 2f956a7714ba9bedacd4b39d4ae00940c3d565d6.

* Revert "Temp disable post_config_all"

This reverts commit b44ed72e44f838bfe1309f6e9672d2f1c6f21b75.

* Restore -j8

* Simplify error handling

* Use const for test port

* Remove python check

* Update changelog

* Fixed order

* Fixed bad issue number

* Fixed bin copy source path

* Remove redundant except
2024-07-18 08:04:39 +01:00
Nick Bolton
e435953af7
Make Clang param and arg alignment more readable (#7387)
* Turn off alignment of params

* Apply Clang format

* Change AlignAfterOpenBracket to AlwaysBreak and add extra bin pack settings

* Restore default bin packing

* Apply format
2024-07-16 14:36:44 +01:00
Nick Bolton
50d29edd05
Solve SonarCloud security hotspots and bugs (#7383)
* Test: allocLockCursorToScreenInfo_withState_setsState

* Merge remote-tracking branch 'origin/master' into S1-1717-sonarcloud-issues

* Remove header wrappers for gmock/gtest

* Convenience wrapper script for tests

* Use `std::copy` instead of `strcpy`

* Use `std::ranges::copy` instead of `stdcpy`

* Delete dead code

* Add guitests VS Code config and test wrapper

* Revert "Delete dead code"

This reverts commit aa40f5cd35a22b4b69acfd1876aceea053088060.

* Build guitests with CMake

* Run all tests

* Don't use --gtest_filter for Qt tests

* Undo skip for GUI tests

* Coverage for `IpcClient::sendCommand`

* Remove provider and proxy

* Use lamda for StreamProvider to reduce boilerplate

* Restore version checker tests

* Remove activation souces

* Tasks for current/all tests

* Change command for tasks

* Mock QNetworkAccessManager

* Create core app to satisfy Qt assertations

* Use `std::copy` instead of `std::ranges::copy`

* Remove integtests

* Merge guitests into unittests

* Use std::string::length

* Remove include (resolves to root)

* Fix memory leaks

* Disable sigsegv tests

* Fixed formatting

* Remove guitests from CI

* New MainWindowTests

* Passing test for MainWindowTests

* Use alternative to strlen in MainWindow::checkSecureSocket

* Passing test for Log::print

* Fixed dtor call order

* Fixed var name typo

* Use proxy instead of `#define protected public`

* Add args test for log

* Add license ctor

* Fixed log test for release

* Add error log test

* Init qt with -platform offscreen

* Back-out initQt function

* Use QT_QPA_PLATFORM

* Try QT_QPA_PLATFORM=offscreen

* Use more readable env node

* Set QT_QPA_PLATFORM in CI and CodeQL

* Remove env not needed

* Modernize Log::print

* Calculate the length of the format string fmt during the initial scan loop

* More direct and efficient alterative to `strlen`

* Fixed major maint issues in AppConfig

* New clang and cmake rules

* Set `max_pargs_hwrap` to 4

* Undo clang format for now

* Fix missing `Setting::`

* Fixed missing `m_S` on Windows

* Re-add accidental dep resolution (fix later)

* Fixed missing buffer position increment

* Turn on errors

* Fixed tests and improve error message

* Fixed segfault on log refactor

* Extract log time to function

* Copyright date

* Update ChangeLog
2024-07-16 08:30:35 +00:00
Nick Bolton
00f9b8751f
Add missing dependencies to Debian package (#7374)
* Use `CPACK_DEBIAN_PACKAGE_SHLIBDEPS`

* Fixed copyright

* Update ChangeLog

* Add file dep

* Move file dep to deb
2024-07-09 11:12:44 +01:00
Nick Bolton
6e82f64ec8
Upgrade from Qt5 to Qt6 for more modern UI (#7373)
* Use Qt 6

* Fixed some Qt6 deps

* Fixed minor compile issues for Qt6

* Drop Debian 11 support (no Qt6 lib)

* Move Debian to top

* Delete expensive to maintain code that yeilds low UX gain

* Unpack all values

* Use %lld instead of %u

* Minor UI improvements

* Add deps for Fedora, OpenSUSE, and Arch

* Fixed CMake lint issue

* Use package name from build.opensuse.org

* Used `zypper search` to find correct package names
2024-07-08 15:37:51 +01:00
Nick Bolton
d1abddde84
Add Git SHA to about screen and --version (#7372)
* Add Git SHA to about screen

* Update ChangeLog

* Fixed formatting

* Use `GIT_SHA` for Git SHA

* Add `GIT_SHA` env var

* Use env var `GIT_SHA`

* Shorten the Git SHA to 8 chars for readability

* Shorten Git SHA to 8 chars

* Increase Linux timeout (Fedora 39 is always slow at deps)

* Update ChangeLog

* Revert "Update ChangeLog"

This reverts commit ac52777763571e9512e1c9b73b5cac23658d5ed2.
2024-07-08 11:40:22 +01:00
Nick Bolton
bfaea34291
Re-implement packaging for GitHub workflows (Linux ARM) (#7369)
* Debian 12 ARM64 target

* Fixed comments

* Don't check for server name when exiting because of args

* Exit with success when using `--version`, `--help`, etc

* Test Linux installation

* Add Windows ARM builder

* Extract magic string

* Use proper arch name

* Swap arch order

* Fixed test

* Bootstrap Windows ARM runner

* Install winget

* Conditionally install winget

* Winget take 2

* Use shell: pwsh

* Try `powershell`

* Try cmd to install winget

* Only build distro once

* Use enum for clarity

* Remove shell

* Back out Windows ARM testing

* Attempt arch matrix

* Add Fedora arm64

* Label all -amd64

* Special case for zypper

* Fixed bad var name on Windows

* Add missing /bin ignore

* Disable GPG check on OpenSUSE

* Fixed typo

* Update ChangeLog
2024-07-08 09:32:55 +00:00
Nick Bolton
4690b61551
Simplify compile options and use comprehensive edition logic (#7365)
* Simplify options

* Use more sensible edition logic

* Use set instead of option for string

* Improve macro for product name

* Add tests launch config

* Restore unregistered state

* Reorganize cases for title and improve function name

* Code coverage on by default

* Fixed copyright

* Improve code coverage and test readability

* Separate build-all and build-coverage

* Back out coverage on by default

* Fixed bad var in cmake

* More verbose logging for coverage

* Restore tasks

* Restore preLaunchTask

* Use default comparitor

* Move temp files to temp dir

* Add tasks for tests

* Support for wstring

* Upgrade sonar-scanner to 6 on Debian 12

* Use modern pip install

* Install python for sonarcloud

* Use Ubuntu and install deps

* Fixed sonar-scanner URL

* Fix exported dir

* Persist build dir

* Don't use venv for pip install gcovr

* Fixed another path

* Update actions/checkout to v4 for SonarCloud analysis workflow

* Add coverage task

* Improve coverage for SerialKeyEdition.cpp

* Enable licensing for builds

* Fixed invalid macro names, missing arguments, etc

* Fixed more copyright

* Fixed incorrect use of "enterprise"

* Fixed incorrect use of "business"

* Experiment with environment

* Make package prefix variable

* Add environment matrix to all OS

* Improve job names

* Make job names easier to read

* Roll back environment matrix (too much noise)

* Fixed: default should override required

* Refactor CI with vars

* Fixed arg for env.get_env
2024-07-04 10:14:54 +01:00
Nick Bolton
37bb0f989e
Format all source with Clang and introduce lint workflow (#7364)
* Lint script with CLang format

* Use `-i` for `clang-format` and add more logging for lint scripts

* Apply LLVM CLang formatting

* Fixed comment

* Update ChangeLog

* Fixed bad return code logic

* Improve output for linters

* Fixed re-used var in clang lint

* Fixed include order for tests and use `#if 0` instead of commenting out code

* Use full Clang format dump

* Dump Ubuntu Clang format

* Dump Clang format from Debian

* Dumped from: clang-format version 18.1.8

* Revert "Dumped from: clang-format version 18.1.8"

This reverts commit b9bbda2995bb0b4b65baf14afebb0361ec64e644.

* Remove BasedOnStyle

* Restore base Clang format file

* Use clang-format from pip

* Apply Clang format 18 style

* Add clang_format deps

* Fixed include order issues and *some* accidental includes
2024-07-02 20:07:06 +01:00
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* Reorganize CMake Packaging module

* Match if statements to function order

* Cleanup root, res, and doc dirs

* Move deps to requirements.txt file

* Reorganize and format CMake files

* Rename changelog lint

* Add reccomended extension

* Workflow to lint CMake files

* Move CMake lint to script

* Try lighter dep

* Use venv

* Add --format arg

* Format all CMake files

* Convert bash script to Python

* Set CMake line ending format

* Restore formatting

* Add pyyaml dep

* Remove unused arg

* Rename config file

* Remove comment

* Repair copyrights (broken by defualt cmake-format)

* Restore 3rd party copyright

* Break up libs config into smaller macros

* Better macro name

* Load config after venv

* Make intentional noop clearer

* Only use upload step if required (make skip clearer)

* Use CPack for deb and rpm packaging

* Add upload step for Linux

* Remove cpack dep, doesn't exist

* Roll back presets version

* Fixed distro like match

* Update ChangeLog

* Legacy checkout for some distros

* All distros support v4

* Trying out newer Linux distros

* Install Git on Docker images

* Install without actions (not available before checkout)

* Delete useless action

* Install Python

* Support for Arch and OpenSUSE

* Add Arch and OpenSUSE to deps

* Name steps

* Full OpenSUSE names

* Mark Git dir safe

* Add pkgconf

* Legacy CMake for Debian 11

* Add OpenSSL to OpenSUSE

* Drop OpenSUSE Leap (no C++20 support)

* Skip packaging for Arch and OpenSUSE (for now)

* Shorten Arch/OpenSUSE names

* Clearer step name

* SImpler bootstrap

* Shell not needed

* Update apt

* Don't check return code

* Simplify python deps commands

* Add STGZ/.sh package type

* Prevent input prompt

* Only config git safe dir when needed

* Try cache v4

* Safe dir for Ubuntu

* Safe dir for Arch

* All Docker images seem to need safe dir config

* Refactor env var getters

* Make Ubuntu build extra packages

* Condense bootstep to single step

* Fixed var name

* Fixed bootstrap logic

* Simplify logic for upload condition (Windows and macOS)

* Make package/upload condition easier to understand

* Add Manjaro

* Generic names for Linux .tar.gz and .sh packages

* Add Manjaro deps

* Swap macOS matrix entries

* Add Red Hat UBI

* Remove RHEL subscription manager

* Throw on unsupported package distro

* Conditionally install pip and venv

* Remove extra pip arg

* Add config for RHEL

* Install EPEL for RHEL

* Back-out RHEL as EPEL requires subscription

* Restore Python deps logic

* Fixed bug: Packacking run twice

* Testing arm32v7 and arm64v8

* Revert "Testing arm32v7 and arm64v8"

This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d.

* Re-add icon and shortcut file for Linux to package

* Support OpenSUSE RPM build

* Check return code

* Add `rpm-build` for OpenSUSE

* Reorg packages

* Remove busybox-which

* Add --non-interactive

* Move --non-interactive to correct position

* Experiment with makepkg

* Check and print package commands

* Make distro version optional

* Use 8 cores to build

* Default to distro name only

* Fixed bad PKGBUILD filename

* Use 4-part version for Arch

* Remove comma from conflicts

* Use .tar.gz from cwd

* Generate checksum for Arch

* Fixed file extension

* Use shell to print output

* Don't use shell

* Gaurd against bad cmd_utils.run

* Fixed bad import

* Use list command

* Fixed unable to run list commands

* Use source file name

* Simplify PKGBUILD to use make install

* Change install prefix

* Use DESTDIR

* Copy .desktop and .png to build dir

* Restore original `install(FILES...`

* Improving comments

* Fixed: makepkg runs from `src` by default

* Move error after command print

* Remove shell arg

* Package as a user instead of root (makepkg can't run as root)

* Fixed codesign runs in shell

* Allow list commands in shell on windows

* Don't use sudo on arch

* Install sudo on Arch

* Fixed typo

* Fix ownership of build directory for package user

* Improve example .env

* Change to depend on libstdc++6

* Add TODO

* Fixed Fedora version

* Remove libstdc++ deps (names vary between distros)

* Roll back to Fedora 40 and 39

* Improve comment

* Remove unneccesary default
2024-07-02 11:23:56 +01:00
Nick Bolton
7103bbed6d
Re-implement CI auto version increment for packaging (#7354)
* Only install Python deps with deps script

* Remove hard-coded Qt version in CI

* Add example .env

* Improve comments in .env file

* Simplify config reader and Choco CI config

* Actually return the config value

* Move deps before Qt version env call

* Remove `self.`

* Move venv ensure to main

* Fixed arg

* Move config import to function

* Move ensure_module to function

* Simplify over-complicated `Version.cmake`

* Move code to `github` module

* Use `symless/next-version-action`

* Make CMake version file even simpler

* Set version from tag

* Create release when master or release branch

* Don't run CI on master push, only release

* Fixed bac macro

* Use new version values

* Handle empty version env var

* Also strip version file value

* Remove quotes

* Add @master to action

* Read version from file

* Simplify version file read

* Fixed typo in env var

* Remove unused var

* Delete legacy build number action

* Fixed env var

* Version file read shouldn't be needed

* Remove weird and unnecessary include path

* Update ChangeLog

* Remove unused config value

* Better name for changelog check

* Delete broken Flatpak CI

* Run stale issue cron at midnight

* Update ChangeLog

* Add version input for manual run

* Print next version

* Fetch all tags

* Use more idiomatic approach

* Set to pre-release when master

* Remove unnecessary `commitish`

* Fixed wrong ID

* More specific IDs

* Reduce config needed for upload

* Only /release can be non-pre-release

* More discreet package path for gdrive

* Try without setting path

* Remove seemly unused step

* Better name for Qt version step

* Fixed bad var ref

* Better name for package dir

* Fixed bad input name

* Add missing shell

* Workflow to test upload action

* Remove fetch tags

* Use bash to cut version

* Remove name and make conditional

* Replace deprecated set-output

* Fixed env var name

* Missing dir sep char

* Add comment to test workflow

* Improve input descriptions

* Replace deprecated set-output
2024-06-26 15:46:42 +00:00
Nick Bolton
865063b77c
Re-implement packaging for GitHub workflows (macOS) (#7353)
* Restore Azure macOS dist scripts

* Move steps to workflow for testing

* Always upload to GitHub

* Add codesign ID

* Echo codesign ID

* Add cert import code

* Stub file for Mac

* Self-install pyyaml and choco

* Auto add env var on Windows

* Auto add CMAKE_PREFIX_PATH to .zshrc

* Shorter var names

* Append env var instead of replace

* Only set env var if not CI

* Improve function names and print output

* Simplify Linux package command

* Support continuation sequence

* Add note about Windows

* Remove dead doc file

* Tidy up version file and move to .env format

* Use Python venv for deps

* Only use venv on Mac

* Rename package script for all OS

* Add package and dist steps, and use common upload

* Remove version source

* Fixed vars not available

* Fixed python paths

* Use RuntimeError which is sufficient

* Remove dead code

* Add extras command for Linux

* Always install deps on Linux

* Move Python deps to CI

* More env bootstrapping, ugh

* Forgot to return!

* Simplify code

* Use shell

* Simplify command

* Skip sudo if no sudo

* Update package managers

* Fixed Fedora package name

* Tidy up commands

* Use newer upload artifact

* Strip don't trim!

* Check for version file and reduce log verbosity

* Remove CentOS 7.6

* Print more info about return code and log more to stderr

* Install certificate on macOS

* Better errors for no env var

* Implement Mac signing and notary

* Move dmgbuild load

* Simplify notary

* Rename dist files to same as dest

* Fixed paths for dist

* Move checked-in dist files to res (dist is meant to be a temp dir)

* Fixed Mac path in CMake

* Fixed dmg path

* Format Python

* Ignore import warnings and move function

* Fixed cmake paths

* Add missing env var secrets

* Remove extensions from GH upload

* Make deps.yml general purpose config

* Add cspell config

* Pass codesign ID

* Use new general config file

* Sign bundle on Mac

* Move imports to functions

* Escape chars in docs

* Fixed config key accessor

* Change module import order

* Move file to tmp dir in workflow dir

* Persist temp dir

* Add tmp dir to ignore

* Flush stdio before running process

* Trying quotes around env values

* Add codesigning certificate validation for Mac signing

* Revert "Trying quotes around env values"

This reverts commit 0dd741e8cd6fde21e69d4fb871e835a5f4fa1a23.

* Extract codesign verify

* Fixed version number

* Ignore .cache dir

* Fix macro name

* Package name with version number and arch

* Improve package function readability

* Change order of vars

* Testing upload to GDrive

* Add missing return code

* Use positional args and declare error

* Use machine instead of arch and remove build from filename

* Remove redundant build jobs

* Replace massively over-complicated `build_version.py` script

* Move version info to env module

* Use version info script

* Fixed: too many values to unpack

* Chmod version script

* Use shebang

* Don't check return code on Linux

* Fixed function name

* Convert to GitHub specific script

* Env vars must be after configure

* Fixed Windows env var command

* Remove && from deps command so it's not conditional

* Fixed position of set env

* Change order of env script

* Only upload when not draft

* Test

* Tweak config

* Fixed if condition

* Don't package in draft (Windows and Linux)
2024-06-24 09:36:30 +00:00
Nick Bolton
9bb458bff2
Clickable debug source paths and new launch target (#7335)
* Add rebuild launch target for daemon

* Change debug source path to be clickable in VS Code

* Shorten launch targets for readability in UI

* Update CL
2024-01-24 16:02:07 +00:00
Nick Bolton
9e2fc6150e
Implement hello back in IPC protocol (#7334)
* Update VS Code config for Windows daemon debugging

* Update CL

* Implement hello back in IPC protocol

* Update CL
2024-01-23 22:20:53 +00:00
Nick Bolton
29e66773c8
Reset error state before calling Process32Next (#7328)
* Convenience script to install daemon

* Use -p when re-launching with runas to keep window open

* Align new script with PEP 8

* Add more args for flexibility

* Add task to reinstall Windows daemon

* Fixed mistake in continue message

* Close task window after running script

* Reset error state before calling Process32Next

* Update CL

* Increase Windows CI timeout

* Bump timeout again due to choco
2024-01-16 17:16:26 +00:00
Nick Bolton
668c3193e7
Restore lpDesktop assignment in Windows daemon (#7326)
* Restore previous lpDesktop assignment

* Use static string buffer for desktop name

* Update ChangeLog

* Reword ChangeLog
2024-01-15 17:53:57 +00:00
Nick Bolton
d4133d1110
Use C++20 and CMake presets (#7322)
* Create tasks.json

* Delete gui.pro

* Swallow any exceptions from stopDesktop

* Upgrade to C++20

* Update ChangeLog

* Remove old versions of Ubuntu

* Ignore VS Code workspace

* Restore original CodeQL job name

* Add problem matcher and suppress warnings from within old CMake lib

* Bump CMake min version to 3.5

* Remove useless cmake_minimum_required

* HACK: temp comment out failing code

* Bump Qt to 5.12.6

* Delete tasks.json

* Create CMakePresets.json

* Fixed Qt link error: The input line is too long.

* Fixed invalid call to map erase

* Fixed incorrect use of RegCreateKeyEx

* Add VS Code tasks.json for cmake build

* Store `desktop` in char buf before using it

* Generate compile_commands.json

* Restore indentation

* Revert "Restore indentation"

This reverts commit d9f495460f337c37e8a01d8853b317e949ea085a.

* Restore original indentation (for now)

* Create extensions.json
2024-01-11 00:26:39 +00:00
Kyle Bloom
ee19a40bef
Catch standard exceptions on unexpected exit (#7282)
* Catch standard exceptions on unexpected exit

* Update changelog
2023-09-27 14:01:30 +01:00
Serhii Hadzhilov
7d803071ca
Change session ID info log message to DEBUG2 (#7284)
* Change error to debug2 and add additional info

* Update ChangeLog

* Improved wording in ChangeLog for 1.14.7

* Apply markdown formatting to ChangeLog

* Fixed merge gone wrong

* Fixed further merge mistake

* Fixed order of new ChangeLog lines

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2023-09-26 12:49:18 +01:00
Serhii Hadzhilov
cfe20bea18
Change error priority based on param (#7279) 2023-08-17 16:53:26 +03:00
Serhii Hadzhilov
944abfaa1a
Change warning to fatal error (#7278)
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2023-08-16 19:46:27 +04:00
Serhii Hadzhilov
1a810ccdd7
Change core start errors to fatal (#7277)
* Change core start error to FATAL

* Update ChangeLog

---------

Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2023-08-16 09:20:24 +01:00
Nick Bolton
2ac3f7f5a3
Remove rogue space (#7271) 2023-08-08 13:53:31 +01:00
Nick Bolton
947efd5e58
Made log lines consistent (#7270)
* Made log lines consistent

* Change log level for process list

* Only show advanced proc info at DEBUG2

* Fixed some more log lines

* Update AppUtilWindows.cpp
2023-07-28 09:45:27 +01:00
Nick Bolton
2fce545c17
Reword file drag drop error to debug message (#7269)
* Reword error message

* Fix indentation

* Fix code style

* Update ChangeLog
2023-07-27 10:36:44 +01:00
Serhii Hadzhilov
5e8e874e03
Remove extra key press traces for Linux (#7265)
* Remove extra key press traces for Linux

* Update ChangeLog
2023-06-02 09:35:37 +01:00
Serhii Hadzhilov
8587dda4ad
Add ability to bind synergy client to network interface (#7254)
* Switch client help to use dynamic buffer

* Add the new param into client help

* Parse the new param as a generic param

* Add additional member to store server address

* Bind client socket to network interface

* Update Changelog

* Fix code smell
2023-03-29 09:39:49 +01:00
Sergei Trofimovich
ab8a7b5ed4
add missing <cstdint> includes for SIZE_MAX (#7237)
Without the change the build on upcoming `gcc-13` ails as:

    src/lib/base/Log.cpp: In member function 'void Log::print(const char*, int, const char*, ...)':
    src/lib/base/Log.cpp:128:23:
      error: 'SIZE_MAX' was not declared in this scope
      128 |     if ((strnlen(fmt, SIZE_MAX) > 2) && (fmt[0] == '%' && fmt[1] == 'z')) {
          |                       ^~~~~~~~
    src/lib/base/Log.cpp:30:1:
      note: 'SIZE_MAX' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
       29 | #include <ctime>
      +++ |+#include <cstdint>
       30 |

gcc-13 cleaned it's header dependencies and that exposes these failures.
2022-12-08 11:16:44 +02:00
Serhii Hadzhilov
aff2b717fd
Single app for server and client (#7239)
* Remove unused files

* Add synergy-core

* Update ChangeLog

* Fix compilation

* Fix code smell

* Add ability to run synergy-core using synergyd for windows
2022-11-29 21:00:37 +02:00
Jonathan Anderson
b2b887cf43
Fix crash due to out-of-order frees. (#7208)
* Fix crash due to out-of-order frees.

Don't free the kdbDescr until we've freed the names it contains. This
fixes a SIGBUS crash on FreeBSD (and maybe other platforms too?) when
pressing special keys (e.g., the Windows key) on a client.

* Update ChangeLog

Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2022-10-11 17:52:32 +03:00
Serhii Hadzhilov
7d4a368864
Fix issue with reconnection when server initiate TLS connection. (#7230)
* Restart socket when unknown client connection fails

* Send connected event from client side

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-10-07 14:16:02 +03:00
Serhii Hadzhilov
0f3e128e17
Add ability to reconnect from server side (#7226)
* Add ability to reconnect from server side

* Fix code smell

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-10-03 17:08:24 +03:00
Serhii Hadzhilov
c06a20d093
Initiate TLS connection from server (#7225)
* Add SecureClientSocket

* Add SecureServerSocket

* SecureServerSocket code cleanup

* Refactoring for SecureClientSocket

* Change base class for SecureClientSocket to InverseClientSocket

* Change base class for SecureServerSocket to InverseServerSocket

* Small refactoring

* Fix Linux compilation

* Fix code smells

* Refactoring

* Update ChangeLog

* Fix code smells

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-09-29 11:35:27 +03:00
Serhii Hadzhilov
c37b0d2fcf
Add ability to initiate connection from server (#7222)
* Add a new hidden readonly option "initiateConnectionFromServer"

* Add option "clientHostMode"

* Add host mode to the client GUI

* Hide main window controls for the client host mode

* Store client address into the server config file

* Add client mode the server

* Pass option --host into the client

* Add --host parameter into the synergyc

* Add InverseSocketFactory

* Add InverseClientSocket

* Add InverseServerSocket

* Add AutoArchSocket

* Add listener on the client side

* Add connection from the server side

* Fix code smells

* Additional code smells

* Requested changes

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-09-22 11:12:13 +03:00
Serhii Hadzhilov
452c631d6e
Release v1.14.5 (#7219)
* Update Version.cmake

* Add TLS to Synergy (Lite edition) (#7202)

* Add TLS to synergy light

* Requested changes

* License registration for Business edition (#7203)

* License registration for business

* Rename register to registry

* Add email into the request

* Add decoded serial key into the request

* Revert "Add decoded serial key into the request"

This reverts commit 0e18c8941664e86ae2264bbef072df68cab07751.

* Revert "Add email into the request"

This reverts commit 8dff01bc242769008897947d66187cb726fb34bf.

* Change field guid_generated to guid_type

* Update ChangeLog

* Update ChangeLog

* Fix build issue for ubuntu16 and ubuntu18 (#7204)

* Fix issue with settings

* Custom about screen for Elite Backers (#7211)

* Hide irrelevant information from the About screen for B2B

* Fix size for Windows and Linux

* Requested changes

* Fix Enterprise

* Revert "Fix Enterprise"

This reverts commit befd8d2ce36b6ca903250bada62293491f0b56a2.

* Revert "Requested changes"

This reverts commit 5f728e00aaeb4bed3e3c006539d380f74d3aff76.

* Change features based on edition (#7212)

* Change features based on edition

* Fix enterprise build

* Update window titles and about screen (#7214)

* Fix About screen for Business edition

* Change dialog title

* Refactored upgrade prompt for TLS and hotkeys (#7215)

* Prompt Basic users to upgrade to Pro to access TLS encryption

* Fixed Enterprise build

* Fix code smells

* Fix sonar bug
2022-09-13 18:31:45 +03:00
Serhii Hadzhilov
bcfeb251a9
Support for maintenance licenses in China (#7193)
* Adds China maintenance licenses

* Update ChangeLog

* Requested changes
2022-06-23 15:54:44 +03:00
Alvaro Soto
31f08604ce
Fix typo in X Keyboard log warning on Linux (#7191) 2022-06-22 15:45:28 +03:00
Serhii Hadzhilov
8a509f4ba9
SYNERGY1-1555 maintenance licences (#7190)
* SYNERGY1-1555 Remove unused files

* SYNERGY1-1555 Remove unused function isPermanent

* SYNERGY1-1555 Update SerialKeyType with maintenance type

* SYENRGY1-1555 Add method isMaintenance into SerialKey

* SYNERGY1-1555 Check maintenance licenses

* SYNERGY1-1555 Replace obsolete functions

* SYNERGY1-1555 Fix Linux builds

* Update ChangeLog

* SYNERGY1-1555 Requested changes
2022-06-15 13:55:41 +03:00
Serhii Hadzhilov
de48bb20b7
SYNERGY1-1545 Accept business licenses in basic/pro builds (#7188)
* SYNERGY1-1545 Accept business licenses in basic/pro builds

* Update ChangeLog
2022-06-08 21:46:22 +03:00
Serhii Hadzhilov
660853d1ac
SYNERGY1-1511 Refactoring for v3 licenses (#7183)
* SYNERGY1-1511 Refactor SerialKey constructor

* SYNERGY1-1511 Refactor SerialKey::parse

* SYNERGY1-1511 Remove unused includes

* SYNERGY1-1511 Remove key generation

* SYNERGY1-1511 Remove "using namespace std;"

* SYNERGY1-1511 Add struct SerialKeyData

* SYNERGY1-1511 Replace member with the new DTO

* SYNERGY1-1511 Rename members

* SYNERGY1-1511 Add a new class SerialKeyParser

* SYNERGY1-1511 Use SerialKeyParser

* Add SerialKeyParserV3

* Add setters and remove unused fields

* Fix return type

* Add comments

* Fix compilation

* Fix code smels

* Update ChangeLog
2022-06-01 18:17:02 +03:00
Serhii Hadzhilov
c92ac1a71e
SYNERGY1-1497 Fix memory leak on macOS (#7178)
* SYNERGY1-1497 Fix memory leak on macOS

* Update ChangeLog

* Fix Fedora build
2022-05-24 12:36:06 +01:00
Serhii Hadzhilov
95ee948f26
SYNERGY1-1497 Memory leaks in copy/paste and drag and drop functionality (#7175)
* SYNERGY1-1497 Fix memory leak in copy/paste functionality

* SYNERGY1-1497 Memory leaks with function CFStringRefToUTF8String

* SYNERGY1-1497 Fix memory leak in Server::sendDragInfo

* SYNERGY1-1497 Fix memory leak in Server::sendFileToClient

* SYNERGY1-1497 Fix memory leak in Server::sendDragInfoThread

* SYNERGY1-1497 Fix code smells

* SYNERGY1-1497 Fix builds

* SYNERGY1-1497 Fix additional code smells
2022-05-19 18:29:11 +03:00
Serhii Hadzhilov
5b6f5df6ea
SYNERGY1-1497 memory leaks in synergyc on mac os (#7170)
* SYNERGY1-1497 Fix memory leak in screen saver functionality

* SYNERGY1-1497 Fix memory leak in ArchNetworkBSD::nameToAddr

* SYNERGY1-1497 Fix memory leak in TLS for synergyc

* SYNERGY1-1497 Fix code smells

* Update ChangeLog

* SYNERGY1-1497 Fix meory leak in ArchNetworkWinsock::nameToAddr

* Update ChangeLog as it was requested
2022-05-16 19:00:16 +03:00
Serhii Hadzhilov
322e583917
SYNERGY-1-1494 Replace notifications with logs (#7166)
* SYNERGY-1-1494 Replace notifications with logs

* Update ChangeLog
2022-05-11 12:22:17 +03:00
Serhii Hadzhilov
4d13d52710
SYNERGY1-1497 Fix memory leaks (#7164)
* SYNERGY1-1497 Fix problem with memory leak

* SYNERGY1-1497 Fix memory leak for TLS

* Update ChangeLog

* SYNERGY-1-1497 Update ChangeLog and Copyright info
2022-05-06 21:55:06 +03:00
Serhii Hadzhilov
7bc2d76e1b
SYNERGY1-1478 Fix compilation issues (#7163)
* SYNERGY1-1478 Fix compilation issues

* Update ChangeLog
2022-05-04 12:09:23 +03:00
Pedro Navarro
21b0f233c7
Address issues with modifiers and dead keys (#7149)
* After getting a dead key from ToUnicodeEx, add an additional VK_SPACE
to the keyboard state so we reset the dead key flag and subsequent
calls with modifiers, like shift, return the right result (-1) instead
of 1.

This happened because without reseting the dead key status
the new one was attempted to be composed with the old one, which failed
and the end result was a single unicode codepoint not marked as a dead
key.

This opens the door to potentially use the returned unicode from the
second call as the key character instead of maintaining the
getDeadKey function.

* Update ChangeLog

Co-authored-by: Pedro Navarro <pnavarro@netflix.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
Co-authored-by: Serhii Hadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2022-05-02 21:13:15 +03:00
Pedro Navarro
3784e42245
Pasting text copied from Linux results in doubled lines (#7144)
text/plain;charset=utf-8 clipboard format.

This results in double lines when pasting text copied from Linux to
Windows because the Windows client converts line endings and expects
only LF.

Co-authored-by: Pedro Navarro <pnavarro@netflix.com>
2022-04-28 17:59:58 +03:00
Michał Górny
35d7d2754d
Support building against system pugixml (#7119)
Add a SYSTEM_PUGIXML CMake option that can be used to build the package
against system-provided version of pugixml instead of the vendored one.
Multiple Linux distributions have a policy against bundling libraries,
and in this particular case there doesn't seem to be any justification
to using the bundled library version.

Fixes #7118
2022-04-27 14:33:58 +03:00
Serhii Hadzhilov
8be2e89c81
fix: SYNERGY3-203 Synergy 1 business (#7157)
* SYNERGY3-203 Add link to helpdesk

* SYNERGY3-203 Add a new cmake option

* SYNERGY3-203 Validate business key

* SYNERGY3-203 Check license during start

* SYNERGY3-203 Update windows title

* SYNERGY3-203 Unify license errors

* SYNERGY3-203 Fix code smell

* SYNERGY3-203 Update Azure scripts

* SYNERGY3-203 Update GitHub workflows

* SYNERGY3-203 Add UT

* SYNERGY3-203 Add UT
2022-04-26 15:11:09 +03:00
Serhii Hadzhilov
d3d7c36f58
SYNERGY3-17 Stop on login screen (#7143)
* SYNERGY3-17 Stop on login screen

* SYNERGY3-17 Fix code smells

* SYNERGY3-17 Update ChangeLog
2022-02-11 11:28:39 +02:00
Serhii Hadzhilov
bf102d4601
SYNERGY-1454 Scroll direction refactoring (#7141)
* SYNERGY-1454 MacOS part

* SYNERGY-1454 Windows part

* SYNERGY-1454 Linux part

* SYNERGY-1454 Fix comments

* SYNERGY-1454 Move common code to parent class. MacOS

* SYNERGY-1454 Move common code to parent class. Linux

* SYNERGY-1454 Move common code to parent class. Windows

* SYNERGY-1454 ChangeLog and code smell fix
2022-01-27 13:23:36 +02:00
Serhii Hadzhilov
af4c88e531
SYNERGY-1454 Scroll direction (#7140)
* SYNERGY-1454 Add a new checkbox into the setting dialog

* SYNERGY-1454 Save the new option

* SYNERGY-1454 Pass the new option to client

* SYNERGY-1454 Parse the new param on client side

* SYNERGY-1454 Invert scroll direction for macOS

* SYNERGY-1454 Scroll direction on Windows

* SYNERGY-1454 Remove unused code

* SYNERGY-1454 Scroll direction for Linux

* SYNERGY-1454 Simplify scroll direction for Mac

* SYNERGY-1454 Simplify scroll direction for Linux

* SYNERGY-1454 Simplify scroll direction for Windows

* SYNERGY-1454 ChangeLog

* SYNERGY-1454 Fix code smell

* SYNERGY-1434 Lower case for the first char of the option

* SYNERGY-1454 Fix indentations

Co-authored-by: Serhii Hadzhilov <gadzhilov.sergey@gmail.com>
Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-01-26 14:07:28 +02:00
Serhii Hadzhilov
dc72af7a7b
SYNERGY-1397 MacOS function keys (#7135)
* SYNERGY-1397 MacOS function keys

* SYNERGY-1397 Update ChangeLog and version number

* SYNERGY-1397 Remove extra comment

* SYNERGY-1397 Remove assertions

* SYNERGY-1397 Change log level to warning
2022-01-13 18:58:29 +02:00
Serhii Hadzhilov
5c7db2788d
SYNERGY-1307 Prevent notifications if language reading fails (#7115)
* SYNERGY-1307 Prevent notifications if language reading fails

* Update ChangeLog

* SYNERGY-1307 Fix code smell
2021-11-04 17:48:23 +02:00
Serhii Hadzhilov
4a30a9234b
SYNERGY-1307 Language reading on linux (#7114)
* SYNERGY-1307 Test implementation

* Update CMakeLists.txt

* SYNERGY-1307 Code cleanup

* SYNERGY-1307 Fix code smell

* SYNERGY-1307 C++11 style of initialisation

* Update ChangeLog

* Fix code smells

* SYNERGY-1307 Fix code smells

* Fix Ubuntu16 compilation

* SYNERGY-1307 Fix windows build

* SYNERGY-1307 Fix code smell

* SYNERGY-1307 Fix macOS build

* SYNERGY-1307 Fix Linux build

* SYNERGY-1307 Text for notification has been changed as requested

* SYNERGY-1307 Update notification text and fix union initialisation
2021-11-03 11:50:40 +02:00
SerhiiGadzhilov
a6a8e7375b
SYNERGY-1298 Fix endless notifications during connection (#7113)
* SYNERGY-1298 Fix endless notification during connection

* SYNERGY-1298 Fix code smell

* Update ChangeLog
2021-10-26 13:50:42 +03:00
SerhiiGadzhilov
d92f01f5ac
Synergy 1298 client can't connect to previous server version (#7112)
* SYNERGY-1298 Remove language from hello message

* SYNERGY-1298 Client compatibility

* SYNERGY-1298 Compatibility for keydown

* SYNERGY-1298 Client part for keydown campatibility

* SYNERGY-1298 Move lang checking to handshake stage

* Update ChangeLog

* SYNERGY-1298 Fix code smell
2021-10-25 18:55:09 +03:00
SerhiiGadzhilov
940e2ecd20
SYNERGY-1287 display language notifications only on client side (#7111)
* SYNERGY-1287 Display language notification only on client side

* SYNERGY-1287 Always show notification on the client side

* Update ChangeLog

* Fix doxygen job
2021-10-21 13:48:40 +03:00
Kyle Bloom
5e2d355a3a
SYNERGY-1254 Fix core builds (#7103)
* SYNERGY-1254 Fix core builds

* Changelog

* Uncomment debian9

* Fix artifact name

* Fix workflow name

* Remove -j1 flag

* Turn off pull_request operations

* Add qt for ubuntu core builds

* Switch to python3-yaml

* Update ubuntu

* Cmake automatically manages include_directories

* Remove older fedora versions

* Add DBus to platform to ensure dependancy

* Change to synergy-vcpkg

* build macos

* Remove pull_request

* Add centos 8

* Change container

* Test core builds

* Remove setup

* Remove VCPKG_INSTALLATION_ROOT

* change checkout to use submodules

* Setup newer version of git for ubuntu

* Remove git requirement

* Remove pull_request event
2021-10-21 10:25:57 +03:00
SerhiiGadzhilov
bcebb6519f
Synergy 571 wrong characters on client for unicode (#7108)
* SYNERGY-571 Wrong characters on client for Unicode. Windows server part

* SYNERGY-571 Wrong characters on client side

* Update ChangeLog
2021-10-19 20:09:19 +03:00
SerhiiGadzhilov
65ec504696
Synergy 1267 endless notifications during connection (#7104)
* SYNERGY-1267 Endless notification during connection

* SYNERGY-1267 Endless notification. Server part

* SYNERGY-1267 Change notification trace level

* Update ChangeLog

* SYNERGY-1267 Fix Linux compilation

* SYNERGY-1267 Fix code smell

* SYNERGY-1267 Add requested changes
2021-10-13 13:01:27 +03:00
Andrey Batyiev
fa4d4420f8
SYNERGY-854 Compiling with MSVC 2014 causes error C2280 (#7099)
* SYNERGY-854 Compiling with MSVC 2014 causes error C2280
*Fix compilation error

* SYNERGY-854 Compiling with MSVC 2014 causes error C2280
*Update ChangeLog

* SYNERGY-854 Compiling with MSVC 2014 causes error C2280
*Fix Utils compilation

* SYNERGY-854 Fix code smell

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2021-10-05 13:22:37 +03:00
Andrey Batyiev
e9e21aad8f
Synergy 907 client tray language switcher reverts to en (#7038)
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix checkbox spelling

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Temporary disable language sync logic

* SYNERGY-907 client tray language switcher reverts to en
*Update changelog

* Synergy 907 client tray language switcher reverts to en
*Fix sonar

* Synergy 907 client tray language switcher reverts to en
*Fix sonar

* Synergy 907 client tray language switcher reverts to en
*Fix chnagelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Add prototype of keyboard layout names transfer(Windows part)

* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout determination(Mac part)

* SYNERGY-907 Client tray language switcher reverts to EN
*Add language check on client side

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix Windows build

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add logs

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add protocol update

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add server side of language sync

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Remove unused variables

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*AFix mac language determination

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Clean up logs

* SYNERGY-907 Client tray language switcher reverts to EN
*Replace logs with messagebox on Windows

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add mac messagebox, revert protocol changes

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix minor language bugs

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Update chagelog

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Minor fixes

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar code smells

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add Linux language determination

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells

* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Replace custom xml parser with tinyxml2

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix PR comments

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Replace tinuxml with pugixml

* SYNERGY-907 Client tray language switcher reverts to EN
*Add pugixml as a git submodule

* SYNERGY-907 Client tray language switcher reverts to EN
*Add missed files

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix comments from PR

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smell

* SYNERGY-907 Client tray language switcher reverts to EN
*add tests for x11 files parser

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix include for unix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic

* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic

* SYNERGY-907 Client tray language switcher reverts to EN
*Add code coverage
*Fix code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Return missed file

* SYNERGY-907 Client tray language switcher reverts to EN
*Improve code coverage of x11Layouts parser

* SYNERGY-907 Client tray language switcher reverts to EN
*Add client args code coverage

* SYNERGY-907 Client tray language switcher reverts to EN
*Return runtime language sync

* SYNERGY-907 Client tray language switcher reverts to EN
*Return windows current keyboard layout determination

* SYNERGY-907 Client tray language switcher reverts to EN
*Return Linux language determination

* SYNERGY-907 Client tray language switcher reverts to EN
*Remove debug code

* SYNERGY-907 Client tray language switcher reverts to EN
*Move back Carbon current language determination

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for existed languages on iOS and Linux

* SYNERGY-907 Client tray language switcher reverts to EN
*Return protocol missed parameter

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS language change

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language sync (when it is disabled)

* SYNERGY-907 Client tray language switcher reverts to EN
*Add correct language choosing
*Fix code coverage tests

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix windows build and tests

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build and tests

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for first letter in keystroke

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build

* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells

* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix build

* SYNERGY-907 Client tray language switcher reverts to EN
*Added logging for language change process
*Fixed language change process for Windows

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix double layout change in key repeat event

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix determination of current language on windows
*Removed legacy code of restoring language when leaving screen
*Fix double group change on Linux

* SYNERGY-907 Client tray language switcher reverts to EN
*Temp fix for language change on Linux

* SYNERGY-907 Client tray language switcher reverts to EN
*Add XSync to normalize Linux language polling and setting
*Remove setxkbmap using

* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout changing on Linux with DBus

* SYNERGY-907 Client tray language switcher reverts to EN
*Add comments to new language change function
*Logical fix

* SYNERGY-907 Client tray language switcher reverts to EN
*Remove input attaching

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change on macOS

* SYNERGY-907 Fix review issues

* SYNERGY-907 Fix review comment for Windows

* SYNERGY-907 Removed debug trace

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: user <user@users-Mac-mini.local>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2021-10-04 18:51:12 +03:00
SerhiiGadzhilov
64139e092b
SYNERGY-1232 No configuration available on Windows system (#7100)
* SYNERGY-1232 Use UTF-16 for file path on Windows system

* SYNERGY-1232 No configuration available on Windows
2021-10-04 11:33:23 +03:00
Serhii Hadzhilov
5619ed2473 SYNERGY-1247 CapsLock doesn't work on Microsoft Remote Desktop 2021-09-27 12:47:09 +03:00
Serhii Hadzhilov
3b05a82ffc SYNERGY-1099 Modifier keys don't work on Microsoft Remote Desktop 2021-09-16 17:19:07 +03:00
SerhiiGadzhilov
d4bd004899
SYNERGY-124 Windows client doesn't resume connection after sleep (#7082)
* SYNERGY-124 Windows client doesn't resume connection after sleep

* SYNERGY-124 Remove changes from previous PR

* Revert "SYNERGY-124 Remove changes from previous PR"

This reverts commit 9d6afc1523d4c2327176db9bee28b92f3471ca5e.

* Update ChangeLog
2021-09-01 18:58:41 +03:00
Serhii Hadzhilov
e52d7cc26a SYNERGY-1057 Fix code smell 2021-08-27 15:49:06 +03:00
Serhii Hadzhilov
c5faa8de24 SYNERGY-1057 Add trace if the system can't open file with trusted fingerprints 2021-08-27 15:18:09 +03:00
Serhii Hadzhilov
cf96023aca SYNERGY-1013 Ability to run synergy as a pre-login agent 2021-08-17 16:40:36 +03:00
SerhiiGadzhilov
28dcd34251
SYNERGY-1085 Notificatons for unknown applications (#7066)
* SYNERGY-1085 Notificatons for unknown applications

* Update ChangeLog
2021-08-04 17:53:25 +03:00
SerhiiGadzhilov
1a38713ff8
SYNERGY-1089 No notification between clients (#7064)
* SYNERGY-1089 There is no notification if user moves pointer between clients

* SYNERGY-1089 There is no notification if user moves pointer between 2 clients

* Update ChangeLog
2021-08-04 15:12:01 +03:00
SerhiiGadzhilov
6ce8768691 SYNERGY-1088 Fix code smells 2021-07-23 19:08:26 +03:00
SerhiiGadzhilov
38a9014f26 SYNERGY-1088 Fix code smells 2021-07-23 18:50:09 +03:00
SerhiiGadzhilov
e858e08a4c SYNERGY-1088 Linux client ignores prevent sleep option 2021-07-23 18:22:28 +03:00
Serhii Hadzhilov
1dfafb03dc SYNERGY-1088 Windows client ignores prevent sleeping option 2021-07-23 15:27:16 +03:00
Serhii Hadzhilov
8dd68abf56 SYNERGY-1088 MacOS client ignores prevent sleeping option 2021-07-23 14:48:29 +03:00
Andrey Batyiev
2def465256
Synergy 1081 synergy1. buffer was not updated in case user copies on server and then copies on client and paste (#7058)
* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
*Fix copy paste logic, when OS reported about clipboard update too late

* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
Update changelog

* SYNERGY-1081 Synergy1. Buffer was not updated in case user copies on server and then copies on client and paste
Fix server assert when client updating clipboard

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-07-15 09:03:57 +03:00
Andrey Batyiev
7a064777d8
SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to c… (#7057)
* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
*Fix copy paste logic, when OS reported about clipboard update too late

* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
Update changelog

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-07-12 17:46:02 +03:00
Igor Sikachyna
c87bedf938
SYNERGY-1061 - Add libnotify on Linux and create notifications (#7055)
* SYNERGY-1061 - Add libnotify on Linux and create notifications

* SYNERGY-1061 - Update changelog

* SYNERGY-1061 - Don't use libnotify for mac builds

* SYNERGY-1061 - Use nullptr instead of 0

* SYNERGY-1061 - Fix CodeQL libs

* SYNERGY-1061 - Remove Ubuntu 19.10 from CI

* SYNERGY-1061 - Destroy notification object when done

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-07-12 17:10:44 +03:00
Igor Sikachyna
e317569057
SYNERGY-1060 - Toast notifications on windows (#7052)
* SYNERGY-1060 - Add toast notification library for Windows

* SYNERGY-1060 - Use unique_ptr

* SYNERGY-1060 - Update changelog

* SYNERGY-1061 Toast notifications on windows

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2021-07-12 16:04:31 +03:00
Igor Sikachyna
6b1761316a
SYNERGY-856 - Force prevent sleep (#7047)
* [UB-856] - Set display as busy

* SYNERGY-856 - Prevent sleep on Mac

* SYNERGY-856 - Prevent sleep on Linux

* SYNERGY-856 - Update changelog

* SYNERGY-856 - Set user activity on for Mac to prevent sleep

* SYNERGY-856 - Prevent screen  sleep continuosly

* SYNERGY-856 - Try implementing DBus in the server/client

* SYNERGY-856 - Move inhibitor to arch instead of gui

* SYNERGY-856 - Undo undesired changes

* SYNERGY-856 - Undo remaining undersired changes

* SYNERGY-856 - Compile on MacOS

* SYNERGY-856 - Reduce if/else depth

* SYNERGY-856 - Remove AppDelegate include

* SYNERGY-856 - Update inhibitor code to have more verbose debug output

* SYNERGY-856 - Make methods static

* SYNERGY-856 - Remove unused declarations
2021-07-12 12:44:08 +03:00
Serhii Hadzhilov
d3dea8e762 SYNERGY-1047 Scroll doesn't work in case of macOS is server 2021-07-05 12:07:18 +03:00
Igor Sikachyna
89363240eb
SYNERGY-988 - Normalize scrolling direction (#7044)
* SYNERGY-988 - Normalize scrolling direction on Mac

* SYNERGY-988 - Scroll direction check on Windows

* SYNERGY-988 - Add check for registry key presence

* SYNERGY-988 - Normalize scrolling directino on Linux

* SYNERGY-988 - Detach scroll direction check on Windows

* SYNERGY-988 - Update changelog

* SYNERGY-988 - Resolve code smells

* SYNERGY-988 - Normalize scroll direction for Linux servers

* SYNERGY-988 - Removed unnecessary INFO level logs

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-06-30 15:25:11 +03:00
Toru Yamada
16d9a3dce0
Support "Kana" and "Eisu" keys on Japanese Apple Pro Keyboard (JIS) (#7040)
* Support "Kana" and "Eisu" keys on Japanese Apple Pro Keyboard (JIS)

* Update ChangeLog

Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-06-30 14:15:34 +03:00
Igor Sikachyna
2fdde93f3d
SYNERGY-1032 - Send secure input notifications to client (#7043)
* SYNERGY-1017 - Try usnig NSUserNotification

* SYNERGY-1032 - Use UNUserNotificationCenter instead of deprecated notifications

* SYNERGY-1032 - Update app delegate and add log after notification access

* SYNERGY-1032 - Try using deprecated notification

* SYNERGY-1032 - Add notifications to the platform dependant code

* SYNERGY-1032 - Check for development builds before asking permission for notifications

* SYNERGY-1032 - Remove old notification and secure input detection

* SYNERGY-1032 - Add permission request to the main app

* SYNERGY-1032 - Only show notifications on server

* SYNERGY-1032 - Request and show notification from main app

* SYNERGY-1032 - Remove logging from OSX helpers

* SYNERGY-1032 - Add UN notification for testing

* SYNERGY-1032 - Show notification once

* SYNERGY-1032 - Try replicating old flow

* SYNERGY-1032 - Reuse notification center

* SYNERGY-1032 - Send notification after granting permission

* SYNERGY-1032 - Update app delegate

* SYNERGY-1032 - Remove deprecated property

* SYNERGY-1032 - Add output for debugging

* SYNERGY-1032 - Try updating delegate

* SYNERGY-1032 - Print current bundle name

* SYNERGY-1032 - Add AppDelegate to the server

* SYNERGY-1032 - Move notification creation to synergy app

* SYNERGY-1032 - Update notification text

* SYNERGY-1032 - Fix QString conversion for notification

* SYNERGY-1032 - Move notification creation outside the handler

* SYNERGY-1032 - Remove debug notification, show notification with no delay

* SYNERGY-1032 - Show notification inside the completion handler

* SYNERGY-1032 - Remove timed notification trigger

* SYNERGY-1032 - Request permissions on synergy start

* SYNERGY-1032 - Remove unused includes

* SYNERGY-1032 - Update changelog

* SYNERGY-1032 - Add empty notification implementations for Windows and Linux

* SYNERGY-1032 - Removed temporary debug messages

* SYNERGY-1032 - Resolve code smell

* SYNERGY-1032 - Add base code for handling sending secure input notification

* SYNERGY-1032 - Compile on Mac

* SYNERGY-1032 - Allow client downgrade for 1.7 down to 1.6

* SYNERGY-1032 - Add utility to show notifications. Update secure input message format

* SYNERGY-1032 - Update notification util on Mac

* SYNERGY-1032 - Don't disconnect on invalid message from client

* SYNERGY-1032 - Remove unused code

* SYNERGY-1032 - Update changelog

* SYNERGY-1032 - Update secure input notification message

* SYNERGY-1032 - Better formatting for debug comments

* SYNERGY-1032 - Resolve code smells

* SYNERGY-1032 - Resolve more code smells

* SYNERGY-1032 - Revert log level change

* SYNERGY-1032 - Resolve merge error
2021-06-29 18:45:15 +03:00
Igor Sikachyna
5843230169
SYNERGY-1032 - Use native notifications for secure input on MacOS (#7041)
* SYNERGY-1017 - Try usnig NSUserNotification

* SYNERGY-1032 - Use UNUserNotificationCenter instead of deprecated notifications

* SYNERGY-1032 - Update app delegate and add log after notification access

* SYNERGY-1032 - Try using deprecated notification

* SYNERGY-1032 - Add notifications to the platform dependant code

* SYNERGY-1032 - Check for development builds before asking permission for notifications

* SYNERGY-1032 - Remove old notification and secure input detection

* SYNERGY-1032 - Add permission request to the main app

* SYNERGY-1032 - Only show notifications on server

* SYNERGY-1032 - Request and show notification from main app

* SYNERGY-1032 - Remove logging from OSX helpers

* SYNERGY-1032 - Add UN notification for testing

* SYNERGY-1032 - Show notification once

* SYNERGY-1032 - Try replicating old flow

* SYNERGY-1032 - Reuse notification center

* SYNERGY-1032 - Send notification after granting permission

* SYNERGY-1032 - Update app delegate

* SYNERGY-1032 - Remove deprecated property

* SYNERGY-1032 - Add output for debugging

* SYNERGY-1032 - Try updating delegate

* SYNERGY-1032 - Print current bundle name

* SYNERGY-1032 - Add AppDelegate to the server

* SYNERGY-1032 - Move notification creation to synergy app

* SYNERGY-1032 - Update notification text

* SYNERGY-1032 - Fix QString conversion for notification

* SYNERGY-1032 - Move notification creation outside the handler

* SYNERGY-1032 - Remove debug notification, show notification with no delay

* SYNERGY-1032 - Show notification inside the completion handler

* SYNERGY-1032 - Remove timed notification trigger

* SYNERGY-1032 - Request permissions on synergy start

* SYNERGY-1032 - Remove unused includes

* SYNERGY-1032 - Update changelog

* SYNERGY-1032 - Add empty notification implementations for Windows and Linux

* SYNERGY-1032 - Removed temporary debug messages

* SYNERGY-1032 - Resolve code smell
2021-06-29 13:20:56 +03:00
Serhii Hadzhilov
2aebeaab62 SYNERGY-928 Wrong encoding form macOS 2021-06-09 16:13:23 +03:00
SerhiiGadzhilov
6ce20f689a
Merge changes from V1.14.0 (#7032)
* SYNERGY-1007 Release candidate

* SYNERGY-1014 Update openSSL to 1.1.1k on Windows artefacts

* SYNERGY-1015 Remove SYNERGY_AUTOCONFIG fom cmake files

* SYNERGY-1015 Update ChangeLog.txt

* SYNERGY-1005 Add fedora 33 to 1.14.0

* SYNERGY-1021 Incorrect client place for the first connection

* Update ChangeLog

* Update build_version.py to select correct build number

* SYNERGY-1023 Typo in <displays> on the server configuration page

* SYNERGY-1028 New licenses for Chinese market (#7031)

* SYNERGY-1028 New china licenses

* Update ChangeLog

* SYNERGY-1024 Release 1.14.0

* Update Version.cmake

Co-authored-by: Igor Sikachyna <sikachynairl@gmail.com>
2021-06-09 11:23:09 +03:00
SerhiiGadzhilov
dc8694ff20 SYNERGY-928 Wrong encoding for text copied between linux and windows 2021-06-04 15:51:49 +03:00
Igor Sikachyna
9302f86bb0
SYNERGY-856 - Add option to prevent client from sleeping (#7001)
* Disable thread execution state changes preventing the system from going to sleep

* Update changelog

* Added option to the GUI

* Only set system to be in use

* Remove leftover code affecting display and system power off

* Add option parsing to the correct place

* Update changelog

* Remove prevent sleep option from struct initializer, replace NULL with nullptr in relevant places

* Remove duplicated code

* Prevent sleep on Mac clients

* SYNERGY-856 - Return language sync option
2021-05-31 11:53:49 +03:00
Igor Sikachyna
98bdcd4a46
SYNERGY-538 - Allow Windows to go to sleep depending on system preferences (#6997)
* Disable thread execution state changes preventing the system from going to sleep

* Update changelog

* Remove leftover code affecting display and system power off

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-05-28 11:58:11 +03:00
Igor Sikachyna
332dea5c40
SYNERGY-993 - Remove code related to the screen saver synchronization functionality (#6998)
* Remove code related to the screen saver synchronization functionality

* Update changelog

* Update formatting, add const qualifier

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-05-27 11:57:34 +03:00
Igor Sikachyna
d9b96e1988
SYNERGY-988 Mac client does not scroll in natural direction (#7012)
* SYNERGY-988 - Use system preferences for horizontal scrolling

* Update changelog

* SYNERGY-988 - Invert xscroll direction

* Also revert system event xscroll

* SYNERGY-988 - Update directions

* SYNERGY-988 - Update changelog

* SYNERGY-988 - Update scrolling direction and y scrolling

* SYNERGY-988 - Update variable comment

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-05-27 08:45:45 +03:00
Igor Sikachyna
c7fd0a8e4d
SYNERGY-956 - Resolve code scanning issues (#7006)
* SYNERGY-956 - Resolve code scanning issues

* SYNERGY-956 - Update changelog

* SYNERGY-956 - Platform based localtime

* SYNERGY-956 - Fix argument order

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-05-26 12:39:40 +03:00
Andrey Batyiev
6080b6937d
Synergy 907 client tray language switcher reverts to en (#7014)
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix checkbox spelling

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
*Temporary disable language sync logic

* SYNERGY-907 client tray language switcher reverts to en
*Update changelog

* Synergy 907 client tray language switcher reverts to en
*Fix sonar

* Synergy 907 client tray language switcher reverts to en
*Fix sonar

* Synergy 907 client tray language switcher reverts to en
*Fix chnagelog

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-05-24 16:06:16 +03:00
SerhiiGadzhilov
c000b886c2
SYNERGY-1003 Connection processing for name with several ips (#7013)
* SYNERGY-1003 Connection processing for name with several ips

* Update ChangeLog

* SYNERGY-1003 Fix compilation

* SYNERGY-1003 Fix code smells
2021-05-24 11:21:32 +03:00
Andrey Batyiev
2569409ba2
SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6 (#7008)
* SYNERGY-970 Synergy1. User is not able to connect to server using ipv6 without wrapping IP in square quotes
*Fix connection without brackets
*Fix config screen bug

* SYNERGY-970 Synergy1. User is not able to connect to server using ipv6 without wrapping IP in square quotes
*Update changelog

* SYNERGY-970 Mac client listens on ipv4 only but attempts to connect on ipv6 #6964
*Add logging in case of several IP of hostname

* Synergy 970 synergy1. user is not able to connect to server using ipv6 without wrapping ip in square quotes
*Update changelog

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
*Fix Sonar warnings

* SUNERGY-885-Mac client listens on ipv4 only but attempts to connect on ipv6
*Update Changelog

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix include

* Sunergy-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix sonar warnings

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
*Add loggic to connect to first from reachable server addresses

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix unix compilation

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix unix compilation

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix code smells

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix build

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Fix memory leak

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Added logic for temporary ipv6 filtering from connect

* SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6
*Temporary disable ipv6 parsing and resolving tests

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-05-20 19:59:05 +03:00
SerhiiGadzhilov
8bd4872f58 SYNERGY-991 Clipboard sharing doesn't work on Linux system 2021-05-19 17:24:42 +03:00
Andrey Batyiev
ee99c2bc99
SYNERGY-970 Synergy1. User is not able to connect to server using ipv… (#7005)
* SYNERGY-970 Synergy1. User is not able to connect to server using ipv6 without wrapping IP in square quotes
*Fix connection without brackets
*Fix config screen bug

* SYNERGY-970 Synergy1. User is not able to connect to server using ipv6 without wrapping IP in square quotes
*Update changelog

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-05-19 14:08:24 +03:00
Serhii Hadzhilov
07edadc2e3 SYNERGY-694 Reduce connection timeout to 2 seconds 2021-05-13 16:20:54 +03:00
Andrey Batyiev
431433f78a
SYNERGY-907 Client tray language switcher reverts to EN (#6989)
* SYNERGY-907 Client tray language switcher reverts to EN
*Dummy commit to update test coverage statistic

* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog

* SYNERGY-907 Client tray language switcher reverts to EN
* Test code to generate code coverage

* SYNERGY-907 Client tray language switcher reverts to EN
*Add first test for Windows hooks

* SYNERGY-907 Client tray language switcher reverts to EN
*Add parameter for language sync in client app

* SYNERGY-907 Client tray language switcher reverts to EN
*Remove debug code

* SYNERGY-907 Client tray language switcher reverts to EN
*Add sync language support in gui

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Add language sync checkbox to UI

* SYNERGY-907 Client tray language switcher reverts to EN
*Fix code smells

* SYNERGY-907 Client tray language switcher reverts to EN
*Change language sync to disable as default
*Bug fix

* SYNERGY-907 Client tray language switcher reverts to EN
*Hide language sync in GUI for server

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2021-05-13 09:30:24 +03:00
Andrey Batyiev
c1243deab9
SYNERGY-885 mac client listens on ipv4 only but attempts to connect on ipv6 (#6983)
* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Fix ipv6 port parsing
* Fix ipv6 server bind

* SYNERGY 885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Add ipv6 scope checker

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Update changelog

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Refactor network address logic

* SYNERGY-885-Mac client listens on ipv4 only but attempts to connect on ipv6
* Build fix

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Fix code smells

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Fix empty ipv4 hostname

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Fix build

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Add test for new logic

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Upgrade network adress parser tests

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Fix sonar code smells in tests

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
* Fix code smells

* SYNERGY-885 Mac client listens on ipv4 only but attempts to connect on ipv6
*Fix comment

Co-authored-by: user <user@users-Mac-mini.local>
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-04-26 10:37:34 +03:00
Andrey Batyiev
4d99707e93
SYNERGY-511 SonarCloud security hotspots in Synergy-core (#6972)
* SYNERGY-511 SonarCloud security hotspots in Synergy-core
* Test commit to check sonar reaction

* SYNERGY-511 SonarCloud security hotspots in Synergy-core
* Update changelog
* Supress unsafe strcpy for SonarCloud

* SYNERGY-511 SonarCloud security hotspots in Synergy-core
* Fix all SonarCloud security hotspots

* SYNERGY-511 SonarCloud security hotspots in Synergy-core
* Fix SonarCloud code smells

* SYNERGY-511 SonarCloud security hotspots in Synergy-core
* Fix missed size in memcpy for C-style string

* SYNERGY-511 SonarCloud security hotspots in Synergy-core
* Return unsafe http as domain adress

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-04-06 13:54:25 +03:00
Andrey Batyiev
ad1fd9c1af
SYNERGY 512 SonarCloud vulnerabilities in Synergy-Core (#6971)
* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix all vulnerablilities from SonarCloud besides TLS
* Update ChangeLog

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix SonarCloud messages(Code Smells level)

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix build on Linux based systems

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix Sonar messages

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix Sonar messages

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix Sonar messages

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Resolve comment issues

* SYNERGY-512 SonarCloud vulnerabilities in Synergy-Core
* Fix comments

Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
2021-04-06 13:02:25 +03:00
Kyle Bloom
54cb817de8
OpenSSL find package (#6952)
* Change cmake to use find_package for openssl

* Change cmake prefix paths

* Fix Qt prefix path

* Limit static to apple

* Re-add qt bin path

* Fix use of apple cmake variable

* Update ChangeLog

* Update CMake prefix path for mac and windows tests

* Fix windows test

* Seems to fix mac test

* Brew defined prefix paths

* Explicitly ensure all homebrew dependencies
2021-03-03 14:04:39 +03:00
SerhiiGadzhilov
9c8a1c1e3d
SYNERGY-722 Remove information about drag and drop from Log (#6928) 2021-01-27 19:51:01 +00:00
SerhiiGadzhilov
7128f8f5f0
Fixed #6839 Wrong text encoding in iMessage (#6927)
* Fixed #6839 Wrong text encoding in iMessage

* Update ChangeLog
2021-01-27 21:38:52 +02:00
Kyle Bloom
70d67040b7
Revert openssl changes (#6926)
* Revert "Core builds (#6908)"

This reverts commit 4c7456d3cc.

* Re-add minor gitignore changes

* Re-add buildCoreWindows script

* Re-add synergy no legacy flag

* Minor format fix

* Revert openssl checksums

* Remove enhancement

* Install python-pip for gcovr

* Fix mixed tabs and spaces
2021-01-26 13:36:39 +02:00
Kyle Bloom
4c7456d3cc
Core builds (#6908)
* Fix formatting in CMakeLists

* Add SYNERGY_NO_LEGACY environment flag

* Add build script for Windows

* Find_package for OpenSSL

* Move build scrits to scripts folder

* Add macOS and Linux build scripts

* Add environment variable

* Compile core with static openssl

* Default builds to Release

* Streamline OpenSSL dependancies

* Remove openssl from repo

* Change actions to test actions

* Add zip creation to build scripts

* Re-add original tests

* Add action value output

* Build per platform on release

* Fix path for core build

* Temporarily keep artifacts

* Set execute flag

* Zip before archiving

* Static build only for windows

* Remove -m flag from zip

* Change zip to tar

* Fix workflow name

* Add hints to openssl on mac

* Fix zip files

* Fix verbose flag on tar

* Remove path on download artifacts

* Try an array of build targets

* Extract action binaries

* Install full openssl

* Add 32bit openssl

* Modify installer to use the openssl.exe from ext

* Install OpenSSL full for windows release build

* Add openssl installation during windows CI

* Modify changelog

* Add enhancments section

* Remove bottom line in changelog
2021-01-20 14:47:56 +00:00
Ignacio Rodríguez
8c11fb8e8a
Document CLI arguments (#6909)
* Documentation file added

* fixes motivated by the review of server arguments

* updated changelog

* added client app arguments

Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-01-20 14:07:25 +02:00
Ignacio Rodríguez
ec79083753
Removing positional union initialisation (#6918)
* Removing positional union initialisation

* udpated changelog
2021-01-20 11:56:26 +02:00
Ignacio Rodríguez
8ca0c185b2
Synergy 591 remaining sonarcloud bugs in synergy core (#6915)
* (WIP)-all issues corrected, tests started

* first test passing

alternative solution for SonarCloud check

fixed for to while translation

added changelog item

adding tests and fixes

more tests; avoid compiling BSD Tests on Windows

attempting a BSD compile patch

more tests

borrowing symbol detection from another test

more ambitious testing

changed the order of assertions for better info

more tests

fixed clear errors before executing

expanding transformation to use string comparison

including terminator on translation count

a different flag for testing MS Windows

differente Windows flag

more tests

fixing platform encoding match

Windows compiler difference on #ifdef

Google Test macro usage fix

test added

added keymap test

test and initialisation fixed

ms cl issue with named init

test for keymap

exercising keystate

more configuration exercises

one more test for config

added Unicode test

an IPv6 test

more portable networking code

using our own platform switching code

avoiding strcpy

* Fixed typo in Changelog.

* +appropriate memory handling

* one more test for coverage

* a tad more coverage

* expanded test on Config

* forcing addresses be resolved before use on test

* log modified

* re-obtaining equivalency at continue

* test added

* additional test, and initialisation for Windows

* added test sections for coverage

* fixed count

Co-authored-by: Max <maxmommersteeg@hotmail.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-01-19 14:52:37 +02:00
Ignacio Rodríguez
5c2311a50a
Remaining SonarCloud Bugs (#6900)
* (WIP)-all issues corrected, tests started

* first test passing

alternative solution for SonarCloud check

fixed for to while translation

added changelog item

adding tests and fixes

more tests; avoid compiling BSD Tests on Windows

attempting a BSD compile patch

more tests

borrowing symbol detection from another test

more ambitious testing

changed the order of assertions for better info

more tests

fixed clear errors before executing

expanding transformation to use string comparison

including terminator on translation count

a different flag for testing MS Windows

differente Windows flag

more tests

fixing platform encoding match

Windows compiler difference on #ifdef

Google Test macro usage fix

test added

added keymap test

test and initialisation fixed

ms cl issue with named init

test for keymap

exercising keystate

more configuration exercises

one more test for config

added Unicode test

an IPv6 test

more portable networking code

using our own platform switching code

avoiding strcpy

* Fixed typo in Changelog.

* +appropriate memory handling

* one more test for coverage

* a tad more coverage

* expanded test on Config

Co-authored-by: Max <maxmommersteeg@hotmail.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
2021-01-15 13:24:31 +02:00
SerhiiGadzhilov
e9a654e16e
SYNERGY-148 Memory leaks on macOS (#6837)
* SYNERGY-148 Memory leaks on macOS

* SYNEGRY-148 Update ChangeLog and fixed one typo
2020-11-11 10:01:09 +03:00
Ignacio Rodriguez
d9e656db97 accepted more suggestions from sonarcloud 2020-11-09 21:46:56 +07:00
Ignacio Rodriguez
23037d7932 incorporating sonar's major 2020-11-05 19:20:45 +07:00
Ignacio Rodríguez
20c830afb0
Merge pull request #6826 from symless/SYNERGY-509-sonarcloud-critical-bugs-in-synergy-core
SonarCloud Critical bugs
2020-11-04 19:02:38 +07:00
SerhiiGadzhilov
64249f13c9
SYNERGY-362 Eliminate using std::chrono (#6828)
* SYNERGY-362 Eliminate using chrono due to compilation error on: centos7.6, ubuntu1604, debian9

* Remove chrono header

* Update ChangeLog

* SYNERGY-362 Tests compilation fix

* SYNERGY-362 Fix code smell
2020-11-04 12:10:18 +02:00
Ignacio Rodriguez
77ee71768b formatting 2020-11-03 22:31:32 +07:00
Ignacio Rodriguez
0f779c7f76 improved takes 2020-11-03 20:24:44 +07:00
Ignacio Rodríguez
fa17f631c1
Merge branch 'master' into SYNERGY-509-sonarcloud-critical-bugs-in-synergy-core 2020-11-03 18:00:09 +07:00
Ignacio Rodriguez
6656e7337d as per Sonar recommendations 2020-11-03 17:52:56 +07:00
SerhiiGadzhilov
261b1f422d
SYNERGY-362 Improve license validation (#6816)
* SYNERGY-362 Improve license validation

* Update ChangeLog

* SYNERGY-362 Improve license validation
2020-11-02 17:11:03 +02:00
SerhiiGadzhilov
d9d833fcb8
SYNERGY-221 Blocker bugs (#6821)
* SYNERGY-221 Blocker bugs

* SYNERGY-221 Compilation fix

* Update ChangeLog

* SYNERGY-221 Exception message has been fixed.

* Update src/lib/synergy/ProtocolUtil.cpp

Co-authored-by: Jnewbon <48688400+Jnewbon@users.noreply.github.com>

* SYNERGY-221 Fix code smells

Co-authored-by: Jnewbon <48688400+Jnewbon@users.noreply.github.com>
2020-10-30 18:21:03 +02:00
Andrea Candian
4f65578546
Merge pull request #6811 from symless/SYNERGY-323-No-configuration-available
SYNERGY-323 "No configuration available error" appears because the system fails on windows.
2020-10-15 16:36:31 +01:00
Serhii Hadzhilov
b542f3b302 SYNERGY-323 NO configuration available. Fix sonar "Code Smells". 2020-10-15 12:17:17 +03:00
Serhii Hadzhilov
6c37cfad3b SYNERGY-323 "No configuration available" error. Sonar issues fix. 2020-10-13 22:38:50 +03:00
Serhii Hadzhilov
75efede1e3 SYNERGY-323 Fixed sonar issues in tests. 2020-10-13 18:09:20 +03:00
Serhii Hadzhilov
a31e984aad SYNERGY-323 "No configuration available" error.
Main fix and additional tests.
2020-10-13 12:56:26 +03:00
Mikael Lövqvist
73b40c04d8 Added atom "text/plain;charset=utf-8" to the m_converters list to prevent falling back to "STRING", causing non ASCII characters to be replaced by question marks 2020-10-10 10:58:16 +02:00
Serhii Hadzhilov
90fce9af2a SYNERGY-324 Replace tabs with spaces. 2020-10-05 18:34:03 +03:00
Serhii Hadzhilov
836e0444d3 SYNERGY-324 Removed tabs in SerialKey.h 2020-10-05 16:29:33 +03:00
Serhii Hadzhilov
05a66271a1 SYNERGY-324 Update behaviour when unregistered 2020-10-02 15:34:11 +03:00
Serhii Hadzhilov
71e271db49 #6799 Synergy "Business" edition. Fix sonar issues SYNERGY-315 2020-10-02 10:48:17 +03:00
Serhii Hadzhilov
957ab70170 #6799 Synergy "Business" edition. Update ChangeLog SYNERGY-315 2020-10-02 10:30:24 +03:00
Serhii Hadzhilov
9274f06e3c SYNERGY-315 Synergy "Business" edition 2020-10-02 10:19:13 +03:00
Serhii Hadzhilov
74ae96d0c0 "temp" has been changed to "subscription" 2020-09-28 10:37:10 +03:00
Serhii Hadzhilov
8e96719480 Fix additional sonar issues 2020-09-25 22:18:59 +03:00
Serhii Hadzhilov
2083b66e8e Fix solnar issues 2020-09-25 22:01:17 +03:00
Serhii Hadzhilov
1d43ab0f7c License notise has been corrected. 2020-09-25 21:26:54 +03:00
Serhii Hadzhilov
2a8e696d53 Test code cleanup 2020-09-24 22:27:35 +03:00
Serhii Hadzhilov
371a45d9c8 Preliminary implementation of license key expiry. 2020-09-24 22:11:47 +03:00
Jnewbon
39902714ef
Merge pull request #6762 from symless/issue-6567-zombie-processes
SYNERGY-92 Fixed deamon leaving zombie process hanging about feeding on memory
2020-09-17 10:51:55 +01:00
Jamie Newbon
2719694b58 Merge branch 'issue-6567-zombie-processes' of https://github.com/symless/synergy-core into issue-6567-zombie-processes 2020-09-15 09:20:21 +01:00
Jamie Newbon
d191e46818 #6567 Closed open handle created when shutting a process down 2020-09-15 09:18:39 +01:00
Jamie Newbon
71f2a18cd3 #6342 updated copyright in cmd version to use build date 2020-09-14 16:39:38 +01:00
Jnewbon
584d02d1b0
Merge branch 'master' into issue-6567-zombie-processes 2020-09-14 15:23:49 +01:00
Jamie Newbon
f25947e68b #6567 Fixed memory leak causing zombie handles to created in the deamon on windows
Capture all process information as they are created to properly kill off handles when process are stopped, also added in a kill everything when the program cleans up all synergy(s|c) processes
2020-09-08 12:15:06 +01:00
Jamie Newbon
445f616e34 #6755 Broke up large function for readability. 2020-09-03 10:19:26 +01:00
Jamie Newbon
0a5fbe6e3e #6755 Added a check to prevent buffer overflow 2020-08-26 11:40:46 +01:00
Jamie Newbon
a21606664d #6753 Updated missed sprintf 2020-08-25 20:10:51 +01:00
Jamie Newbon
539da69a34 #6753 Replaced vulnerable sprintf calls with snprintf 2020-08-25 19:16:21 +01:00
Jamie Newbon
6684b8b09f #6734 Added new cmd option --tls-cert
- Moved ArgsBase, ClientArgs, and ServerArgs to own namespace
 - Added some Documentation to Args classes

Signed-off-by: Jamie Newbon <jamie@symless.com>
2020-07-27 13:29:58 +01:00
Jnewbon
c579858dd2
Merge pull request #6726 from symless/pr-5943-disable-tests
Disable test with cmake option
2020-07-14 13:38:33 +01:00
Jnewbon
0a97c2be0d
Merge pull request from GHSA-chfm-333q-gfpp
Attempts to fis DoS to servers with less then 4GB memory
2020-07-14 13:14:40 +01:00
Jamie Newbon
bdd36c389d #6716 Changed throw to pass exception to caller and handle it there updated debug message 2020-07-14 12:51:44 +01:00
Pieterjan Camerlynck
16bccc2ed0 #6725 allow building of synergy without tests
Signed-off-by: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com>
Signed-off-by: Jamie Newbon <jamie@symless.com>
2020-07-14 11:44:17 +01:00
Martin van Zijl
e237be80ee #4036 Fix for client resolution change on Linux 2020-07-11 14:51:42 +01:00
Jamie Newbon
59e63f5818 #6716 Added try catch around memory allocation 2020-07-10 13:30:30 +01:00
Povilas Kanapickas
4308b42915 #6487 XWindowsEventQueueBuffer: Fix delays when waiting for new events
QLength() may return 0 even if there are events pending because they
need to be read from the display socket in order to become visible. We
must use XPending() which will poll the socket if QLength() == 0.
2020-05-22 14:41:42 +01:00
Jamie Newbon
bf3796aea7 Revert "#6487 Changed timeout multiplier"
This reverts commit a324957e
2020-05-22 14:41:04 +01:00
Jamie Newbon
a324957e2d #6487 Changed timeout multiplier
We belive that there was a bug in the polling function that caused it
to return straight away instead of actually waiting for the timeout.
2020-05-04 13:52:14 +01:00
Jamie Newbon
26f4b4da46 Revert "#6487 Possible culprit to mouse freeze commented out for testing"
This reverts commit b5c57d9b
2020-05-04 13:45:45 +01:00
Jamie Newbon
b5c57d9b5e #6487 Possible culprit to mouse freeze commented out for testing 2020-04-30 22:19:29 +01:00
Jnewbon
e047cd66fa
Merge pull request #6435 from vifino/patch-1
Fixed missing SSL_get_client_ciphers with LibreSSL
2020-01-21 16:19:40 +00:00
Jnewbon
bbdc842b04
Merge pull request #6618 from symless/v1-issue-4288-printscreen-issue
Send Print Screen key to Windows clients
2020-01-21 15:47:24 +00:00
Jnewbon
1027f41053
Merge pull request #6616 from symless/v1-issue-4-quote-deadkey
Fixed quote key on US International keyboard
2020-01-21 15:47:04 +00:00
Jnewbon
a7891e721b
Merge pull request #6617 from symless/v1-issue-6593-unicode-support
Fixed possible data index bug for Unicode read
2020-01-21 15:46:39 +00:00
Jamie Newbon
4f2e0b6cdb #4288 Fixed if assignment instead of equals 2020-01-11 01:33:03 +00:00
Jamie Newbon
23a7e5c05f #4288 removed #if 0 blocks 2020-01-11 01:24:22 +00:00
Jamie Newbon
9015f6a328 WIP printscreen fixes for Windows
# Conflicts:
#	src/lib/platform/MSWindowsDesks.cpp
#	src/lib/platform/MSWindowsDesks.h
2020-01-11 01:08:00 +00:00
Josh Stone
8299bcda95 #6593 Fix data indexes in Unicode::fromUTF8 2020-01-11 00:15:21 +00:00
Martin van Zijl
9f9627aa66 #4. Fix quote key on US International keyboard. 2020-01-10 23:50:11 +00:00
Jamie Newbon
dc363d66ab #6611 Updated untrusted server dialog to show sha256 fingerprint 2020-01-09 10:03:40 +00:00
Jnewbon
b09b6e176d
Merge pull request #6596 from symless/v1-issue-4957-remove-synwinhk
Removed Windows hook DLL
2019-11-19 15:21:57 +00:00
Jamie Newbon
b641d4b337 Fixed build issue on Windows unable to find iterator 2019-11-14 16:14:11 +00:00
Jamie Newbon
051138c8df Removed synwinhk DLL, back porting 703097c 2019-11-14 15:11:00 +00:00
Jamie Newbon
e64e4c598d Changed to stringstream as Mac had problems with regex 2019-11-14 11:29:17 +00:00
Jamie Newbon
27e5d3b084 Grabbed connection protocol from cipher for display to user 2019-11-13 10:01:27 +00:00
Jamie Newbon
4d3cf2c626 Preventing older insecure version of TLS/SSL 2019-11-12 17:06:44 +00:00
Jamie Newbon
021229879b Removing updated function name 2019-11-04 19:31:53 +00:00
Jamie Newbon
136996a9a9 #6566 Switched info to debug 2019-11-01 15:13:03 +00:00
Jamie Newbon
a3a4a21837 #6566 Switched info to debug 2019-11-01 09:49:11 +00:00
Jamie Newbon
4dbaafa743 #6566 Change info message to debug1 2019-10-21 15:01:26 +01:00
Jnewbon
e367fa9d61
Merge pull request #6577 from symless/v1-issue-5294-cursor-locked
Prevented cursor moving off screen when a locking issue may occur
2019-10-18 15:31:05 +01:00
Jamie Newbon
ce691463b1 #5294 Prevented cursor moving off screen when a locking issue may occur 2019-10-18 13:39:05 +01:00
Jamie Newbon
29ab86b734 #6518 Added server restart action and hotkey capability 2019-10-15 18:40:53 +01:00
Jamie Newbon
d376ad3feb #6535 Version URL and added stage check to version check 2019-09-03 09:41:49 +01:00
Jnewbon
4fea67e078 #6390 Updated OpenSSL For better security with TLS1.3 2019-09-03 09:41:49 +01:00
Nathan Neulinger
c8e1e036e2 #6409 Time out read events for clipboard 2019-09-03 09:41:49 +01:00
walker0643
7e0c849211 #6528 Also display error text as well as error code when logging an X11 error 2019-09-03 09:41:49 +01:00
walker0643
b3a90dddae #6526 Fixed crash when socket is null on handling TCP connection, and added some logging 2019-09-03 09:41:49 +01:00
walker0643
30c6b3a588 #6525 Removed sleep before TLS socket delete, and fix race condition by removing socket from job queue 2019-09-03 09:41:49 +01:00
walker0643
69432151fd #6521 Fixed access violation in SSL sockets 2019-09-03 09:41:49 +01:00
James Spurin
9702d7e8c6 #3705 Hotkeys broken on macOS servers 2019-09-03 09:41:49 +01:00
Radek Smejkal
70ba53caf4 Fixed retry timer not being unregistered properly (#6077)
Closes #6495
2019-05-03 18:05:17 +01:00
Yuri
751fcffc87
#6373 Fixed compile error on BSD. Cherry picked from 94eb69eb 2019-05-02 18:22:21 +01:00
Jnewbon
a56abf68dd
#6488 Fixed a memory leak in the TLS socket code 2019-04-29 13:56:08 +01:00
Steve Williams
2bbfe450ae #5648 Fixed mouse drift by switching from int to float 2019-04-03 16:42:29 +01:00
Adrian Pistol
17d27a67d9
SecureSocket: Fix LibreSSL support.
Weirdly enough, LibreSSL has a high enough version, yet does not feature SSL_get_client_ciphers.
2018-10-24 21:54:12 +02:00
Nick Bolton
8d2ca0b36f #6383 Switch to Unix line endings 2018-08-07 10:18:22 +01:00
Nick Bolton
acecfef949 #6383 Make core console window minimized in foreground mode 2018-08-02 22:05:47 +01:00
Nick Bolton
80efcfa495 Revert "#6383 Hide console window when in foreground mode"
Actually, closing the console window is a handy way to do a clean exit. This reverts commit 25c2e360d3.
2018-08-02 21:50:55 +01:00
Nick Bolton
566e2db202 #6383 Send core output to VS debug window when in foreground mode 2018-08-02 19:19:06 +01:00
Nick Bolton
25c2e360d3 #6383 Hide console window when in foreground mode 2018-08-02 18:59:17 +01:00
Nick Bolton
8ef2e7edbc #6383 Refactor set startup info to a function 2018-08-02 18:04:32 +01:00
Nick Bolton
aca2605cb8 #6383 Capture process output when in foreground mode 2018-08-02 17:40:20 +01:00
Nick Bolton
026b1f0de1 #6383 Use CreateProcess when in foreground mode 2018-08-02 16:25:10 +01:00
Nick Bolton
568a008037 #6382 Add helpful comment about DCMAKE_BUILD_TYPE and logging 2018-08-02 14:11:05 +01:00
Nick Bolton
3523d6e254 #6380 Reintroduce common.h include in basic_types.h (defines TYPE_OF_SIZE_* on *nix) 2018-08-01 15:29:09 +01:00
Nick Bolton
d9ec2f3ed3 Revert "#6380 Reintroduce type size defines for non-Windows"
This reverts commit b5c0f5c47e.
2018-08-01 15:24:50 +01:00
Nick Bolton
b5c0f5c47e #6380 Reintroduce type size defines for non-Windows 2018-08-01 14:51:01 +01:00
Nick Bolton
fc6cc78738 #6380 Fixed rogue include that I didn't end up using 2018-08-01 14:43:15 +01:00
Nick Bolton
65e9045981 #6376 Removed dead code (getLibsUsed function) 2018-08-01 13:04:18 +01:00
Nick Bolton
8dc868a206 #6380 Fixed warnings for VS2017 2018-08-01 13:03:41 +01:00
Nick Bolton
fd0cb228ee #6374 Remove file logging for service; sharing a log file is probably not a brilliant idea 2018-07-28 15:34:44 +01:00
Nick Bolton
555090c7d2 #6372 Make service messages more user friendly 2018-07-28 02:53:45 +01:00
Nick Bolton
89cc8a8daa #6372 More user friendly and current logging for SecureSocket 2018-07-28 01:19:23 +01:00
Nick Bolton
46a5166fba #6372 Force TLS 1.2 only in secure connection code 2018-07-27 09:20:20 +01:00
Sarah Hebert
491bb2de00 #6312 Removed CURL dependency and all code that uses it 2018-07-08 16:51:50 +01:00
Andrew Nelless
c3a4fe7f2b #6344 Don't send clipboards over size limit 2018-07-08 16:50:34 +01:00
Andrew Nelless
14343fa7e1 #6344 Don't send clipboards over size limit to server 2018-07-08 16:50:31 +01:00
Andrew Nelless
953e829562 #6344 Clarify on client who disabled clipboard sharing 2018-07-08 16:50:23 +01:00
Andrew Nelless
7c29d8e704 #6344 Fix logic error displaying clipboard sharing status 2018-07-08 16:50:16 +01:00
Andrew Nelless
828ad24820 #6344 Fix use of std::max 2018-07-08 16:49:38 +01:00
Andrew Nelless
8af215364f #6344 Make client recognise clipboard size limit 2018-07-08 16:49:33 +01:00
Andrew Nelless
01109e0499 #6344 Make server recognise clipboard size limit 2018-07-08 16:49:27 +01:00
Andrew Nelless
7e7760668a #6344 Add clipboard sharing size limit config option 2018-07-08 16:49:16 +01:00
XinyuHou
1852f7477c #6346 Don't add scrlk as a hotkey to lock screen if it's disabled 2018-07-08 16:48:54 +01:00
XinyuHou
6ccd4d71b8 #6346 Fix disable lock to screen was always set to true 2018-07-08 16:48:25 +01:00
XinyuHou
84dfeec2ed #6346 Make server bypass lock to screen if it's disable from config option
# Conflicts:
#	src/lib/server/Server.cpp
#	src/lib/server/Server.h
2018-07-08 16:48:16 +01:00
Andrew Nelless
fb3de294ec Merge branch 'v0.9-macsleep' into v1.9 2018-04-10 11:12:51 +01:00
Steve Williams
67c7d0993f #5964 Fix multiplatform sleep 2018-03-29 10:08:48 +01:00
Steve Williams
eb4047b9fb #5964 Can't click on client after sleep 2018-03-29 09:54:53 +01:00
Andrew Nelless
35fb8c3389 Make macOS screen shape detection code more robust 2018-03-23 14:05:49 +00:00
Jerry (Xinyu Hou)
5697da164b #6178 Check if we should use secure socket for listening 2018-03-21 11:26:06 +00:00
Jerry (Xinyu Hou)
0ef8838e88 #6178 Specifically specify IPv4 for IPC socket 2018-03-21 10:55:02 +00:00
Jerry (Xinyu Hou)
fa82f5cdf3 #6178 Fix compiling error for adding IPv6 for secure socket 2018-03-20 16:05:30 +00:00
Jerry (Xinyu Hou)
e01acb30b6 #6178 Fix include syntax 2018-03-20 15:22:52 +00:00
Jerry (Xinyu Hou)
8446fe5395 #6178 Merge IPv6 PR 2018-03-20 13:53:38 +00:00
Andrew Nelless
4a3a5d5b0f
#6251 Attempt to fix Windows event loop hang 2018-03-18 20:50:26 +00:00
Nick Bolton
d61d2c0d6c #6116 Change log level for unknown quartz event type to DEBUG3 2017-08-09 19:59:44 +01:00
Andrew Nelless
98e617a937 #6037 Use MAKINTATOM in MSWindowsScreen 2017-05-18 01:20:22 +01:00
Andrew Nelless
b87dba52ba #6037 Unitialized member in Chunk 2017-05-18 01:11:20 +01:00
Andrew Nelless
857482ced7 #6037 Unitialized members in App class 2017-05-18 01:09:38 +01:00
Andrew Nelless
0c2b89ed21 #6037 Fix key repeat expression always false 2017-05-18 00:32:59 +01:00
Andrew Nelless
bae51a4406 #6037 Use MAKEINTATOM in MSWindowsScreen 2017-05-18 00:06:56 +01:00
Andrew Nelless
3e6920964a #6037 Unitialized members in MSWindowsScreenSaver 2017-05-18 00:03:34 +01:00
Andrew Nelless
40e943d145 #6037 Use of non-memsize type for pointer arithmetic 2017-05-12 20:40:07 +01:00
Andrew Nelless
762718d938 #6037 Use MAKEINTATOM macro in place of dodgy casts 2017-05-12 20:15:57 +01:00
Andrew Nelless
ae8db8b125 #6037 prevent object slicing in caught exception 2017-05-12 20:02:51 +01:00
Andrew Nelless
c556184114 #6037 Remove pointless cast in TCPSocket 2017-05-12 19:50:38 +01:00
Andrew Nelless
58e8e06812 #6037 Unitialized member in SecureSocket 2017-05-12 19:47:03 +01:00
Andrew Nelless
b097171c69 #6037 Unitialized and unused members in IPCLogOutputter 2017-05-12 19:38:03 +01:00
Andrew Nelless
3e6b6dc7b8 #6037 Remove crazy LoadString wrapper 2017-05-12 01:41:17 +01:00
Andrew Nelless
823868f767 #6037 Fix potential memory leak if SetClipboardData fails 2017-05-12 01:08:27 +01:00
Andrew Nelless
7deb5f04f3 #6037 Replaced empty()->clear() mixup 2017-05-12 00:57:46 +01:00
Andrew Nelless
46231cd35c #6037 Slightly improve error checking in vformat() 2017-05-12 00:45:59 +01:00
Andrew Nelless
0290583ab9 #6037 Unitialized handles and other members in ArchTaskBarWindows 2017-05-12 00:20:59 +01:00
Andrew Nelless
485540bbb4 #6037 socket accept() failure could lead to NULL ptr dereference 2017-05-12 00:10:16 +01:00
Svyatoslav
cd015482d5 PVS-Studio: An exception should be caught by reference rather than by value. (#6003) 2017-05-05 01:34:34 +01:00
Svyatoslav
30baa8fbe1 src/lib/server/Server.cpp: PVS-Studio: Initial and final values of the iterator are the same. 2017-05-05 01:31:36 +01:00
Andrew Nelless
a73b65431b Fix showSecureCipherInfo() to build with OpenSSL 1.1.0 2017-05-05 01:27:25 +01:00
Dan Sorahan
165bfa3dd6 Fix hex encoding of non-ASCII characters in serial 2017-05-04 12:38:19 +01:00
Andrew Nelless
242f1e7e29 Rename VERSION to SYNERGY_VERSION 2017-04-27 16:14:46 +01:00
Andrew Nelless
fedbcb0f3a Remove ../ includes in src/lib 2017-03-09 15:16:08 +00:00
Andrew Nelless
0cd45ba1ef Remove unused include paths 2017-03-09 14:18:39 +00:00
Andrew Nelless
0cddcdca10 Fix common.h: Windows doesn't use config.h 2017-03-08 18:50:56 +00:00
Andrew Nelless
f815f9840d See what happens when config.h is mandatory 2017-03-08 18:43:23 +00:00
Andrew Nelless
9ce58f1f4e Remove suspicious looking fp.h hack for macOS 2017-03-08 18:36:08 +00:00
Andrew Nelless
a35c567e2f Remove #define nullptr: it's the future now 2017-03-08 18:34:49 +00:00
Andrew Nelless
58e2ece498 Remove suspect MSVC hacks and warning suppression 2017-03-08 18:31:09 +00:00
Andrew Nelless
f7b87e0670 Remove version number from gtest/gmock paths 2017-02-09 22:30:42 +00:00
Andrew Nelless
4263fd1717 Rename synergy library to synlib to work around conflict with GUI 2017-02-08 15:11:21 +00:00
Andrew Nelless
b46daccc29 Fix ODR violation of EventQueueTimer base class 2017-02-07 01:25:01 +00:00
XinyuHou
deea23f866 Apply tab to spaces filter to src folder 2017-02-07 01:24:59 +00:00
XinyuHou
0d8bc9d7e2 Remove all xcopy commands in cmake 2017-02-07 01:24:58 +00:00
Andrew Nelless
5fdf50ce93 Fix missing trailing slashes in xcopy command 2017-02-07 01:24:58 +00:00
Jerry (Xinyu Hou)
72c394208f Fix Mac warning ⚠️ 2017-02-07 01:24:32 +00:00
Jerry (Xinyu Hou)
2a333b7fbf Copy binaries and libs into ROOT/bin 2017-02-07 01:24:32 +00:00
Andrew Nelless
680c9b4078 Merge changes from v1.8.8-rc1 2017-02-06 14:28:20 +00:00
Martin Wilck
ed17e9275d XRandR: fix screen size calculation
XWindowsScreen::saveShape() using XRRSizes / XRRRotations to
calculate screen dimensions when XRandR and a rotated screen
was detected. This is wrong. The screen dimensions in the
display properties already reflect rotation.

Moreover, on servers supporting XRandR >= 1.2, the XRRSizes()
and XRRRotations calls from XRandR 1.1 will return the
properties of the "primary output" in XRandR 1.2 terms rather than
the properties of the entire screen.
2017-02-06 12:45:39 +00:00
Reinder Feenstra
1499f7b27c #5525 Add support for floating point start/end range values 2017-01-25 21:11:13 +00:00
Jiwoong Yoo
f35e3e5e06 #5578 Virtual key table mapped for inactive IMEs
Virtual key table is mapped for all IMEs not just active IME.

And this causes the wrong modifier key to be pressed. For example, if you use Korean and Japanese IMEs, pressing the Hangul key makes alt key pressed. So when I press just 'a', client interprets that as 'alt-a'.
2017-01-25 21:07:44 +00:00
Jiwoong Yoo
180d3e57d2 #5196 Korean and Japanese keyboards have same key code 2017-01-25 21:04:13 +00:00
Mike Hobbs
adf34eba40 #5785 Fix screen switch problem when cursor is in a corner 2017-01-25 20:55:20 +00:00
James McMullan
0eff5a95be #3992 macOS: Dragging broken in Unity
OSXScreen was not adding mouse movement deltas to mouse events while
dragging. Some 3D applications rely on these deltas to implement
dragging. Adding the mouse deltas to the mouse event fixes dragging in
these applications. Ex: Unity3d
2017-01-25 20:46:00 +00:00
Andreas Eriksson
ba55369d42 #3197 Disable regular motion events when using XInput 2 2017-01-25 20:36:56 +00:00
Christian Schmidt
21d4e6a908 #4477 Only allow mouse buttons 1-10 for XTestFakeButtons call.
These are the only valid ones:
[~]>for i in `seq 0 1 11`; do echo Testing $i; xte "mouseclick $i"; done
Testing 0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  132 (XTEST)
  Minor opcode of failed request:  2 (X_XTestFakeInput)
  Value in failed request:  0x0
  Serial number of failed request:  12
  Current serial number in output stream:  15
Testing 1
Testing 2
Testing 3
Testing 4
Testing 5
Testing 6
Testing 7
Testing 8
Testing 9
Testing 10
Testing 11
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  132 (XTEST)
  Minor opcode of failed request:  2 (X_XTestFakeInput)
  Value in failed request:  0xb
  Serial number of failed request:  12

And there are mice out there where buttons 11+ can be pressed accidentally,
terminating the synergy client and often leaving the system in a bad state.
2017-01-25 20:30:15 +00:00
Fábio Oliveira
3d3b7ca881 #4288 Remove auto Alt+Printscreen on Windows
As per issue https://github.com/synergy/synergy/issues/4288
2017-01-25 20:25:49 +00:00
Andrew Nelless
c27c094f9c Merge changes from v1.8.6 and v1.8.7 2017-01-20 23:18:03 +00:00
XinyuHou
c31f908fb2 Fix warning in IPC proxy classes 2016-12-07 17:35:52 +00:00
XinyuHou
74d63df244 Fix incorrect check of return code from dup 2016-12-07 17:28:15 +00:00
Epakai
4297673387 spelling error "implmented => implemented" 2016-12-06 14:56:47 +00:00
Epakai
72b1ebcdb2 spelling error "unknow => unknown" 2016-12-06 14:56:38 +00:00
Jerry (Xinyu Hou)
e8145aa779 #5592 Post keyboard events to lower level HID client 2016-11-22 15:19:58 +00:00
Jerry (Xinyu Hou)
b8233fc146 #5186 Add deprecated arguments warnings 2016-11-03 14:31:27 +00:00
Jerry (Xinyu Hou)
514e2475c3 Merge branch 'v1.8.6' into issue5186-different-dpi 2016-10-31 16:31:30 +00:00
Andrew Nelless
96efe5fb73 Merge changes from v1.8.5 2016-10-31 16:14:39 +00:00
Andrew Nelless
ef9842c819 #5707 Change update notification url 2016-10-28 17:45:47 +01:00
Andrew Nelless
af9037276c #5707 Prefer 'update' over 'upgrade' 2016-10-28 17:45:35 +01:00
Andrew Nelless
73685c3d92 #5707 Tweak notify url for upgrades 2016-10-28 17:45:30 +01:00
Andrew Nelless
4206799ae3 #5707 Add from and to version numbers to version update notification 2016-10-28 17:45:26 +01:00
Andrew Nelless
2de06b9727 #5707 Add support for upgrade notifications 2016-10-28 17:45:20 +01:00
Andrew Nelless
9f1e91cc76 Remove pointless call to curl_free 2016-10-28 17:45:18 +01:00
Jerry (Xinyu Hou)
0d4fd6dcef #5186 Reorder some functions call to make it clear 2016-10-28 06:00:11 -07:00
Jerry (Xinyu Hou)
c2372bc9a8 #5186 Remove accumulate fraction DPI calculation 2016-10-28 05:24:07 -07:00
Jerry (Xinyu Hou)
cf397a0d6f #5186 Remove Dpi calculation code 2016-10-28 04:50:06 -07:00
Andrew Nelless
7bae07d34e #5657 Merge trial support 2016-10-20 11:30:25 +01:00
Jerry (Xinyu Hou)
984ca48f34 Merge remote-tracking branch 'origin/issue5620-sierra' into v1.8.5 2016-10-19 10:54:31 +01:00
Jerry (Xinyu Hou)
dc4beba9e9 #5680 Stop deleting socket twice if it's been adopted by PacketStream 2016-10-18 16:48:32 +01:00
Andrew Nelless
020b7974df #5657 Fix trial warning label and serial key serialisation 2016-10-18 15:32:59 +01:00
Jerry (Xinyu Hou)
e65631c451 #5657 Fix wrong logic about checking if serial key expired 2016-10-18 13:02:36 +01:00
Andrew Nelless
5a34da3ce0 #5657 Refresh UI when synergys reports trial expired 2016-10-17 17:49:14 +01:00
Andrew Nelless
99dbdc5eb3 #5657 Use SerialKey class in ServerArgs 2016-10-17 17:38:05 +01:00
Andrew Nelless
599415f047 #5657 Only check trial times when using a trial 2016-10-17 17:11:30 +01:00
Andrew Nelless
8b4d7abfb0 #5657 Remove SerialKey::m_valid 2016-10-17 17:08:26 +01:00
Andrew Nelless
c7dc198d82 #5657 Fix SerialKey whitespace 2016-10-17 16:34:44 +01:00
Andrew Nelless
7eefa49c77 #5657 Fix SerialKey construction in unit tests 2016-10-17 16:12:33 +01:00
Andrew Nelless
714b2f6440 #5657 Make trial expiry notification live 2016-10-17 15:26:42 +01:00
Andrew Nelless
3ee9ac5d49 #5657 Remove C++11 enum qualifier 2016-10-15 15:49:36 +01:00
Andrew Nelless
4ad7c7fe39 #5657 Rename edition to activeLicense. WSFs 2016-10-15 15:30:28 +01:00
Andrew Nelless
d244683ac4 #5657 Merge core changes 2016-10-15 12:03:55 +01:00
Andrew Nelless
55414e4581 #5657 Make SubscriptionManager backward compatible 2016-10-14 17:38:31 +01:00
Jerry (Xinyu Hou)
89851fddc3 #5657 Exited server if trial is expired 2016-10-14 17:14:21 +01:00
Jerry (Xinyu Hou)
92b29276d0 #5657 Added serial argument in core 2016-10-14 13:51:27 +01:00
Jerry (Xinyu Hou)
dce4b382e6 #5657 Fixed passing in the raw serial key 2016-10-14 12:43:33 +01:00
Jerry (Xinyu Hou)
33ebe61ef2 #5657 Counted expiring within 1 day as 1 day left 2016-10-14 12:43:01 +01:00
Andrew Nelless
727fc5c220 #5659 Move activation notification to SubscriptionManager 2016-10-14 12:16:23 +01:00
Andrew Nelless
540882056f #5657 Create a global SubscriptionManager instance 2016-10-14 11:59:25 +01:00
Jerry (Xinyu Hou)
719e64dc8f #5657 Added missing dependencies on Linux and Windows 2016-10-13 18:07:21 +01:00
Jerry (Xinyu Hou)
235f528dd9 #5657 Added unit tests for SerialKey 2016-10-13 17:55:38 +01:00
Jerry (Xinyu Hou)
2a452307cd #5657 Fleshed out the implementation of SerialKey 2016-10-13 17:55:09 +01:00
Jerry (Xinyu Hou)
92a885524b #5657 Added temporary implementation for SerialKey 2016-10-13 14:00:19 +01:00
Jerry (Xinyu Hou)
92680b2877 #5657 Extracted shared code between GUI and core 2016-10-13 13:53:09 +01:00
Jerry (Xinyu Hou)
82e55702ef #5657 Removed serial key code from syntool 2016-10-13 11:20:43 +01:00
Jerry (Xinyu Hou)
4be9fc1800 Removed unused code 2016-10-13 11:18:03 +01:00
Jerry (Xinyu Hou)
d92fcd2453 #5657 Added version 2 trial serial key support 2016-10-13 11:15:38 +01:00
Andrew Nelless
5ea1fdc7c6 #5620 Remove deprecated NXClickTime call 2016-10-12 16:10:57 +01:00
Andrew Nelless
df88faaad8 #5620 Convert OSXScreen into Objective C++ 2016-10-12 15:43:01 +01:00
Andrew Nelless
2b9f48602c #5620 Make Xcode 8 happy with null cast 2016-10-12 15:09:29 +01:00
Andrew Nelless
964f1aa093 Merge changes made in v1.8.4 2016-10-12 10:41:44 +01:00
Andrew Magill
217eb475de #5183 Accumulate fractional moves across updates. 2016-10-06 15:42:29 +01:00
Andrew Nelless
6892664f4a Fix cast of XRRNotifyEvent 2016-10-05 15:10:40 +01:00
Andrew Nelless
360d5a7c17 Merge Linux xrandr branch into v1.8.4 2016-10-05 15:05:31 +01:00
Andrew Nelless
dd88e324d7 #4420 Send screen shape change event on Linux (xrandr) 2016-10-05 12:54:57 +01:00
Andrew Nelless
26c11ec3c9 Restore horrible reinterpret_casts in OSXUchrKeyResource 2016-10-05 12:46:17 +01:00
Andrew Nelless
602fd3f649 Restore safe reinterpret_casts in OSXKeyState 2016-10-05 12:46:17 +01:00
Andrew Nelless
8072594008 Restore safe reinterpret_casts in OSXClipboardBMPConverter 2016-10-05 12:46:17 +01:00
Andrew Nelless
19b9be4593 Restore safe reinterpret_casts in MSWindowsScreenSaver 2016-10-05 12:46:17 +01:00
Andrew Nelless
788f6eab9f Restore safe reinterpret_casts in MSWindowsScreen 2016-10-05 12:46:17 +01:00
Andrew Nelless
2a5dc62747 Restore safe reinterpret_casts in MSWindowsDesks 2016-10-05 12:46:17 +01:00
Andrew Nelless
f7ad162634 Fix up casts in MSWindowsClipboardBitmapConverter 2016-10-05 12:46:17 +01:00
Andrew Nelless
2e30dc2c68 Restore safe reinterpret_cast of Windows thread handle 2016-10-05 12:46:17 +01:00
Andrew Nelless
702f095efd Fix cast in Windows TaskBar 2016-10-05 12:46:17 +01:00
Andrew Nelless
7e386c0bf9 Fix cast of port number in Winsock 2016-10-05 12:46:16 +01:00
Andrew Nelless
d77b5f1176 Restore safe reinterpret_casts in Windows TaskBar 2016-10-05 12:46:16 +01:00
Andrew Nelless
5a03e37d15 Restore safe reinterpret_casts in misc Windows code 2016-10-05 12:46:16 +01:00
Andrew Nelless
a13dc92f2e Restore safe reinterpret_casts in SecureSocket 2016-10-05 12:46:16 +01:00
Andrew Nelless
16977788d3 Restore safe reinterpret_casts in XWindowsClipboardBMPConverter 2016-10-05 12:46:16 +01:00
Andrew Nelless
5b8fb69124 Partially de-reinterpret_cast XWindowsClipboard 2016-10-05 12:46:16 +01:00
Andrew Nelless
5272c9dde4 Restore safe reinterpret_casts in XWindowsUtil 2016-10-05 12:46:16 +01:00
Andrew Nelless
50807bfcb6 Restore safe reinterpret_casts in XWindowsScreen 2016-10-05 12:46:16 +01:00
Andrew Nelless
055370412c Restore safe reinterpret_cast in clipboard converter 2016-10-05 12:46:16 +01:00
Andrew Nelless
fb5e2bb171 Restore safe reinterpret_cast in readUInt32 2016-10-05 12:46:16 +01:00
Andrew Nelless
e81f7ab8c7 Replace unsafe casts with memcpy ops 2016-10-05 12:46:16 +01:00
Andrew Nelless
90c3dd6622 Restore evil-enabling reinterpret_cast in SocketMultiplexer 2016-10-05 12:46:16 +01:00
Andrew Nelless
0371002497 Restore use of reinterpret_cast in unicode routines 2016-10-05 12:46:16 +01:00
Andrew Nelless
f174614655 Remove bizarre cast of sockaddr to char* 2016-10-05 12:46:16 +01:00
Andrew Nelless
9ed9bde4e7 Restore use of reinterpret_cast for sockaddr_in 2016-10-05 12:46:16 +01:00
Andrew Nelless
f3d1470e58 Brutally replace all reinterpret_casts with static_casts 2016-10-05 12:46:16 +01:00
Andrew Nelless
e6a3caaf75 #5628 Fix net lib linkage on Ubuntu 2016-10-04 15:51:07 +01:00
Andrew Nelless
176d7e4725 #5617 Don't copy plugins directory on Windows 2016-10-03 19:47:55 +01:00
Andrew Nelless
45da1dfc7c #5628 Make enableCrypto directly enable SSL 2016-09-29 13:11:09 +01:00
Andrew Nelless
55a2d1231f #5628 Initialize SSL on secure client sockets 2016-09-29 13:11:09 +01:00
Andrew Nelless
0d84e4eed6 #5617 Make PacketStreamFilter adopt all socket types 2016-09-29 13:11:09 +01:00
Andrew Nelless
3b5940ac18 #5628 Restore copying of SSL libs on Windows 2016-09-29 13:11:09 +01:00
Andrew Nelless
5db78acab4 #5628 Link Synergy core against OpenSSL 2016-09-29 13:05:04 +01:00
Andrew Nelless
52c8763d97 #5617 Add SecureSocket to TCPSocketFactory 2016-09-29 13:05:04 +01:00
Andrew Nelless
6456271141 #5617 Remove plugin interface from Arch 2016-09-29 13:05:04 +01:00
Andrew Nelless
79fc6239fd #5617 Revert "Remove plugin interface from Arch"
This reverts commit 4613edc17ced61d6aca80cff661323ede0cb9d30.
2016-09-29 13:05:04 +01:00
Andrew Nelless
c3889667ba #5617 Remove online check for plugins 2016-09-29 13:05:04 +01:00
Andrew Nelless
b55b8f0038 #5617 Revert "Remove plugin args from ArgParser"
This reverts commit cd58a8f0d0abe344d8e31a817386f613c7acde25.
2016-09-29 13:05:04 +01:00
Andrew Nelless
b1a991e8cd #5617 Revert "Remove plugin directory support"
This reverts commit fc697d2ab79bbd2d607c97658c986b629a1280ed.
2016-09-29 13:05:04 +01:00
Andrew Nelless
45ef3e1080 #5617 Remove plugin interface from Arch 2016-09-29 13:05:04 +01:00
Andrew Nelless
77d6b83b0c #5617 Remove stray PluginVersion includes 2016-09-29 13:05:04 +01:00
Andrew Nelless
a2ad4cb0dc #5617 Remove plugin args from ArgParser 2016-09-29 13:05:04 +01:00
Andrew Nelless
011da60cca #5617 Remove plugin infra from ClientApp 2016-09-29 13:05:04 +01:00
Andrew Nelless
85227f41a1 #5617 Remove plugin infra from ServerApp 2016-09-29 13:05:04 +01:00
Andrew Nelless
f7e588dfff #5617 Remove plugin directory support 2016-09-29 13:05:03 +01:00
Andrew Nelless
dc93b063b7 #5617 Remove plugin infra from TCPSocketFactory 2016-09-29 13:05:03 +01:00
Andrew Nelless
5774f5a291 #5617 Remove plugin infra from Client 2016-09-29 13:05:03 +01:00
Andrew Nelless
27ccddbea4 #5617 Remove plugin infra from ClientListener 2016-09-29 13:05:03 +01:00
Andrew Nelless
76b2558f1a #5617 Delete the plugin infrastructure 2016-09-29 13:05:03 +01:00
Andrew Nelless
665bd91dbd #5628 Move SSL socket code from plugin to lib/net 2016-09-29 13:04:57 +01:00
Andrew Nelless
c7bf59e6c1 Merge changes from v1.8.3 2016-09-26 15:33:57 +01:00
Andrew Nelless
c418d66f60 #3305 Rename macOS MediaKeySimulator to MediaKeySupport 2016-09-26 11:58:33 +01:00
Andrew Nelless
e76b4a7747 #3305 Send macOS media key events to clients 2016-09-26 11:58:33 +01:00
Andrew Nelless
1b0d4308e2 #3305 Map brightness keys correctly on macOS servers 2016-09-26 11:58:33 +01:00
Andrew Nelless
6294679fcd #3305 Detect media keys on macOS server 2016-09-26 11:58:33 +01:00
Andrew Nelless
6d5b2707c8 #3305 Add logging for unknown macOS events 2016-09-26 11:58:33 +01:00
Xinyu Hou
a17779e7fd #123 Disabled clipboard grab mechanism when clipboard is disabled 2016-09-26 11:58:33 +01:00
Xinyu Hou
ce4effa2c8 #123 Fixed warning on Linux 2016-09-26 11:58:33 +01:00
Xinyu Hou
eafc548b97 #123 Made disable clipboard take effect on client 2016-09-26 11:58:33 +01:00
Xinyu Hou
90673e8b87 #123 Added note about disabling clipboard 2016-09-26 11:58:33 +01:00
Xinyu Hou
673829f511 #123 Made disable clipboard take effect on server 2016-09-26 11:58:33 +01:00
Xinyu Hou
9c0bac7c7d Fixed indentations 2016-09-26 11:58:33 +01:00
Xinyu Hou
3c94310c9e #123 Read clipboard sharing option and pass it to all clients 2016-09-26 11:58:33 +01:00
Xinyu Hou
d78758ab7d Fixed indentation 2016-09-26 11:58:33 +01:00
Xinyu Hou
dc80ab4023 #4740 Sent heartbeat message between each chunk message 2016-09-26 11:58:33 +01:00
Xinyu Hou
d8ace7fb4a #4740 Used global const rather than macro 2016-09-26 11:58:33 +01:00
Xinyu Hou
8ab69a22ae #4740 Forced delay on heartbeat rather than each clipboard chunk 2016-09-26 11:58:33 +01:00
Xinyu Hou
d14d907ac1 #4740 Removed clipboard interrupt code 2016-09-26 11:58:33 +01:00
Andrew Nelless
fc6ce84ee4 Don't pollute the log with clipboard data at DEBUG2 2016-09-26 11:58:33 +01:00
Xinyu Hou
ceecee0f57 #4740 Used safer static cast 2016-09-26 11:58:33 +01:00
Xinyu Hou
71741da721 #4740 Only adopted non-SSL socket 2016-09-26 11:58:33 +01:00
Xinyu Hou
07f7baf335 #4740 Passed IDataSocket directly 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
61c0bd1910 Removed unused variable 2016-09-26 11:58:33 +01:00
XinyuHou
f2846b1586 Remove disconnect on retry exceed 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
16dbb7cd6a Fixed using the wrong variable name 2016-09-26 11:58:33 +01:00
XinyuHou
a471bdcea7 Made a own copy of ClientArgs in Client 2016-09-26 11:58:33 +01:00
XinyuHou
a12ae98e9f Used parent pointer for socket accept 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
e1be5a66b7 Used correct event target 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
6d86a6033f Removed dead code 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
e0819b86cd Conflicts:
src/lib/plugin/ns/SecureSocket.cpp
2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
07902d623c Removed dead code 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
08a73218e6 Refactored secure read and write into SecureSocket 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
61b489ab3d Refactor write and read into functions 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
436e333f6f Fixed indentations 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
3df75f9601 Conflicts:
src/lib/server/ClientListener.cpp
2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
e1be67cfb6 Fixed indentations
Conflicts:
	src/lib/client/Client.h
2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
95464d97cf Conflicts:
src/lib/client/Client.cpp
	src/lib/net/TCPSocketFactory.cpp
2016-09-26 11:58:33 +01:00
XinyuHou
e32402b5c6 #4740 Moved clipboard transfering back into main thread on server 2016-09-26 11:58:33 +01:00
XinyuHou
4ad2c6b10d #4740 Moved clipboard transfering back into main thread on client 2016-09-26 11:58:33 +01:00
XinyuHou
82043ca435 #4740 Used the same chunk size for secure and non-secure sockets 2016-09-26 11:58:33 +01:00
XinyuHou
3e1a86c3c1 #5502 Reverted disabled sending clipboard on inactive grab
This reverts commit 2ad4b896f3.
2016-09-26 11:58:33 +01:00
Andrew Nelless
c3c0913633 Update company copyright notice 2016-09-26 11:58:33 +01:00
Andrew Nelless
36be2051c2 Change company domain name 2016-09-26 11:58:33 +01:00
Andrew Nelless
7d11004575 #4768 Expand scope of X display lock in getCurrentTime() 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
de91be1035 #2765 Added unit tests for KeyMap 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
2ffaf42faa #2765 Made index output 1 based 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
adaf325e6f #2765 Made sure extra sensitive modifier is not down on exact match 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
b80760bb2d #2765 Matched exactly only when all required modifiers are ready down 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
178b7cc673 #2765 Made sure required modifiers already down when map command keys 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
7a0fae2f6c #2765 Fixed wrong bit shifting to match OSX modifier mask 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
57950d39a3 Revert "Revert "Used input source ID as the key in group map #2765""
This reverts commit a70cba80ea.
2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
c772a59572 Revert "Revert "Made index 1 based in log #2765""
This reverts commit fec53e812f.
2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
f4bd2dab82 #3305 Fixed class name convention for Mac and Linux 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
b27a59fb0d #3305 Fixed class name convention from porting code 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
df8443e795 #3305 Fixed Linux key types incompatible issue 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
1a4a313ece #3305 Added mission control and launchpad support 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
ab4f59eac4 #3305 Made Mac clients aware of brightness keys 2016-09-26 11:58:33 +01:00
Xinyu Hou (Jerry)
67f14da691 #3305 Added brightness up and down support 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
bd0d8e7321 #3305 Added default implementation for fakeMediaKey for Linux and Mac 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
d9a6c14170 #3305 Used Mac native way to simulate media keys 2016-09-26 11:58:33 +01:00
XinyuHou
c5d5d5cba0 #4978 Made VersionHelper Windows specific 2016-08-08 16:41:01 +01:00
Andrew Nelless
04184b51ea #4978 Removed deprecated usage of GetVersionEx 2016-08-08 16:41:01 +01:00
Andrew Nelless
3ead310161 #4978 Fixed HANDLE string formatting on 64bit Windows 2016-08-08 16:41:01 +01:00
Andrew Nelless
bc24568a6f #4978 Removed deprecated GetVersionEx call when checking Windows version 2016-08-08 16:41:01 +01:00
Andrew Nelless
74c48c6516 #4978 Removed getOSName impl relying on deprecated GetVersionEx 2016-08-08 16:41:01 +01:00
Jake Petroules
433cfc232c #4978 Removed obsolete code for unsupported OS versions. 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
d37d3e8944 #4978 Replaced the superseded SetWindowLong API 2016-08-08 16:41:01 +01:00
Andrew Nelless
13e8047967 #4978 Conditional linking C runtime lib 2016-08-08 16:41:01 +01:00
Andrew Nelless
c2b6b60cec #4978 Compile core on VS2015 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
42494a72a5 #3305 Fixed class name convention for Mac and Linux 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
10a1ae8271 #3305 Fixed class name convention from porting code 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
e742269ada #3305 Fixed Linux key types incompatible issue 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
8f99911636 #3305 Added mission control and launchpad support 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
1f78fe6f6d #3305 Made Mac clients aware of brightness keys 2016-08-08 16:41:01 +01:00
Xinyu Hou (Jerry)
8058ed06a1 #3305 Added brightness up and down support 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
d3814cc454 #3305 Added default implementation for fakeMediaKey for Linux and Mac 2016-08-08 16:41:01 +01:00
Jerry (Xinyu Hou)
9115d5570b #3305 Used Mac native way to simulate media keys 2016-08-08 16:41:01 +01:00
Andrew Nelless
f6e1dd51fa #4768 Workaround locking issue in X11 getCurrentTime() 2016-08-08 14:38:26 +01:00
Andrew Nelless
8a4caba386 #5087 Ensure createBlankCursor() doesn't try to create 0x0 cursor
XQueryBestCursor sometimes returns 0 for both width and height of the
cursor pixmap. Also caused #5322 and #5068
2016-08-08 14:38:26 +01:00
Jerry (Xinyu Hou)
47ef8b09bd #4768 Reset thread when it finishes 2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
725cc7a2f8 #4922 Increased server help message buffer 2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
683d9b3786 Revert "Check list in a reverse order #2765"
This reverts commit 3de98a2f44a20449468496d47f5642b534a80cf6.
2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
fec53e812f Revert "Made index 1 based in log #2765"
This reverts commit 177c2764259c097d0f0f0fa6e081c42bcef91ce5.
2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
a70cba80ea Revert "Used input source ID as the key in group map #2765"
This reverts commit 4208e89eaec211d332af9ac7b977107d6712e8dd.
2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
2ad4b896f3 #4768 Disabled sending clipboard on inactive grab 2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
83c0dea2e4 #4792 Calculated log message size rather than using fixed size 2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
18c2c90144 #3044 Stopped attach hook thread to foreground 2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
9caa04237c Refined file transfer log output 2016-08-08 14:36:43 +01:00
Jerry (Xinyu Hou)
30fa5223bc #4768 Fixed race condition on active client proxy switch 2016-08-08 14:36:42 +01:00
Jerry (Xinyu Hou)
1a76acd446 #4768 Interrupted both clipboards 2016-08-08 14:36:42 +01:00
Jerry (Xinyu Hou)
80292961ad Continue after close old process #5277 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou)
17c35f53f4 Applied name convention to KeyResource #2765 2016-08-08 14:27:13 +01:00
Jerry (Xinyu Hou)
8003c4a2ad Made IKeyResource OSX specific #2765 2016-08-08 14:27:13 +01:00