Thomas Niederberger
592a8bf691
Fix typo
2021-08-01 11:20:28 +02:00
Raoul Wols
2f26928e3e
docblock
2021-07-13 13:27:19 +02:00
Raoul Wols
477243d3f3
Handle newlines better in sslerrorprinter.cpp
...
According to 4cedf30e99/crypto/err/err_prn.c (L20)
the ERR_print_errors_cb function already adds newlines to the end
of each line. So we can just append right away. We do remove the
last newline as normally error messages don't end with a newline.
Also we may return 0 instead of 1.
2021-07-13 13:25:39 +02:00
Raoul Wols
40d2af913e
docblock
2021-07-13 13:19:32 +02:00
Raoul Wols
3ca1ef73ad
Lookup function in shared library
2021-07-13 13:12:32 +02:00
Raoul Wols
df78574034
docblocks
2021-07-13 12:32:17 +02:00
Raoul Wols
faa491ce65
remove BIO stuff completely, replace with callback
2021-07-13 12:31:04 +02:00
Raoul Wols
4d49b44283
separate cpp file
2021-07-13 11:37:31 +02:00
Raoul Wols
d5819ef2dc
docblock
2021-07-13 11:24:08 +02:00
Raoul Wols
3bc7b62567
separate class for extracting errors
2021-07-13 11:23:08 +02:00
Raoul Wols
2f6451a9aa
Print a better error message
...
This is still missing the dlsym wrappers.
2021-07-12 18:44:16 +02:00
Emiel Bruijntjes
3dbd045d06
allow user space programs to initialize the SSL structure before a connection is set up
2021-01-01 18:52:54 +01:00
Bas van Berckel
77d74bff93
SslHandshake set default verify path ( #385 )
...
Set default verify paths for SSLHandshake to prevent secure connections from being marked as unverified.
Co-authored-by: Bas van Berckel <bas.vanberckel@copernica.com>
2020-12-07 16:36:32 +01:00
Michael van der Werve
e4ec629d62
signals can interrupt poll, which is now taken as a failure but should be retried
2020-11-23 09:57:35 +01:00
Mikhail Basanets
ced0de4eda
Added check if the connectionOrder receives nullptr and not a valid string. This can be a case if address.option(connectionOrder) returns nullptr.
2020-11-16 19:56:28 +02:00
Emiel Bruijntjes
bca39d8f29
simplified code, split up long methods in separate methods
2020-11-16 18:22:00 +01:00
aljar
f9d85f5d01
Use address to pass the option and add some extra options for sorting ips.
2020-11-16 16:30:29 +01:00
aljar
fe1538e8ae
Set option via address.
2020-11-13 18:05:07 +01:00
aljar
11f1eaf2c3
Don't use the old random_shuffle and don't set a global seed.
2020-11-13 17:49:14 +01:00
aljar
4570496547
Add option to select an IP randomly instead of using the order provided by getaddrinfo, which is proximity based.
2020-11-13 17:10:30 +01:00
Michael van der Werve
537ee3f440
select only supports upto fd 1024, and we need to support any possible fd
2020-10-30 11:51:29 +01:00
RafalGoslawski
42aec54333
Change windows line endings to unix ones and fix whitespace (spaces not tabs).
2020-10-05 15:44:33 +02:00
Michael van der Werve
103fa130f7
{auto} implement timeout on initial connection instead of being subjected to kernel
2020-09-29 13:51:54 +02:00
Michael van der Werve
2496dbbd4e
make sure onLost and onDetached are always called
2020-09-28 16:37:12 +02:00
Michael van der Werve
1c08399ab0
valid file descriptors that can be closed are >= 0
2020-05-08 13:30:08 +02:00
Michael van der Werve
ab0a292a0e
file descriptor should not be monitored any more when the tcp connection is destructed.
2020-05-08 13:20:10 +02:00
Emiel Bruijntjes
e7f76bc75d
the TcpConnection class no longer calls back to userspace / to the user-supplied handler if user-space explicitly destructs the object
2020-04-30 21:41:41 +02:00
Emiel Bruijntjes
a75b3d5d18
fix compiling on freebsd ( fixes #300 )
2020-04-20 17:34:41 +02:00
Peter A. Bigot
a6930f5c36
linux_tcp/poll: fix undefined behavior in select
...
The select(2) system call on Linux now includes the restrict qualifier
on the fd_set pointers passed in, causing a diagnostic in gcc9 for the
call blocking for both read and write. Pass a pointer to a temporary
copy of the set when two references are required.
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-05-30 10:53:09 -05:00
weili-jiang
fc22637578
Check pipe writes in linux_tcp to suppress Wunused-result in GCC
2019-02-05 08:33:28 +13:00
Emiel Bruijntjes
e10fd61ac8
slightly prettified the code
2019-01-10 08:25:31 +01:00
Michael van der Werve
a774e6c10c
on ssl error, make sure that it is found out
2019-01-08 13:14:42 +01:00
Michael van der Werve
63d4acdce3
should be in working order now
2019-01-08 12:58:38 +01:00
Emiel Bruijntjes
03ca83cb50
handle case when tcp connection is lost during reading, that should report an error back to user-space too ( fixes #266 )
2018-12-03 08:29:17 +01:00
Emiel Bruijntjes
d2e3792abc
fixed issue when end-of-file was encountered, this fixes #266
2018-11-30 06:42:54 +01:00
Emiel Bruijntjes
45ca61cc43
added TcpConnection::closed()
2018-11-14 14:15:52 +01:00
Emiel Bruijntjes
a80847dc5e
fixed a couple of todos, make sure that onError() is always called
2018-11-12 12:12:04 +01:00
Emiel Bruijntjes
6f81b0a097
when tcp connection is lost, the pending operations are now reported with an error
2018-11-11 23:46:58 +01:00
Emiel Bruijntjes
e83a07f871
renamed onClosed to onLost to prevent confusion between TcpHandler::onClosed() and ConnectionHandler::onClosed()
2018-11-08 09:58:36 +01:00
Emiel Bruijntjes
da6744bf4d
renamed ConnectionHandler::onConnectedO() to ConnectionHandler::onReady()
2018-11-08 08:34:58 +01:00
Emiel Bruijntjes
34f84e1ab7
handle unlikely error when ssl-handshake could not be started
2018-11-07 23:44:24 +01:00
Emiel Bruijntjes
06dc23190d
added ConnectionHandler::onProperties and TcpConnectionHandler::onProperties
2018-11-07 23:22:25 +01:00
Emiel Bruijntjes
428219ad83
simplified and improved the close procedure
2018-11-07 15:04:08 +01:00
Emiel Bruijntjes
64c876e65a
removed support for TcpConnection::flush() and removed internal TcpShutdown state
2018-11-06 18:11:27 +01:00
Emiel Bruijntjes
6ea2d8dffd
removed unneeded comment
2018-11-05 17:18:24 +01:00
Emiel Bruijntjes
9330231a69
fixed assigning the new state
2018-11-05 17:11:21 +01:00
Emiel Bruijntjes
54049f9e8e
improved the tcp handler, added more methods to monitor whether a connection is connected, logged on and in an error state
2018-11-05 16:49:55 +01:00
Emiel Bruijntjes
359eec189f
work in progress, simplified the tcp and ssl states
2018-11-05 16:18:20 +01:00
Emiel Bruijntjes
e617161c8c
the state::abort() method is no longer needed
2018-11-05 15:49:22 +01:00
Emiel Bruijntjes
b81bc340b5
work in progress on refactored tcp handling, to solve various issues, like the one that lost connections do not trigger operations to fail
2018-11-04 23:34:31 +01:00