path: root/src/network
AgeCommit message (Collapse)Author
2018-04-28Fix a crash when botan policy does not allow any available ciphersuitev7louiz’
2018-01-17Use our botan gh#1276 workaround only for botan < 2.4louiz’
fix #3320
2017-10-26Add a workaround for’
ref #3278
2017-10-04Explicitely include all needed botan headerslouiz’
Most importantely, include parsing.h, since read_cfg is not implicitely included anymore in botan 2.3, and that does not compile. Also do not included botan.h anymore, since it’s deprecated in botan 2.3 fix #3296
2017-07-20Drop support for botan < 2.0louiz’
fix #3274
2017-07-08Remove a bunch of useless string_literal usagelouiz’
2017-05-10Improve the handling of the biboudb.hpp dependencieslouiz’
2017-05-09Avoid any potential int overflowlouiz’
2017-04-30Make botan’s policy configurable from a filelouiz’
fix #3244
2017-04-20Better way to init the msghdr fieldslouiz’
2017-04-20Explicitely init the msghdr fields, to be compatible with any implementationlouiz’
2017-04-07Apply a few clang-tidy cppcoreguidelines-* fixeslouiz’
2017-04-07Apply all the clang-tidy performance-* fixeslouiz’
2017-04-07Apply all the clang-tidy misc-* fixeslouiz’
2017-04-07Apply all the clang-tidy modernize-* fixeslouiz’
2017-03-29Remove two sneaky log_debuglouiz’
2017-03-14Refactoring louloulibs and cmakelouiz’
Use OBJECT libraries Remove the louloulibs directory Write FOUND variables in the cache
2015-02-27Remove all the libs that are now in louloulibsFlorent Le Coz
2015-02-23Implement async DNS resolution using c-aresFlorent Le Coz
fix #2533
2015-02-22Fix typoFlorent Le Coz
2015-02-21Use a timer to try reconnecting to the XMPP server only each 2 secondsFlorent Le Coz
When the connection is lost, immediately try to reconnect, then try to reconnect every 2 seconds. This is much better than the previous “Try to re-connect as fast as possible”.
2015-01-26Add a missing #include for sockaddr_in6Florent Le Coz
2014-12-17Fix a few issues reported by static analyzersFlorent Le Coz
2014-07-15Merge branch 'v1'Florent Le Coz
Conflicts: src/network/socket_handler.hpp
2014-07-15Fix IPv6 support (sockaddr size)Florent Le Coz
Since struct sockaddr is too small to contain an IPv6, we use struct sockaddr_in6 instead, and we cast it where needed
2014-07-15Send the reason of the connection close to the userFlorent Le Coz
2014-07-03Move some members of TCPSocketHandler into the SocketHandler classFlorent Le Coz
2014-07-02Add a level of inheritance above SocketHandlerFlorent Le Coz
SocketHandler has been renamed to TCPSocketHandler SocketHandler is now a simple interface with a few methods, used only by Poller. This way we can inherite from the new SocketHandler class, to handle other types of sockets, and still make them manageable by the poller without any change in the Poller class.
2014-06-22Delete the timeout event using the correct socket number, instead of -1Florent Le Coz
Was causing the event to not be removed in case of connection failure, which lead to a dangling timed event named “timeout-1”, which was called later, by some other SocketHandler for which even the socket creation failed (so, its socket is -1), with a pointer to the previous SocketHandler which has disappeared for a long time: segmentation fault etc.
2014-06-19Make the Botan rng, credential_manager etc be staticFlorent Le Coz
This actually makes the session_manager be useful, and saves a few octets of memory for the other ones
2014-06-08Add a TimedEvent to cancel the connection to a server after 5 secondsFlorent Le Coz
2014-06-08Implement TLS support using BotanFlorent Le Coz
For now, it tries two TLS ports and then connects to the non-tls port. In the future we would like the user to be able to configure that. fix #2435
2014-06-05Make the destructor of the SocketHandler class protected non-virtualFlorent Le Coz
2014-05-28On connection in-progress, save the whole addrinfo struct, not just ai_addrFlorent Le Coz
2014-05-27Only close/unmanage the socket if we are connected/connectingFlorent Le Coz
Since the socket is now only created and managed whenever the connection is being established, we only close the socket and if it was created (we use -1 to denote the fact that is not yet created, or has been closed) and we only unmanage the socket if it is effectively managed. fix #2529
2014-05-27Support IPv6 connectionsFlorent Le Coz
fix #2522
2014-05-27SocketHandlers own the poller and add themself into it only when the socket ↵Florent Le Coz
is created We want to call socket() with the parameters provided by getaddrinfo, so we can’t addd the fd into the poller immediately. We need to wait the connection attempt, and then the SocketHandler can call add_socket_handler itself, if the connection succeeds, or is in progress.
2014-05-26If both write and read events are available on a socket, only do the readFlorent Le Coz
Because the read handler may discover that the connection has been closed, and then remove the socket from the poller. It that case it is no longer valid to try to call the write handler (which may try to reconnect, but since that socket is no longer managed, this is not OK).
2014-04-29Add missing std::string_literalsFlorent Le Coz
2014-04-29Use C++14 string_literalsFlorent Le Coz
2014-04-15Call on_connection_failed() when the connection fails to be establishedFlorent Le Coz
2014-04-15Remove a useless debug log lineFlorent Le Coz
2014-03-24Reconnected immediately to the XMPP whenever it closes the connectionFlorent Le Coz
2014-03-24Do not send data if we are connected, send it only once we actually areFlorent Le Coz
2014-03-10Remove useless castFlorent Le Coz
2014-03-03Fix a bus error by not going above an array boundaryFlorent Le Coz
2014-02-28Avoid unnecessary copies by recv()ing data directly into the expat bufferFlorent Le Coz
2014-02-27Use scatter/gather io with sendmsg to avoid concataning strings all the timeFlorent Le Coz
2014-02-26Fix a wrong commentFlorent Le Coz
2014-02-22Consider that the connect() succeded if errno EISCONNFlorent Le Coz
Apparently on some systems, subsquent connect() calls may fail with EISCONN error, to indicate that the connection succeded in the background, instead of returning 0.