]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge in upstream protocol change
authorLuke Fitzgerald <darkip@inflatablegoldfish.com>
Fri, 11 Mar 2011 17:23:14 +0000 (17:23 +0000)
committerLuke Fitzgerald <darkip@inflatablegoldfish.com>
Fri, 11 Mar 2011 17:23:14 +0000 (17:23 +0000)
"passport response message changed, it might return Compact2 instead of PPToken2 since 2011/2/14."

plugins/Msn/extlib/phpmsnclass/msn.class.php

index 996c5571c20bd2c0a29458b7b1a00ef654f2e97b..3d10c25b2c2ce5cba68bc1fe8d4b70da0f67a7be 100644 (file)
@@ -2995,8 +2995,37 @@ X-OIM-Sequence-Num: 1
 \r
         // no ticket found!\r
         if (count($matches) == 0) {\r
-            $this->debug_message('*** Could not get passport ticket!');\r
-            return false;\r
+            // Since 2011/2/15, the return value will be Compact2, not PPToken2\r
+\r
+            // we need ticket and secret code\r
+            // RST1: messengerclear.live.com\r
+            // <wsse:BinarySecurityToken Id="Compact1">t=tick&p=</wsse:BinarySecurityToken>\r
+            // <wst:BinarySecret>binary secret</wst:BinarySecret>\r
+            // RST2: messenger.msn.com\r
+            // <wsse:BinarySecurityToken Id="PPToken2">t=tick</wsse:BinarySecurityToken>\r
+            // RST3: contacts.msn.com\r
+            // <wsse:BinarySecurityToken Id="Compact3">t=tick&p=</wsse:BinarySecurityToken>\r
+            // RST4: messengersecure.live.com\r
+            // <wsse:BinarySecurityToken Id="Compact4">t=tick&p=</wsse:BinarySecurityToken>\r
+            // RST5: spaces.live.com\r
+            // <wsse:BinarySecurityToken Id="Compact5">t=tick&p=</wsse:BinarySecurityToken>\r
+            // RST6: storage.msn.com\r
+            // <wsse:BinarySecurityToken Id="Compact6">t=tick&p=</wsse:BinarySecurityToken>\r
+            preg_match("#".\r
+                       "<wsse\:BinarySecurityToken Id=\"Compact1\">(.*)</wsse\:BinarySecurityToken>(.*)".\r
+                       "<wst\:BinarySecret>(.*)</wst\:BinarySecret>(.*)".\r
+                       "<wsse\:BinarySecurityToken Id=\"Compact2\">(.*)</wsse\:BinarySecurityToken>(.*)".\r
+                       "<wsse\:BinarySecurityToken Id=\"Compact3\">(.*)</wsse\:BinarySecurityToken>(.*)".\r
+                       "<wsse\:BinarySecurityToken Id=\"Compact4\">(.*)</wsse\:BinarySecurityToken>(.*)".\r
+                       "<wsse\:BinarySecurityToken Id=\"Compact5\">(.*)</wsse\:BinarySecurityToken>(.*)".\r
+                       "<wsse\:BinarySecurityToken Id=\"Compact6\">(.*)</wsse\:BinarySecurityToken>(.*)".\r
+                       "#",\r
+                       $data, $matches);\r
+            // no ticket found!\r
+            if (count($matches) == 0) {\r
+                $this->debug_message("*** Can't get passport ticket!");\r
+                return false;\r
+            }\r
         }\r
 \r
         //$this->debug_message(var_export($matches, true));\r