Hello community,
here is the log from the commit of package libmsn for openSUSE:12.1:Update:Test
checked in at 2011-11-17 17:51:45
Comparing /work/SRC/openSUSE:12.1:Update:Test/libmsn (Old)
and /work/SRC/openSUSE:12.1:Update:Test/.libmsn.new (New)
Package is libmsn, Maintainer is dmuel...@suse.com
Changes:
--- /work/SRC/openSUSE:12.1:Update:Test/libmsn/libmsn.changes 2011-11-17
17:51:45.0 +0100
+++ /work/SRC/openSUSE:12.1:Update:Test/.libmsn.new/libmsn.changes
2011-11-17 17:51:46.0 +0100
@@ -1,0 +2,6 @@
+Wed Nov 16 14:58:23 UTC 2011 - idon...@suse.com
+
+- Add soap-redirect.patch to fix connection issues to new MSN
+ servers (bnc#729478)
+
+---
New:
soap-redirect.patch
Other differences:
--
++ libmsn.spec ++
--- /var/tmp/diff_new_pack.wE3Qes/_old 2011-11-17 17:51:47.0 +0100
+++ /var/tmp/diff_new_pack.wE3Qes/_new 2011-11-17 17:51:47.0 +0100
@@ -26,12 +26,13 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Url:http://sourceforge.net/projects/libmsn
Version:4.1
-Release:8
+Release:1
%define tar_version 4.1
Source:
http://surfnet.dl.sourceforge.net/sourceforge/libmsn/libmsn-%{tar_version}.tar.bz2
Patch1: gcc-warnings.diff
Patch2: literal-string-compare.diff
Patch3: openssl1.patch
+Patch4: soap-redirect.patch
Source99: COPYING.LGPL
%define debug_package_requires libmsn0_1 = %{version}-%{release}
@@ -70,6 +71,7 @@
%patch1
%patch2
%patch3 -p1
+%patch4
cp %{S:99} .
%build
++ soap-redirect.patch ++
Index: msn/soap.h
===
--- msn/soap.h (revision 120)
+++ msn/soap.h (revision 121)
@@ -35,6 +35,8 @@
#include vector
#include map
+#include xmlParser.h
+
#include libmsn_export.h
namespace MSN
@@ -205,6 +207,8 @@
void changeDisplayName(std::string newDisplayName);
void parseChangeDisplayNameResponse(std::string);
+
+Soap* manageSoapRedirect(XMLNode response1, soapAction action);
virtual void dispatchCommand(std::vectorstd::string ) {};
virtual void connect(const std::string , unsigned int) {};
Index: msn/soap.cpp
===
--- msn/soap.cpp(revision 120)
+++ msn/soap.cpp(revision 121)
@@ -314,25 +314,17 @@
void Soap::parseGetTicketsResponse(std::string response)
{
- XMLNode domTree = XMLNode::parseString( response.c_str() );
-if(http_response_code == 301 )
+XMLNode response1 = XMLNode::parseString( response.c_str() );
+if(http_response_code == 301)
{
-const char *preferredHostName =
domTree.getChildNode(soap:Envelope).getChildNode(soap:Header).getChildNode(ServiceHeader).getChildNode(PreferredHostName).getText();
-if(preferredHostName)
-{
-Soap *soapConnection = new Soap(notificationServer,
sitesToAuthList);
-
-std::string newdomain(preferredHostName);
-soapConnection-actionDomains[AUTH] = newdomain;
-soapConnection-setMBI(mbi);
-soapConnection-getTickets(this-passport, this-password,
this-policy);
-}
+Soap *soapConnection = manageSoapRedirect(response1, AUTH);
+soapConnection-getTickets(this-passport, this-password,
this-policy);
return;
}
// get the header information from the DOM
- XMLNode tokens =
domTree.getChildNode(S:Envelope).getChildNode(S:Body).getChildNode(wst:RequestSecurityTokenResponseCollection);
- const char *reason =
domTree.getChildNode(S:Envelope).getChildNode(S:Fault).getChildNode(faultcode).getText();
+ XMLNode tokens =
response1.getChildNode(S:Envelope).getChildNode(S:Body).getChildNode(wst:RequestSecurityTokenResponseCollection);
+ const char *reason =
response1.getChildNode(S:Envelope).getChildNode(S:Fault).getChildNode(faultcode).getText();
if(reason)
{
std::string reason1(reason);
@@ -345,7 +337,7 @@
}
if(reason1 == psf:Redirect)
{
-const char *newurl =
domTree.getChildNode(S:Envelope).getChildNode(S:Fault).getChildNode(psf:redirectUrl).getText();
+const char *newurl =
response1.getChildNode(S:Envelope).getChildNode(S:Fault).getChildNode(psf:redirectUrl).getText();
Soap *soapConnection = new Soap(notificationServer);
std::string newurl1(newurl);
@@ -480,22 +472,14 @@
void