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
louiz’
ce798b1e8c
Fix build with POLLER=POLL
2016-05-10 12:50:05 +02:00
louiz’
af42073830
Style fix
...
Move all constructors at the top of classes
2016-05-04 14:16:40 +02:00
louiz’
73ad709ddf
Add a TEMPORARY work-around for botan 1.11.29
2016-04-22 10:49:06 +02:00
Florent Le Coz
b47179f125
Fix the ordering of poll callbacks, with ppoll too
2016-02-24 09:31:30 +01:00
Florent Le Coz
b29d94444d
Close the epoll fd
2016-02-24 09:31:30 +01:00
Florent Le Coz
6ee80ad268
Fix the ordering of poll callbacks (recv, connect, send)
...
Because if we have a send event to signal the connection sucess + a recv
event to signal something to read on the socket, we need to first finish the
connect process before reading the available data. That’s what we do now.
2016-02-22 17:03:15 +01:00
Florent Le Coz
a13285d0ff
Rename BasicCredentialManager
2016-02-10 20:10:40 +01:00
Florent Le Coz
0864f2ab99
Quiet a warning
2016-01-13 16:39:08 +01:00
Florent Le Coz
1f8333f23f
Support a trusted SHA1 fingerprint to be configured for each IRC server
2016-01-04 13:47:27 +01:00
Florent Le Coz
6a7cd5eecf
Do not forget to call freeaddrinfo, fix a memleak
...
For the getaddrinfo call we added in the previous commit, to convert the IP
provided in the conf.
2015-12-03 20:41:48 +01:00
Florent Le Coz
05a82b810f
Display a better error when connection fails
...
The error should not tell “while reading” when we are just connecting.
2015-12-01 16:09:21 +01:00
Florent Le Coz
241768836d
Add the outgoing_bind option
...
Lets the admin choose a local address to bind each outgoing (IRC) socket.
2015-12-01 16:08:40 +01:00
Florent Le Coz
296a16fa75
Do not segfault when trying to send TLS data over a not-yet connected socket
2015-11-30 03:23:42 +01:00
Florent Le Coz
0620c8e589
Avoid leaking socket filedescriptors
...
When trying the various results of getaddrinfo, we forgot to close the
socket when one fails, before trying the next one.
Also use the destructor to make sure we do not have some other unrelated
leak.
2015-11-07 23:41:06 +01:00
Florent Le Coz
5ce9d3f142
Make the CA file configurable
2015-11-05 02:17:19 +01:00
Florent Le Coz
e8386bd14e
Provide an adhoc option to let user pass the cert verif for some IRC servers
2015-11-05 02:17:19 +01:00
Florent Le Coz
06db9b366a
Fix the build without botan, caused by credentials_manager
2015-11-02 17:31:35 +01:00
Florent Le Coz
4a51850173
Verify TLS certificate with the given hostname, instead of a hardcoded one
2015-11-02 17:15:32 +01:00
Florent Le Coz
f928f76272
Verify the remote TLS certificates using the system-wide trusted CAs
2015-11-02 03:26:13 +01:00
Florent Le Coz
ccd185d3f5
Remove a useless assignment
2015-10-31 06:18:29 +01:00
Florent Le Coz
142516a69b
Fix some trivial issues reported by cppcheck
2015-10-26 20:09:39 +01:00
Florent Le Coz
0fcba76c79
Fix a build issue when compiling without cares
2015-10-26 20:01:57 +01:00
Florent Le Coz
c8606e1858
Remove a unused_parameter warning
2015-10-26 02:45:20 +01:00
Florent Le Coz
f57a43f337
Remove some more debug thing
2015-10-26 02:43:33 +01:00
Florent Le Coz
ec53fc9315
Remove some debug thing that should not have been committed
2015-10-26 02:36:33 +01:00
Florent Le Coz
aa340e1c5e
Separate the DNS resolution logic from the TCP communication logic
...
fix #3137
2015-10-15 04:32:02 +02:00
Florent Le Coz
2928598e77
Catch TLS exceptions, close the connection and inform the user of the error
2015-09-22 03:59:14 +02:00
Florent Le Coz
45fd41eb38
Display the resolved IP in debug logs
2015-07-09 15:30:54 +02:00