louiz’
f0bc6c83a8
Pass the shared_ptr by reference, to avoid useless copies
2017-03-08 19:04:15 +01:00
louiz’
6cb7787512
Small resolver refactor
...
Makes the codecoverage deterministic (it does not depend on the order of
v4/v6 resolution)
2017-03-07 17:47:10 +01:00
louiz’
fa3d44e7aa
Use AI_NUMERICHOST when using getaddrinfo to bind() our client sockets
2017-02-28 23:34:11 +01:00
louiz’
a5d35c2455
Add some missing ifndef for udns
2017-01-31 23:47:45 +01:00
louiz’
dd12936657
Do not require revocation info for a certificate to be valid
...
If anyone has any reason to believe this is a bad idea, please let me know.
2017-01-19 18:41:29 +01:00
louiz’
e31ff3e9e9
Fix some issues found by sonar cube
2017-01-06 23:45:26 +01:00
louiz’
6bf9cedbeb
Add a missing errno include
2017-01-06 23:13:47 +01:00
louiz’
5b56007828
Use udns instead of c-ares
...
fix #3226
2017-01-06 22:58:18 +01:00
louiz’
e1e740e35e
Don’t use global static members but functions that return a reference to an internal static object
...
See https://github.com/randombit/botan/issues/761
2016-12-08 21:26:42 +01:00
louiz’
7f2eb60737
Init some members of TcpClientSocketHandler
2016-12-08 18:41:12 +01:00
louiz’
75778f4187
Add some missing includes
2016-12-07 18:29:02 +01:00
louiz’
7784c56843
Update the verify_certificate_chain code to work with botan >= 1.11.34 as well
2016-12-04 22:20:55 +01:00
louiz’
a66c67e291
Add a missing ifdef botan
2016-12-04 16:26:32 +01:00
louiz’
3ef78f4418
Add some missing botan includes
2016-12-04 16:19:43 +01:00
louiz’
732f53d798
Clean a few more things
2016-12-04 16:15:21 +01:00
louiz’
3f53db79c0
Use the new botan 1.11.32 Tls::Client API (but stay compatible with older ones)
2016-12-02 16:50:28 +01:00
louiz’
5f9568ca20
TLS: Enable ecc point compression
...
If available in Botan.
There is an issue where, if botan supports it but we don’t enable it, then
the TLS handshake may fail with some servers
2016-12-02 11:30:27 +01:00
louiz’
5cb534c960
move is_connecting outside of an ifdef
2016-11-16 23:13:37 +01:00
louiz’
42e85d921b
Remove some useless virtual method from SocketHandler
2016-11-16 23:07:27 +01:00
louiz’
9dd0cf8f7a
Fix an error on gcc 4.9, because it is so stupid it can’t find operator""s
2016-11-16 20:28:48 +01:00
louiz’
d90f75dc60
Trivial include cleanup
2016-11-16 20:03:01 +01:00
louiz’
ae445f0e59
Remove an unused variable
2016-11-16 20:02:44 +01:00
louiz’
4ab3cd653f
Fix some little compilation errors with some configs, from last commit
2016-11-15 00:49:55 +01:00
louiz’
d872c2b492
Support the ident protocol
...
fix #3211
2016-11-15 00:23:19 +01:00
louiz’
ed7e66471f
Add missing cstring include for strerror
2016-11-11 03:03:42 +01:00
louiz’
0c8adc85f7
Move all the connect() logic from TCPSocketHandler into a subclass
...
This way, TCPSocketHandler only deal with the message sending/receiving, not
the connect() or anything else. This will be used for implementing servers
(because when a client is accepted, we don’t need all the connect() and dns
resolution stuff).
2016-11-11 02:54:48 +01:00
louiz’
94cebfcd77
Add a missing <chrono> include
2016-11-07 14:49:51 +01:00
louiz’
7376831bc8
Add get-irc-connection-info adhoc command
...
fix #3171
2016-11-07 14:43:07 +01:00
louiz’
f50f50653d
Refactor load_certs()
2016-11-01 19:43:56 +01:00
louiz’
3e7c8ab4bc
Trivial cleanup
2016-10-31 01:39:35 +01:00
louiz’
911258bc65
Make AddrinfoDeleter a class
2016-10-31 01:39:35 +01:00
louiz’
0d8a2bfd13
Rename a variable that shadows a class member
2016-10-31 01:39:35 +01:00
louiz’
6d5d7eff68
Directly use Botan::byte instead of char, to avoid an unnecessary cast
2016-10-27 01:15:26 +02:00
louiz’
aa4255224e
Optimize tcp_socket::on_send by using vector::erase() only once per call
2016-10-20 20:08:29 +02:00
louiz’
ce06c25e93
Very little optimization by using a simpler scope_guard when possible
...
The version with the vector, that can be disabled etc, is “very” slow, so we
use unique_ptr when we don’t need to disable it, and when it only contains
one function
2016-10-20 19:32:20 +02:00
louiz’
827a1eedf8
On EINPROGRESS, we need to also check for read events (because openBSD lies)
...
“It is possible to select(2) or poll(2) for completion by selecting the
socket for writing”
Yeah, sure, “writing”…
2016-10-12 21:00:05 +02:00
louiz’
5f2e4820df
Fix an off-by-one issue in the POLL code
2016-10-12 21:00:05 +02:00
louiz’
954d271d50
Fix the argument of strerror after bind()
...
fix coverity CID 134470
2016-10-06 22:28:25 +02:00
louiz’
92c99bb9dd
Remove a branch that execute identical code in both cases
...
fix coverity CID 134469
2016-10-06 22:28:25 +02:00
louiz’
45aebb8d8a
Avoid an exception due to some bad logic in the DNS resolution mechanic
...
fix #3207
2016-10-03 21:12:16 +02:00
louiz’
b29225601a
Fix some compilation warning/errors that appear on FreeBSD
2016-10-03 17:58:16 +02:00
louiz’
11a1c0cc99
Always remove all the DNS sockets on an c-ares event
...
Because c-ares may close one of its socket, even if it’s not the one that
has the event. Otherwise we may not know when a socket has been removed from
our poller (automatically, when close()ed) and this leads to bugs.
2016-07-28 10:34:01 +02:00
louiz’
de0eff6e94
Revert "Don’t use unique_ptr to store dns socket handlers"
...
This reverts commit 5328d0806f .
2016-07-27 10:04:15 +02:00
louiz’
fa42d0c178
Bring back DNSSocketHandler's destructor
2016-07-12 11:25:38 +02:00
louiz’
5328d0806f
Don’t use unique_ptr to store dns socket handlers
2016-07-12 11:15:42 +02:00
louiz’
81f8f45b37
Replace all include guards by #pragma once
...
It’s $CURRENT_YEAR
2016-07-04 17:53:53 +02:00
louiz’
5a2e611617
Show off, with some variadic templates, for the logger module
2016-06-13 20:46:30 +02:00
louiz’
28300dff5b
Add a missing vector include
2016-06-08 10:31:19 +02:00
louiz’
66609cfba2
Remove all usage of std::list
2016-06-08 01:42:43 +02:00
louiz’
fdddd447b3
Use “using” instead of typedef
2016-05-13 01:22:49 +02:00