47 void close()
override;
65 int secureWrite(
const void *buffer,
int size,
int &wrote);
73 void initContext(
bool server);
78 bool showCertificate()
const;
79 void checkResult(
int n,
int &retry);
81 bool verifyCertFingerprint(
const QString &FingerprintDatabasePath)
const;
87 void handleTCPConnected(
const Event &event);
93 std::mutex ssl_mutex_;
95 std::unique_ptr<Ssl> m_ssl;
96 bool m_secureReady =
false;
ArchSocketImpl * ArchSocket
Opaque socket type. An opaque type representing a socket.
Definition IArchNetwork.h:30
SecurityLevel
This enum is used to set how the client and server will communicate.
Definition SecurityLevel.h:14
@ Encrypted
Definition SecurityLevel.h:16
Event.
Definition Event.h:29
AddressFamily
Supported address families.
Definition IArchNetwork.h:58
Event queue interface.
Definition IEventQueue.h:29
Socket multiplexer job.
Definition ISocketMultiplexerJob.h:18
Network address type.
Definition NetworkAddress.h:17
ISocketMultiplexerJob * newJob() override
Definition SecureSocket.cpp:86
~SecureSocket() override
Definition SecureSocket.cpp:67
bool loadCertificates(const std::string &CertFile)
Definition SecureSocket.cpp:291
SecureSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family, SecurityLevel securityLevel=SecurityLevel::Encrypted)
Definition SecureSocket.cpp:48
SecureSocket & operator=(SecureSocket const &)=delete
SecureSocket(SecureSocket const &)=delete
void secureConnect()
Definition SecureSocket.cpp:97
bool isSecureReady() const
Definition SecureSocket.cpp:277
int secureWrite(const void *buffer, int size, int &wrote)
Definition SecureSocket.cpp:249
void close() override
Close socket.
Definition SecureSocket.cpp:72
SecureSocket & operator=(SecureSocket &&)=delete
void secureAccept()
Definition SecureSocket.cpp:104
void initSsl(bool server)
Definition SecureSocket.cpp:282
int secureRead(void *buffer, int size, int &read)
Definition SecureSocket.cpp:222
SecureSocket(SecureSocket &&)=delete
bool isFatal() const override
Definition SecureSocket.h:53
void isFatal(bool b)
Definition SecureSocket.h:57
void connect(const NetworkAddress &) override
Connect socket.
Definition SecureSocket.cpp:78
JobResult doRead() override
Definition SecureSocket.cpp:111
JobResult doWrite() override
Definition SecureSocket.cpp:168
Socket multiplexer.
Definition SocketMultiplexer.h:24
JobResult
Definition TCPSocket.h:64
uint32_t read(void *buffer, uint32_t n) override
Read from stream.
Definition TCPSocket.cpp:117
TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet)
Definition TCPSocket.cpp:29
Definition SecureSocket.cpp:38