Commit graph

270 commits

Author SHA1 Message Date
sithlord48
c6778dc9be refactor: use more if and switch init-statements 2025-07-07 17:53:56 +01:00
sithlord48
865365b2fa chore: add noreturn to more methods 2025-07-07 17:53:56 +01:00
sithlord48
0100cb796e chore: SecureSocket remove unused MAX_ERROR_SIZE define , rename MAX_INPUT_BUFFER_SIZE static to confirm to naming convention 2025-07-07 17:53:56 +01:00
sithlord48
e42d3b45b6 refactor: SocketMultiplexer, do not create nested pointer in new Thread call 2025-07-07 17:53:56 +01:00
sithlord48
ab4fbd1c85 refactor: use using enum EventTypes when possible to reduce verbosity 2025-07-03 03:24:16 +00:00
sithlord48
8f6f014bcd refactor: IArchNetwork turn anonymous enum into PollEventMask struct with set of static values 2025-07-03 03:24:16 +00:00
sithlord48
47d44db497 refactor: make EStreamType enum Class StreamType, and conform members to naming conventions 2025-07-03 03:24:16 +00:00
sithlord48
879283f46f refactor: Make IArchNetwork::EAddressFamily enum class IArchNetwork::AddressFamily
confirm AddressFamily items to naming convention
2025-07-03 03:24:16 +00:00
sithlord48
e06b6b0be4 refactor: XSocket, new XSocketWithWhat subclass used to reduce duplication in XSocket subclasses that have a common with method 2025-06-30 20:55:06 +01:00
sithlord48
958e14cb13 refactor: remove XBASE related macros, fixes #8723 2025-06-30 20:55:06 +01:00
sithlord48
06a616ef42 refactor: secureSocket uniqueprt for Ssl object
based on: 89d8ce20b0
2025-06-19 19:13:24 +01:00
sithlord48
dbc7aebfbc refactor: free SecureSocket cert after use 2025-06-19 18:56:14 +01:00
sithlord48
3a35b183d3 refactor: use std::function for Event callback
based on 6d347337c3
2025-06-18 13:17:16 +01:00
sithlord48
c15214aee7 refactor: use std::scoped_lock inplace of std::lock_guard 2025-06-17 10:23:42 +01:00
sithlord48
5fd4d93f7f refactor: replace ARCH->sleep(...) calls with Arch::sleep(...) 2025-06-17 10:23:42 +01:00
sithlord48
5686d24626 refactor: use std::mutex in net/TCPListenSocket 2025-06-14 09:37:48 +01:00
sithlord48
5430625a7e refactor: handle read and write on tcpsocket at the same time
port 94f8336af5
2025-06-14 08:44:21 +01:00
Povilas Kanapickas
0b4a2e0e5b chore: use std::unique_ptr for IDataSocket
port-of input-leap/836e08b0642ad158ecedc44e59a3bd3c61b56141
ported-by sithlord48
2025-05-28 09:54:04 +01:00
sithlord48
e6a374369b chore: use const for more local ref and pointer vars 2025-05-28 09:42:08 +01:00
sithlord48
9c56fa5dda chore: Combine unnessessary multi level if into less fewer checks 2025-05-28 09:42:08 +01:00
sithlord48
aa1eaf601c chore: SecureUtils, do not use final for stringVar name 2025-05-28 09:42:08 +01:00
sithlord48
475b895755 chore: initialize class vars using the order class define, initilizer list, constructor 2025-05-23 10:19:11 -07:00
sithlord48
a33574e1bd chore: use more ranged for loops 2025-05-22 20:46:41 +01:00
sithlord48
fe12972e83 chore: use const pointer / ref where possible 2025-05-22 20:46:41 +01:00
sithlord48
04805d9a7e chore: mark explicit methods 2025-05-22 20:46:41 +01:00
sithlord48
3cf0fb89ef chore: add comment to empty methods 2025-05-20 16:20:07 +01:00
sithlord48
c224cd4661 chore: declare const methods recommened by sonar 2025-05-20 16:20:07 +01:00
sithlord48
0ff72441e6 chore: use c++17 style if,switch init-initilizer where possible
chore: correct spelling of "colon" in NetworkAddresses variables
chore: correct some multi line defines near needed init-initilizers
2025-05-20 16:20:07 +01:00
sithlord48
bdffda9a2f chore: replace typedef with using 2025-05-20 16:20:07 +01:00
sithlord48
332e6c4a4d refactor: do not write sha1 to localdb and no longer send sha1 as part of comparison 2025-05-15 15:46:16 +01:00
sithlord48
0309d35aef feat: port fingerprint info into Qt
mv FingerprintData -> Fingerprint
2025-05-13 11:32:02 -04:00
sithlord48
55a7fa3266 Port simplified EventTypes from 8b23570379 2025-05-05 17:17:01 -04:00
sithlord48
5801b92636 chore: XSocket use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
b427ac91c2 chore: TCPSocketFactory use default for deconstructor 2025-05-02 12:12:17 +01:00
sithlord48
e87c596fbe chore: SecureSocket, add missing nullptr replacement 2025-05-02 12:12:17 +01:00
sithlord48
02b2b82c7f chore: TCPSocketFactory, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
aac086ad2a chore: TCPSocket, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
0d3f7248ed chore: SecureSocket, use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
a298cc84ad chore: SocketMultiplexer, Use auto where possible 2025-04-28 13:50:43 +01:00
sithlord48
63d65bb47b chore: use nullptr where possible in place of NULL 2025-04-28 13:08:40 +01:00
sithlord48
41fda741b3 chore: Use override for override methods 2025-04-28 11:27:33 +01:00
sithlord48
45b6ff19e7 chore: remove StdExcept and include stdexcept directly where needed
remove _NOEXCEPT define and just use throw()
2025-03-21 11:42:32 +00:00
sithlord48
498ffe85c3 chore: remove StdSet and include set directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
cd3f9b2e7d chore: remove StdMap and include map directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
42b16efdb9 chore: remove StdList and include list directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
003f87db9e chore: remove StdVector and include vector directly where needed 2025-03-21 11:42:32 +00:00
sithlord48
13c325eb3f chore: rename lib/common/stdvector.h => lib/common/StdVector.h 2025-03-20 13:06:45 +00:00
sithlord48
a3ad66dfb0 chore: rename lib/common/stdset.h => lib/common/StdSet.h 2025-03-20 13:06:45 +00:00
sithlord48
3bad718bb7 chore: rename lib/common/stdmap.h => lib/common/StdMap.h 2025-03-20 13:06:45 +00:00
sithlord48
40c10766f3 chore: rename lib/common/stdlist.h => lib/common/StdList.h 2025-03-20 13:06:45 +00:00
sithlord48
099262d8ce chore: rename lib/common/common.h => lib/common/Common.h 2025-03-20 13:06:45 +00:00
sithlord48
ce17167248 chore: rename lib/io/filesystem => lib/io/Filesystem 2025-03-20 13:06:45 +00:00
sithlord48
9e78cb55aa chore: rename lib/base/finally.h => lib/base/FinalAction.h 2025-03-20 13:06:45 +00:00
sithlord48
ffbe2cf885 refactor: use Settings for secure connect certificate path 2025-03-19 20:01:01 +00:00
sithlord48
b051c5ae60 refactor: new Setting::tlsTrustedClientssDb() method to return trusted client fingerprint db 2025-03-19 20:01:01 +00:00
sithlord48
38f00da704 refactor: new Setting::tlsTrustedServersDb() method to return trusted server fingerprint db 2025-03-19 20:01:01 +00:00
sithlord48
b7f29d76c3 refactor: use new Setting::tlsDir() method to return current tlsdir where needed 2025-03-19 20:01:01 +00:00
sithlord48
55601debe0 refactor: use Settings in SecureListenSocket for certificate path 2025-03-19 20:01:01 +00:00
Nick Bolton
24d1d4e620 refactor: Simplify lock_guard usage by removing explicit mutex type 2025-03-12 12:18:32 -04:00
Nick Bolton
bb38ad0766 chore: Rename TLS constants for consistency 2025-03-10 18:57:29 +00:00
sithlord48
24d5b26da2 build: remove extra private link to openssl::applink 2025-03-06 19:17:53 +00:00
sithlord48
9c81f1c045 build: moving find_package for openssl to net/CMakeLists.txt 2025-03-06 19:17:53 +00:00
Nick Bolton
9de268d293 chore: Reduce noisy log lines related to fingerprints not required by GUI 2025-03-03 13:31:18 -05:00
Nick Bolton
1f08cafffe fix: Use string data instead of path data for fingerprint logging 2025-03-03 13:31:18 -05:00
sithlord48
1003de21b5 refactor: do not show error if the fingerprint database is not created yet 2025-02-27 15:07:50 +00:00
sithlord48
b7eb5c467b feat: Remove Inverse Connections Option 2025-02-25 14:18:32 +00:00
sithlord48
f9b6bcc950 refactor: mv net/InverseSockets/SslLogger => net/SslLogger 2025-02-25 14:18:32 +00:00
sithlord48
e51956e2c7 feat: Client ID verification
based on barrier: 229abab
  Fixes: CVE-2021-42072, CVE-2021-42073
2025-02-17 16:26:29 +00:00
sithlord48
60c7e512f2 refactor: use enum for secure sockets
based on barrier: 57769cf
2025-02-17 16:26:29 +00:00
sithlord48
e996471e37 refactor: use enum for connections security level
based on barrier: 5c7d719
2025-02-17 16:26:29 +00:00
sithlord48
3e7b14cbd4 fix: Attempt to load SSL certs when connecting
based on barrier: c0ce8937, 4d73ed9f
2025-02-17 16:26:29 +00:00
sithlord48
fbaa0a8433 feat: use sha256
based-on: a428b61c7d
 based-on: b7757fbd68
 based-on: a238b27879
2025-02-12 13:41:45 +00:00
sithlord48
743c3feef3 refactor: use FingerprintData for fingerprints
based-on: 7cced74119
2025-02-12 13:41:45 +00:00
sithlord48
d0d5182425 refactor: use new Fingerprint database
based-on: 50534ecb43
   based-on: be8ba0d132
2025-02-12 13:41:45 +00:00
sithlord48
298b1047c4 refactor: add ssl consts into common/constansts 2025-02-12 13:41:45 +00:00
Vamshi Maskuri
aaa64e986e feat!: Add support for FingerPrintDatabase 2025-02-12 13:41:45 +00:00
sithlord48
2058519e57 refactor: generate Certs using secureUtils method 2025-02-12 13:41:45 +00:00
sithlord48
5a71d63923 refactor: secureutils add pemFileCertFingerprint 2025-02-12 13:41:45 +00:00
sithlord48
fb32f141cc refactor: secureUtils fingerprint method
Signed-off-by: sithlord48 <sithlord48@gmail.com>
2025-02-12 13:41:45 +00:00
sithlord48
39da277ead refactor: use vector<uint8_t> for keys 2025-02-12 13:41:45 +00:00
sithlord48
a98f2d745e refactor: move SecureSocket::formatFingerprint -> SecureUtils std::string formatSSLFingerprint
based on 0e406d4918
         9d8e1faf59
         b793675ef8
2025-02-12 13:41:45 +00:00
sithlord48
43c6bec790 Revert "feat!: Add support for FingerPrintDatabase"
This reverts commit 8f219b735e.
2025-01-28 19:31:03 -05:00
Vamshi Maskuri
8f219b735e feat!: Add support for FingerPrintDatabase 2025-01-28 20:33:11 +00:00
sithlord48
1085df54ed refactor: Reuse compliance
build files and documentation: MIT
  images / sources: GPL-2.0-only
  breeze icons: LGPL-2.0-only
  Microsoft MSM file, vc redist license
2025-01-27 17:05:47 -05:00
sithlord48
9b1489384c chore: String toHex should return a string not do inplace conversion 2025-01-25 15:43:44 +00:00
sithlord48
793f40e582 chore: remove basic_types.h 2025-01-14 20:30:45 +00:00
sithlord48
96092df4fc refactor: replace UInt32 with uint32_t 2025-01-14 20:30:45 +00:00
sithlord48
ba11eba91e refactor: replace UInt8 with uint8_t 2025-01-14 20:30:45 +00:00
sithlord48
3991e0c1a1 refactor: use std::string in place of String
basedon: https://github.com/debauchee/barrier/pull/709
2025-01-08 00:11:34 +00:00
Vamshi Maskuri
ab44559df6 fix(CVE-2021-42076): Enforce maximum message length to prevent memory exhaustion
based on barrier: debauchee/barrier@7ab8e01, debauchee/barrier@cc36982,
debauchee/barrier@e33c81b, debauchee/barrier@af90f39, debauchee/barrier@fd5295e
2024-12-26 10:45:21 +00:00
Vamshi Maskuri
626e8c7364 fix(CVE-2021-42074): Handle SSL race conditions and segmentation fault
based on barrier: debauchee/barrier@8b937a4
2024-12-26 10:24:22 +00:00
sithlord48
2349ce7f52 chore: replace simple cases of typedef with using 2024-12-04 10:40:58 -05:00
sithlord48
46a6f74fb7 build: rm DESKFLOW_APP_ID define 2024-11-15 12:20:17 +00:00
sithlord48
e8010eea60 build(lib/net): Explicit sources 2024-10-24 15:11:03 -04:00
sithlord48
9b9ecb0d05 chore: Adjust Clang-format linter rules
120 Column Lines
 Block Indent for Bracket Align
 Custom Line Break Rules
 No Single Line Functions
2024-10-17 21:38:29 +01:00
Nick Bolton
9c4f6e6d0b chore: Change TLS dir to same as Qt config 2024-10-14 17:43:30 +01: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
Nick Bolton
6bb1bcad8c chore!: Relocate commercial code downstream 2024-10-01 14:39:05 +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
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