crashz / libjingle

Automatically exported from code.google.com/p/libjingle
0 stars 0 forks source link

Disabling TLS #72

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

XmppClientSettings xcs;
xcs.set_use_tls(false);
xcs.set_allow_plain(true);
...

What is the expected output?

The above code should disable TLS. 

What do you see instead?

XmppEngine hangs at the LOGINSTATE_STREAMSTART_SENT state during logging in.

What version of the product are you using? On what operating system?

libjingle 0.5, OSX 10.6

Proposed fix:

--- xmpp/xmpplogintask.cc   (revision 34)
+++ xmpp/xmpplogintask.cc   (working copy)
@@ -139,8 +139,8 @@
         if (!HandleFeatures(element))
           return Failure(XmppEngine::ERROR_VERSION);

-        // Use TLS if forced, or if available
-        if (pctx_->tls_needed_ || GetFeature(QN_TLS_STARTTLS) != NULL) {
+        // Use TLS if forced, and if available
+        if (pctx_->tls_needed_ && GetFeature(QN_TLS_STARTTLS) != NULL) {
           state_ = LOGINSTATE_TLS_INIT;
           continue;
         }

The original code does NOT completely disable TLS if the "starttls" feature is 
present on the server. The new code forces TLS to be disabled if 
xcs.set_use_tls(false).

Original issue reported on code.google.com by wang.wei...@gmail.com on 20 Oct 2010 at 9:43