Commit graph

110 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Ignacio Rodriguez
6656e7337d as per Sonar recommendations 2020-11-03 17:52:56 +07: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
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
Jamie Newbon
dc363d66ab #6611 Updated untrusted server dialog to show sha256 fingerprint 2020-01-09 10:03:40 +00:00
Jamie Newbon
b641d4b337 Fixed build issue on Windows unable to find iterator 2019-11-14 16:14:11 +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
Jnewbon
3a05f732fc
#6390 Updated OpenSSL For better security with TLS1.3 2019-08-02 13:11:47 +01:00
walker0643
a205544b3d #6526 Fixed crash when socket is null on handling TCP connection, and added some logging 2019-07-02 13:51:32 +01:00
walker0643
80e14562f7 #6525 Removed sleep before TLS socket delete, and fix race condition by removing socket from job queue 2019-07-02 13:49:09 +01:00
walker0643
fb27752e3e #6521 Fixed access violation in SSL sockets 2019-07-02 13:30:16 +01:00
Jnewbon
a56abf68dd
#6488 Fixed a memory leak in the TLS socket code 2019-04-29 13:56:08 +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
fc6cc78738 #6380 Fixed rogue include that I didn't end up using 2018-08-01 14:43:15 +01:00
Nick Bolton
8dc868a206 #6380 Fixed warnings for VS2017 2018-08-01 13:03:41 +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
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
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
a73b65431b Fix showSecureCipherInfo() to build with OpenSSL 1.1.0 2017-05-05 01:27:25 +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
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)
2a333b7fbf Copy binaries and libs into ROOT/bin 2017-02-07 01:24:32 +00: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
a13dc92f2e Restore safe reinterpret_casts in SecureSocket 2016-10-05 12:46:16 +01:00