ports/165008: net-im/kmess-kde4 fails to connect

Axel Gonzalez loox at e-shell.net
Sun Feb 12 01:00:28 UTC 2012


>Number:         165008
>Category:       ports
>Synopsis:       net-im/kmess-kde4 fails to connect
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 12 01:00:28 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Axel Gonzalez
>Release:        9.0-RELEASE
>Organization:
>Environment:
FreeBSD moonlight 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Sat Feb  4 21:32:57 CST 2012     toor at moonlight:/usr/obj/usr/src/sys/LXCORE964  amd64

>Description:
kmess fails to receive the contact list, and never connects to the service

info here:
http://kmess.org/board/viewtopic.php?f=4&t=20549

the patch is taken from:
http://lekensteyn.nl/files/kmess/follow-location-redirects.patch


>How-To-Repeat:
try to connect to wlm server
>Fix:
Apply the attached patch

Patch attached with submission follows:

Follow Location redirects, MS seems to have moved some accounts to other
servers. Forum topic reference:
Connection problem to wlm - http://kmess.org/board/viewtopic.php?f=4&t=20549
diff -Nur a/src/network/soap/httpsoapconnection.cpp b/src/network/soap/httpsoapconnection.cpp
--- src/network/soap/httpsoapconnection.cpp	2011-02-16 08:16:45.000000000 +0100
+++ src/network/soap/httpsoapconnection.cpp	2011-11-08 16:53:29.612517607 +0100
@@ -456,6 +456,7 @@
   const QByteArray& replyContents = reply->readAll();
   const int         statusCode    = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute   ).toInt();
   const QString     error         ( reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString() );
+  QUrl redirectUrl = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl();
 
 #ifdef KMESSDEBUG_HTTPSOAPCONNECTION_GENERAL
   bool requestSuccess = false;
@@ -490,13 +491,16 @@
 #endif
 
     // Parse the message contents
-    if( currentResponse->isFaultMessage() )
+    if( !redirectUrl.isEmpty() || currentResponse->isFaultMessage() )
     {
-      // Verify if the server is redirecting us to another server
       if( currentResponse->getFaultCode() == "psf:Redirect" )
       {
+        redirectUrl = XmlFunctions::getNodeValue( currentResponse->getFault(), "redirectUrl" );
+      }
+      // Verify if the server is redirecting us to another server
+      if( !redirectUrl.isEmpty() )
+      {
         const QUrl& originalUrl = currentResponse->getEndPoint();
-        const QUrl redirectUrl( XmlFunctions::getNodeValue( currentResponse->getFault(), "redirectUrl" ) );
         const QString originalHost( originalUrl.host() );
         const QString redirectHost( redirectUrl.host() );
 


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list