annotate libpurple/protocols/msn/nexus.h @ 23521:9fdf0accd4aa

Finally got MSN token updating working (I think). So it seems after creating the signature, the xmlnode_to_str must have added some xmlns attributes which were sent to the server. I thought that CanonicalizationMethod stuff the XML specified meant the server would normalize everything nicely, but apparently not. I added the xmlns to the XML string before creating the signature and it looks like things work now. It just needs a full 8-hour test to be certain. Did a bit of re-factoring to the token response parsing, as well. It should now fail the first time something shows up that isn't expected, or if something is missing, instead of blindly going forward with half the tokens we requested. References #4875.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 15 Jun 2008 06:22:25 +0000
parents 1b98e2090a71
children 711773577380
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file nexus.h MSN Nexus functions
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
4 * purple
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * source distribution.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * GNU General Public License for more details.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15823
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 #ifndef _MSN_NEXUS_H_
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 #define _MSN_NEXUS_H_
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
27 #include "soap.h"
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
28
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
29 /* Index into ticket_tokens in nexus.c Keep updated! */
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
30 typedef enum
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
31 {
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
32 MSN_AUTH_MESSENGER = 0,
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
33 MSN_AUTH_MESSENGER_WEB = 1,
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
34 MSN_AUTH_CONTACTS = 2,
23492
72aa2ccad28d fix sending offline message in p15 by sending the correct token. In msnp14,
Ka-Hing Cheung <khc@hxbc.us>
parents: 23489
diff changeset
35 MSN_AUTH_LIVE_SECURE = 3,
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
36 MSN_AUTH_SPACES = 4,
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
37 MSN_AUTH_LIVE_CONTACTS = 5,
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
38 MSN_AUTH_STORAGE = 6
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
39 } MsnAuthDomains;
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
40
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
41 #define MSN_SSO_SERVER "login.live.com"
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
42 #define SSO_POST_URL "/RST.srf"
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
43
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
44 #define MSN_SSO_RST_TEMPLATE \
23521
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
45 "<wst:RequestSecurityToken xmlns=\"http://schemas.xmlsoap.org/ws/2004/04/trust\" Id=\"RST%d\">"\
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
46 "<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>"\
23521
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
47 "<wsp:AppliesTo xmlns=\"http://schemas.xmlsoap.org/ws/2002/12/policy\">"\
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
48 "<wsa:EndpointReference xmlns=\"http://schemas.xmlsoap.org/ws/2004/03/addressing\">"\
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
49 "<wsa:Address>%s</wsa:Address>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
50 "</wsa:EndpointReference>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
51 "</wsp:AppliesTo>"\
23521
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
52 "<wsse:PolicyReference xmlns=\"http://schemas.xmlsoap.org/ws/2003/06/secext\" URI=\"%s\"></wsse:PolicyReference>"\
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
53 "</wst:RequestSecurityToken>"
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
54
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
55 #define MSN_SSO_TEMPLATE "<?xml version='1.0' encoding='utf-8'?>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
56 "<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
57 " xmlns:wsse=\"http://schemas.xmlsoap.org/ws/2003/06/secext\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
58 " xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
59 " xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2002/12/policy\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
60 " xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
61 " xmlns:wsa=\"http://schemas.xmlsoap.org/ws/2004/03/addressing\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
62 " xmlns:wssc=\"http://schemas.xmlsoap.org/ws/2004/04/sc\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
63 " xmlns:wst=\"http://schemas.xmlsoap.org/ws/2004/04/trust\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
64 "<Header>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
65 "<ps:AuthInfo"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
66 " xmlns:ps=\"http://schemas.microsoft.com/Passport/SoapServices/PPCRL\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
67 " Id=\"PPAuthInfo\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
68 "<ps:HostingApp>{7108E71A-9926-4FCB-BCC9-9A9D3F32E423}</ps:HostingApp>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
69 "<ps:BinaryVersion>4</ps:BinaryVersion>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
70 "<ps:UIVersion>1</ps:UIVersion>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
71 "<ps:Cookies></ps:Cookies>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
72 "<ps:RequestParams>AQAAAAIAAABsYwQAAAAxMDMz</ps:RequestParams>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
73 "</ps:AuthInfo>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
74 "<wsse:Security>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
75 "<wsse:UsernameToken Id=\"user\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
76 "<wsse:Username>%s</wsse:Username>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
77 "<wsse:Password>%s</wsse:Password>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
78 "</wsse:UsernameToken>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
79 "</wsse:Security>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
80 "</Header>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
81 "<Body>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
82 "<ps:RequestMultipleSecurityTokens"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
83 " xmlns:ps=\"http://schemas.microsoft.com/Passport/SoapServices/PPCRL\""\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
84 " Id=\"RSTS\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
85 "<wst:RequestSecurityToken Id=\"RST0\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
86 "<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
87 "<wsp:AppliesTo>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
88 "<wsa:EndpointReference>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
89 "<wsa:Address>http://Passport.NET/tb</wsa:Address>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
90 "</wsa:EndpointReference>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
91 "</wsp:AppliesTo>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
92 "</wst:RequestSecurityToken>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
93 "%s" /* Other RSTn tokens */\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
94 "</ps:RequestMultipleSecurityTokens>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
95 "</Body>"\
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
96 "</Envelope>"
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
97
23513
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
98 #define MSN_SSO_AUTHINFO_TEMPLATE \
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
99 "<ps:AuthInfo xmlns:ps=\"http://schemas.microsoft.com/Passport/SoapServices/PPCRL\" Id=\"PPAuthInfo\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
100 "<ps:HostingApp>{7108E71A-9926-4FCB-BCC9-9A9D3F32E423}</ps:HostingApp>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
101 "<ps:BinaryVersion>4</ps:BinaryVersion>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
102 "<ps:UIVersion>1</ps:UIVersion>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
103 "<ps:Cookies></ps:Cookies>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
104 "<ps:RequestParams>AQAAAAIAAABsYwQAAAA0MTA1</ps:RequestParams>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
105 "</ps:AuthInfo>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
106 /* Not sure what's editable here, so I'll just hard-code the SHA1 hash */
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
107 #define MSN_SSO_AUTHINFO_SHA1_BASE64 "d2IeTF4DAkPEa/tVETHznsivEpc="
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
108
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
109 #define MSN_SSO_TIMESTAMP_TEMPLATE \
23521
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
110 "<wsu:Timestamp xmlns=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" Id=\"Timestamp\">"\
23513
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
111 "<wsu:Created>%s</wsu:Created>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
112 "<wsu:Expires>%s</wsu:Expires>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
113 "</wsu:Timestamp>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
114
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
115 #define MSN_SSO_SIGNEDINFO_TEMPLATE \
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
116 "<SignedInfo xmlns=\"http://www.w3.org/2000/09/xmldsig#\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
117 "<CanonicalizationMethod Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"></CanonicalizationMethod>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
118 "<SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#hmac-sha1\"></SignatureMethod>"\
23521
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23513
diff changeset
119 "<Reference URI=\"#RST%d\">"\
23513
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
120 "<Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
121 "<Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"></Transform>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
122 "</Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
123 "<DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"></DigestMethod>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
124 "<DigestValue>%s</DigestValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
125 "</Reference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
126 "<Reference URI=\"#Timestamp\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
127 "<Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
128 "<Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"></Transform>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
129 "</Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
130 "<DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"></DigestMethod>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
131 "<DigestValue>%s</DigestValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
132 "</Reference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
133 "<Reference URI=\"#PPAuthInfo\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
134 "<Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
135 "<Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"></Transform>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
136 "</Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
137 "<DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"></DigestMethod>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
138 "<DigestValue>" MSN_SSO_AUTHINFO_SHA1_BASE64 "</DigestValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
139 "</Reference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
140 "</SignedInfo>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
141
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
142 #define MSN_SSO_TOKEN_UPDATE_TEMPLATE "<?xml version=\"1.0\" encoding=\"utf-8\"?>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
143 "<Envelope"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
144 " xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
145 " xmlns:wsse=\"http://schemas.xmlsoap.org/ws/2003/06/secext\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
146 " xmlns:saml=\"urn:oasis:names:tc:SAML:1.0:assertion\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
147 " xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2002/12/policy\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
148 " xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
149 " xmlns:wsa=\"http://schemas.xmlsoap.org/ws/2004/03/addressing\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
150 " xmlns:wssc=\"http://schemas.xmlsoap.org/ws/2004/04/sc\""\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
151 " xmlns:wst=\"http://schemas.xmlsoap.org/ws/2004/04/trust\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
152 "<Header>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
153 MSN_SSO_AUTHINFO_TEMPLATE /* ps:AuthInfo */ \
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
154 "<wsse:Security>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
155 "<EncryptedData xmlns=\"http://www.w3.org/2001/04/xmlenc#\" Id=\"BinaryDAToken0\" Type=\"http://www.w3.org/2001/04/xmlenc#Element\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
156 "<EncryptionMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#tripledes-cbc\"></EncryptionMethod>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
157 "<ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
158 "<ds:KeyName>http://Passport.NET/STS</ds:KeyName>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
159 "</ds:KeyInfo>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
160 "<CipherData>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
161 "<CipherValue>%s</CipherValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
162 "</CipherData>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
163 "</EncryptedData>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
164 "<wssc:DerivedKeyToken Id=\"SignKey\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
165 "<wsse:RequestedTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
166 "<wsse:KeyIdentifier ValueType=\"http://docs.oasis-open.org/wss/2004/XX/oasis-2004XX-wss-saml-token-profile-1.0#SAMLAssertionID\" />"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
167 "<wsse:Reference URI=\"#BinaryDAToken0\" />"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
168 "</wsse:RequestedTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
169 "<wssc:Nonce>%s</wssc:Nonce>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
170 "</wssc:DerivedKeyToken>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
171 "%s" /* wsu:Timestamp */\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
172 "<Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
173 "%s" /* SignedInfo */\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
174 "<SignatureValue>%s</SignatureValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
175 "<KeyInfo>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
176 "<wsse:SecurityTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
177 "<wsse:Reference URI=\"#SignKey\" />"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
178 "</wsse:SecurityTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
179 "</KeyInfo>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
180 "</Signature>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
181 "</wsse:Security>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
182 "</Header>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
183 "<Body>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
184 "%s" /* wst:RequestSecurityToken */ \
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
185 "</Body>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
186 "</Envelope>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
187
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
188 typedef struct _MsnUsrKey MsnUsrKey;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
189 struct _MsnUsrKey
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
190 {
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
191 int size; // 28. Does not count data
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
192 int crypt_mode; // CRYPT_MODE_CBC (1)
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
193 int cipher_type; // TripleDES (0x6603)
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
194 int hash_type; // SHA1 (0x8004)
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
195 int iv_len; // 8
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
196 int hash_len; // 20
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
197 int cipher_len; // 72
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
198 // Data
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
199 char iv[8];
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
200 char hash[20];
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
201 char cipher[72];
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
202 };
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
203
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
204 typedef struct _MsnTicketToken MsnTicketToken;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
205 struct _MsnTicketToken {
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
206 GHashTable *token;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
207 char *secret;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
208 time_t expiry;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
209 };
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
210
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211 typedef struct _MsnNexus MsnNexus;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213 struct _MsnNexus
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
215 MsnSession *session;
23513
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
216
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
217 /* From server via USR command */
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
218 char *policy;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
219 char *nonce;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
220
23513
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
221 /* From server via SOAP stuff */
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
222 char *cipher;
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
223 char *secret;
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
224 MsnTicketToken *tokens;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
225 int token_len;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
226 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
227
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
228 void msn_nexus_connect(MsnNexus *nexus);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229 MsnNexus *msn_nexus_new(MsnSession *session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
230 void msn_nexus_destroy(MsnNexus *nexus);
23513
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
231 GHashTable *msn_nexus_get_token(MsnNexus *nexus, MsnAuthDomains id);
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
232 const char *msn_nexus_get_token_str(MsnNexus *nexus, MsnAuthDomains id);
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23492
diff changeset
233 void msn_nexus_update_token(MsnNexus *nexus, int id, GSourceFunc cb, gpointer data);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
234 #endif /* _MSN_NEXUS_H_ */
23489
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
235