Commit Graph
164 Commits
Author SHA1 Message Date
Florent Le Coz 37fd6ff18a log the handshake + stream opening/close in a more consistent way 2016-02-22 17:03:15 +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 218260362f Remove unused xml_unescape() function 2016-02-10 20:23:27 +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 79cdf170d2 Use the configured encoding value when decoding received messages 2016-01-04 13:47:26 +01:00
Florent Le Coz 9ac0d3a576 A few cleanups, and make a few things more modern 2015-12-23 11:05:55 +01:00
Florent Le Coz 9714d02018 Also store a reference instead of a pointer, in AdhocCommandsHandler 2015-12-23 11:05:54 +01:00
Stuart Mumford 8ddbe8d3e6 Make the XMPP server address configurable.
fix #3145
2015-12-13 21:04:07 +01:00
Florent Le Coz 1f6eea62f4 Add an ad-hoc command to disconnect a user from one or more IRC server
fix #3077
2015-12-03 21:15:22 +01:00
Florent Le Coz 700a6c7bc3 JID class provides bare() and full() methods 2015-12-03 21:15:22 +01:00
Florent Le Coz 756b297045 Small cleanup 2015-12-03 21:09:03 +01:00
Florent Le Coz 284af79128 Provide a “var” map in AdhocSession objects, to save values between each step 2015-12-03 21:08:04 +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 4e32fe213c Refactor XmppParser::end_element to make it clearer
Both for me, and apparently for clang static analyzer, who reported a (imo)
false positive.
2015-10-28 02:32:19 +01:00
Florent Le Coz 450de4c336 Style, add a few “this->” 2015-10-26 20:28:36 +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 1691cf8f64 Introduce the configure ad-hoc command on irc servers
Provides two options for now, and they have no effect yet
2015-09-18 22:09:26 +02:00
Florent Le Coz 1031989fe2 XmlNode::add_child can also take a copy of a node 2015-09-18 22:09:26 +02:00
Florent Le Coz 45e8fe56a6 Add an AdhocCommandsHandler to store commands specific to IRC servers 2015-09-18 22:09:26 +02:00
Florent Le Coz 19666d2ffd Store the target jid in the AdhocSession objects 2015-09-18 22:09:26 +02:00
Florent Le Coz 33fa1dcd5a Also a xdg_data_path 2015-09-18 21:50:54 +02:00
Florent Le Coz ea0b2f2bb8 Create a xdg_path function 2015-09-18 09:20:15 +02:00
Florent Le Coz c3309d0acf Trivial cleanup 2015-09-01 20:01:44 +02:00
Florent Le Coz f3b3d937ae Use unique_ptr to store the XmlNode’s children
Also fix some constness things
2015-09-01 14:47:57 +02:00
Florent Le Coz 38564d77c7 Little cleanup of the XmlNode class
Use map instead of unordered map (it's not slower, and it's shorter).
Use the default move constructor.
2015-09-01 04:56:06 +02:00
Florent Le Coz d7e1214cbc XmlNode::to_string uses an ostringstream instead of a string
On my poor benchmark, it was infinitesimally faster.
2015-09-01 04:53:12 +02:00
Florent Le Coz e8f22efe34 XmlNodes are now always closed
Remove the close() method and closed attribute. Remove all the calls to
close().  (Save one bool per XmlNode, yay, and save a few ifs and some
useless function calls. At best it should be unnoticeably faster and lighter
and save a few keystrokes in the future)
2015-09-01 04:42:12 +02:00
Florent Le Coz 45fd41eb38 Display the resolved IP in debug logs 2015-07-09 15:30:54 +02:00
Florent Le Coz ece4b4969b If hostname resolution fails, do not try all possible ports 2015-07-09 15:30:24 +02:00
Florent Le Coz ac6a74595c Send the cares error message before cleaning it
fix #3083
2015-07-09 14:35:29 +02:00
Florent Le Coz 4130f1679d Check for timeouts on the DNS resolution using c-ares
ref #3083
2015-07-09 14:35:29 +02:00
Florent Le Coz a42af9e700 Fix the log_* macros to not have two ; at the end of lines 2015-07-09 13:49:08 +02:00