\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