Commit graph

310 commits

Author SHA1 Message Date
Sean Cross
dc0a85d34f fix: net: use an exception in NetworkAddress::resolve()
Instead of asserting that the number of resolved ipv4 addresses is nonzero,
throw an exception. This will prevent the core from aborting if the host has
no ipv4 addresses.

The host can get into this state if the remote device loses its ipv4
advertisement midway through resolving, such as if an mdns host unpublishes
its ipv4 address as a result of going into a low-power state.

Signed-off-by: Sean Cross <sean@xobs.io>
2025-11-03 10:04:43 -05:00
sithlord48
8c6fa880b4 refactor: SecureSocket do not set retry on failure to false when disconnecting 2025-10-29 08:32:58 -04:00
sithlord48
83e0a6b1ea refactor: SSL_Options, ignore client disconnect w/o close message 2025-10-29 08:32:58 -04:00
sithlord48
8d0c1af032 chore: IListenSocket remove unneeed overrides of nothing 2025-10-27 15:36:40 +00:00
sithlord48
2b83a0ac0f chore: IDataSocket remove unneeed overides of nothing 2025-10-27 15:36:40 +00:00
sithlord48
ed8e71072e refactor: use first(n) in place of mid(0, n) 2025-10-17 09:07:21 +01:00
sithlord48
5978694d95 chore: remove unused ArgParser 2025-09-30 06:39:54 -04:00
sithlord48
d98f8a524d remove: argsBase 2025-09-30 06:39:54 -04:00
sithlord48
a8348b1ccb refactor: move tls-cert to coreArgs 2025-09-30 06:39:54 -04:00
sithlord48
7f7e7de841 chore: SecureSocket serviceConnect / serviceAccept make anonymous ISocketMultiplexer a pointer const 2025-09-25 15:01:17 +01:00
Nick Bolton
c234f2fc66 fix: Do not reuse listen sockets on Windows 2025-09-25 14:00:48 +01:00
sithlord48
c4c2f7f37f feat: begin to use QStrings for strings
feat: get windows building with the UNICODE forced by using Qt
refactor: remove ARCHString use QString to convert to / from utf8
build: (arch) link to common
build: (base) link to arch
build: (io) Link to common
build: (client) link to common
build: (server) link to common
fix: Append to log file instead of creating a new one each log line
refactor: Trim cipher description for neater log output
fix: Update log messages to use wide string format for Unicode support
fix: Correct event creation to use wide string for Unicode compatibility
refactor: Use QStringDecoder for UTF-8 handling on Windows Daemon child process
fix: Use correct wide type for Win32 consts
2025-09-10 18:15:19 +01:00
sithlord48
30ce0bdf45 refactor: SecureSocket, remove names for unused parameters for socket service accept and serviceConnect 2025-09-05 11:52:17 +01:00
sithlord48
dd66dd21bb refactor: IDataSocket, add maybe_unused for constructors event pointer 2025-09-05 11:52:17 +01:00
sithlord48
cba3881f41 refactor: Move all messages that are checked for by GUI in the log to new IPC Level so the gui can work with any filter level 2025-08-28 00:45:40 +01:00
sithlord48
97e3524a24 build: SecureSocket, include io/FileSystem in SecureSocket.cpp 2025-08-22 09:54:20 +01:00
sithlord48
299ebea0e2 refactor: replace QString::toStdString().c_str with qPrintable(...) 2025-08-22 09:54:20 +01:00
sithlord48
bcb6c368b1 refactor: remove unneeded common/Common includes 2025-08-18 11:45:21 +01:00
sithlord48
4eec183598 refactor: remove IInterface class, that only adds a virtual construcor 2025-08-18 11:45:21 +01:00
sithlord48
85d89f9846 refactor: XArch Classes => Arch Exception Classes 2025-08-11 17:14:45 +01:00
sithlord48
9601180e1b refactor: XBase Classes => BaseException 2025-08-11 17:14:45 +01:00
sithlord48
1b04b1137c refactor: XIO Classes => IOException Classes 2025-08-11 17:14:45 +01:00
sithlord48
ada2813f9f refactor: XSocket Classes => XSocketException Classes 2025-08-11 17:14:45 +01:00
sithlord48
2a84ef0ebf refactor: update log calls to LOG_... fixes #8819 2025-08-06 16:18:38 +01:00
sithlord48
4955e8c2ba refactor: Fingerprint, KeyMap, KeySequence and Action use default == operator 2025-08-06 11:44:38 +01:00
sithlord48
d321e2a874 refactor: TCPSocket Init m_socket before m_events 2025-08-06 11:44:38 +01:00
sithlord48
cfccee1592 refactor: TCPSocket, make m_events private access via getEvents method 2025-08-04 13:46:27 +01:00
sithlord48
0c728beb01 refactor: TCPListenSocket, replace make protected members private, use protected methods to acces them in the subclasses 2025-08-04 13:46:27 +01:00
sithlord48
4f9b042f5a refactor: explicit constructor for PlatformScreen, FileTail, FunctionJob, FunctionEventJob, ServerConfig, ScreenSettingsDialog, KeySequenceWidget, NetworkAddress, AddClientDialog, ConfigReadContext, LockCursorToScreenAction, RestartServer And KeyboardBroadcastAction 2025-08-04 13:46:27 +01:00
sithlord48
e69be64773 refactor: remove redundant != operators c++20 std will generate the !=operator as long as the class has an ==operator 2025-08-01 13:03:51 -04:00
sithlord48
74bbd5af25 chore: Fingerprint, remove unneed private label in struct 2025-08-01 13:03:51 -04:00
sithlord48
9db11a90eb refactor: TCPSocket, new protected methods to access m_readable, m_writable and m_connected, use them in place of direct access and make the variables private
TCPSocket, remove duplicate private and protected sections in header
2025-07-17 18:47:50 +01:00
sithlord48
c327c80d63 refector: TCPListenSocket, remove duplicate public in header, make m_mutex private 2025-07-17 18:47:50 +01:00
sithlord48
d1b810baa5 refactor: use std::size to get size of arrays 2025-07-17 18:47:50 +01:00
sithlord48
6ca980e3e5 refactor: XSocket::EError => XSocket::SocketError enum class 2025-07-11 03:06:24 -07:00
sithlord48
94be5f7498 refactor: TCPSocket::EJobResult => enum class TCPSocket::JobResult 2025-07-11 03:06:24 -07:00
sithlord48
32e6a84a6f chore: remove unused anon enum in SecureSocket 2025-07-11 03:06:24 -07:00
sithlord48
3ececbcfd9 refactor: Event anon enum => EventFlags struct 2025-07-11 03:06:24 -07:00
sithlord48
fc58688bb0 refactor: replace throw() with noexcept in cases where execeptions are not possible 2025-07-11 03:06:24 -07:00
sithlord48
77bdde5434 refactor: Elevel => LogLevel enum class, use proper names for items in the class 2025-07-11 03:06:24 -07:00
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