Commit Graph
61 Commits
Author SHA1 Message Date
louiz’ abb9c08828 Add a missing ifndef BOTAN 2017-03-21 15:12:02 +01:00
louiz’ 8ce6759eae Add missing botan/version.h includes 2017-03-21 15:04:45 +01:00
louiz’ cb79fc1b3d Update the verify_certificate_chain code to work with botan >= 1.11.34 as well
ref #3245
2017-03-21 11:36:10 +01:00
louiz’ 395297e488 Use the new botan 1.11.32 Tls::Client API (but stay compatible with older ones)
ref #3245
2017-03-21 11:36:10 +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
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