Commit Graph

1172 Commits

Author SHA1 Message Date
Povilas Kanapickas b376b3ae68 Remove no longer used mutex implementation 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 734588827f lib/arch/win32: Use standard mutex primitives in threading utilities 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 959306fb1b lib/arch/win32: Use standard mutex primitives in daemon code 2021-11-03 03:47:47 +02:00
Povilas Kanapickas c59074835f lib/arch/win32: Use standard mutex primitives in networking code 2021-11-03 03:47:47 +02:00
Povilas Kanapickas aa1c3ae7a4 lib/arch/win32: Use standard mutex primitives in ArchTaskBarWindows 2021-11-03 03:47:47 +02:00
Povilas Kanapickas cdbf0dc15c lib/barrier: Use standard mutex primitives in PacketStreamFilter 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 78c652da42 lib/platform: Remove unused includes 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 2655e4cca6 lib/platform: Use standard mutex primitives in Windows desks code 2021-11-03 03:47:47 +02:00
Povilas Kanapickas da673de27c lib/platform: Use standard mutex primitives in OSX screen code 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 9df64f36e3 lib/platform: Use standard mutex primitives in X server event queue 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 0a89b5abfe lib/ipc: Use standard mutex primitives in IpcLogOutputter 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 489f45fc94 lib/arch: Add IArchMultithread::wait_cond_var() for standard mutex 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 836a65cda4 lib/net: Use standard mutex primitives in TCP socket code 2021-11-03 03:47:47 +02:00
Povilas Kanapickas cbf22ad589 lib/net: Use standard mutex primitives in socket multiplexer 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 27de30e761 lib/base: Use standard mutex primitives in event queue buffer 2021-11-03 03:47:47 +02:00
Povilas Kanapickas cb69469871 lib/base: Use standard mutex primitives in EventQueue 2021-11-03 03:47:47 +02:00
Povilas Kanapickas c16581b399 lib/base: Rename m_mutex to mutex_ in EventQueue 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 62913ab748 lib/barrier: Remove unused code 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 8586b0a581 lib/arch: Use standard mutex primitives in BSD network impl 2021-11-03 03:47:47 +02:00
Povilas Kanapickas 9e7982f8ec lib: Switch ArchMutexLock to use std::unique_lock behind the scenes 2021-11-03 03:47:47 +02:00
Povilas Kanapickas cd356d7c3d arch: Use standard mutex utilities as underlying implementation 2021-11-03 03:47:47 +02:00
Chih-Hsuan Yen dd3ea8adfe lib/platform: Fix encoding for text copied between linux and windows
Copied from https://github.com/symless/synergy-core/pull/7029. I don't
include the application/x-moz-nativehtml part in that patch as I already
added it in https://github.com/debauchee/barrier/pull/1164.

Fixes https://github.com/debauchee/barrier/issues/1037
Fixes https://github.com/debauchee/barrier/issues/1137

Original author: Serhii Hadzhilov <serhii-external@symless.com>
2021-11-03 03:12:41 +02:00
Povilas Kanapickas d7de571fdc lib/net: Simplify handling of socket multiplexer jobs 2021-11-01 14:41:53 +02:00
Povilas Kanapickas d2c106db53 lib: Pass jobs to barrier::Thread as std::function 2021-11-01 14:41:53 +02:00
Povilas Kanapickas 53356697d9 lib/arch: Pass jobs to Arch threads as std::function 2021-11-01 14:41:53 +02:00
Povilas Kanapickas 9cf590ccd7 lib: Make ThreadFunc return nothing 2021-11-01 14:41:53 +02:00
Povilas Kanapickas 815e80ec4d lib: Remove unused threading functionality related to thread results 2021-11-01 14:41:53 +02:00
Povilas Kanapickas 666460aced lib/platform: Use std::function instead of IJob in MSWindowsDesks 2021-11-01 14:41:53 +02:00
Povilas Kanapickas f0efe043bb lib/net: Fix incorrect sharing of data between different SSL sessions 2021-11-01 14:05:49 +02:00
Povilas Kanapickas 8b937a4abd lib/net: Fix race conditions when closing SSL connections
This fixes the following security vulnerability:
- CVE-2021-42074 SIGSEGV on quick open/close sequence while sending
Hello message

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 14:05:49 +02:00
Povilas Kanapickas caeebf6c36
Merge pull request #1350 from p12tic/fix-file-handles-leak
Fix file descriptor leak on incomplete connections [SECURITY VULNERABILITY CVE-2021-42075]
2021-11-01 14:04:45 +02:00
Povilas Kanapickas deefecc262 lib/server: Close connection when client app-level handshake fails
This fixes the following security vulnerability:
 - CVE-2021-42075 DoS via file descriptor exhaustion

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:58:21 +02:00
Povilas Kanapickas 20f66fe133 lib/common: Clean up declarations of {S,U}Int{8,16,32} types 2021-11-01 05:56:53 +02:00
Povilas Kanapickas 676fa39f9a lib/platform: Switch remaining ObjC source files to ObjC++ 2021-11-01 05:56:53 +02:00
Povilas Kanapickas 00e182d22e
Merge pull request #1347 from p12tic/enforce-max-message-length
Enforce max message length [SECURITY VULNERABILITY CVE-2021-42076]
2021-11-01 05:56:38 +02:00
Povilas Kanapickas e8ac56b045 lib/net: Include openssl applink shim into Windows builds 2021-11-01 05:48:26 +02:00
Povilas Kanapickas fd5295eb31 lib/barrier: Disconnect client on too long input packets
This commit is the 3/3 part of the fix for the following security
vulnerability:
 - CVE-2021-42076 DoS via excess length messages

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:18:53 +02:00
Povilas Kanapickas af90f39b4a lib/net: Limit the maximum size of TCP or SSL input buffers
This commit is the 2/3 part of the fix for the following security
vulnerability:
 - CVE-2021-42076 DoS via excess length messages

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:18:52 +02:00
Povilas Kanapickas e33c81b835 lib: Enforce a maximum length of input messages
This commit is the 1/3 part of the fix for the following security
vulnerability:
 - CVE-2021-42076 DoS via excess length messages

The issue has been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 05:18:51 +02:00
Povilas Kanapickas cc369820d4 lib/server: Remove unused code 2021-11-01 05:18:50 +02:00
Povilas Kanapickas 7ab8e0101d lib/server: Add a note about taking pointer to virtual member function 2021-11-01 05:18:49 +02:00
Povilas Kanapickas 165100a0d2 gui: Extract barrier type to separate enum 2021-11-01 04:50:16 +02:00
Povilas Kanapickas 229abab99f Implement client identity verification
This commit fixes two security vulnerabilities: CVE-2021-42072 and
CVE-2021-42073.

The issues have been reported by Matthias Gerstner <mgerstner@suse.de>.
2021-11-01 04:50:15 +02:00
Povilas Kanapickas 57769cffda lib/net: Pass connection security level to within socket classes 2021-11-01 04:50:13 +02:00
Povilas Kanapickas 5c7d7194d5 lib/net: Use enum for connection security level instead of boolean 2021-11-01 04:50:12 +02:00
Povilas Kanapickas 82b8fa905e lib/net: Improve name of showCertificate() to reflect what it does 2021-11-01 04:50:11 +02:00
Povilas Kanapickas 133e447fb6 lib/net: Don't hardcode fingerprint DB path in verify_cert_fingerprint() 2021-11-01 04:50:10 +02:00
Povilas Kanapickas 4d73ed9fdd lib/net: Present client certificate when connecting to server 2021-11-01 04:50:07 +02:00
Povilas Kanapickas c0ce893711 lib/net: Load client SSL certificates when connecting 2021-11-01 04:50:05 +02:00
Povilas Kanapickas b76b332f2f lib/common: Move SSL certificate path definition to common location 2021-11-01 04:29:53 +02:00