annotate libpurple/protocols/msn/nexus.h @ 25452:6a0304f317cf

I was hoping this wouldn't be necessary, but it seems that the possibility has increased now that we update the display name in the AB. If two SOAP requests fail because of outdated tokens for the same server, it's possible that the second one could fail miserably. That's because both times, the update request would be made with the original cipher secret. However, the response for the first request would overwrite this secret, and the second response would attempt decryption with this new secret instead of the original. Now, we queue up the callbacks if a token-update is already in progress. This results in a single update if there happens to be multiple failures at a time, and it stops this incorrect decryption problem. Fixes #8415.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 15 Feb 2009 02:11:58 +0000
parents a0e957b7b923
children 462cb893521b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15373
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 *
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15373
diff changeset
4 * purple
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 *
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15373
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
15373
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
19681
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15822
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15373
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
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
27 /* 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
28 typedef enum
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
29 {
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
30 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
31 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
32 MSN_AUTH_CONTACTS = 2,
23447
72aa2ccad28d fix sending offline message in p15 by sending the correct token. In msnp14,
Ka-Hing Cheung <khc@hxbc.us>
parents: 23444
diff changeset
33 MSN_AUTH_LIVE_SECURE = 3,
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
34 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
35 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
36 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
37 } MsnAuthDomains;
19843
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15822
diff changeset
38
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
39 #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
40 #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
41
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
42 #define MSN_SSO_RST_TEMPLATE \
23476
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23468
diff changeset
43 "<wst:RequestSecurityToken xmlns=\"http://schemas.xmlsoap.org/ws/2004/04/trust\" Id=\"RST%d\">"\
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
44 "<wst:RequestType>http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue</wst:RequestType>"\
23476
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23468
diff changeset
45 "<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: 23468
diff changeset
46 "<wsa:EndpointReference xmlns=\"http://schemas.xmlsoap.org/ws/2004/03/addressing\">"\
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
47 "<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
48 "</wsa:EndpointReference>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
49 "</wsp:AppliesTo>"\
23476
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23468
diff changeset
50 "<wsse:PolicyReference xmlns=\"http://schemas.xmlsoap.org/ws/2003/06/secext\" URI=\"%s\"></wsse:PolicyReference>"\
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
51 "</wst:RequestSecurityToken>"
19843
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15822
diff changeset
52
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
53 #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
54 "<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
55 " 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
56 " 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
57 " 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
58 " 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
59 " 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
60 " 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
61 " 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
62 "<Header>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
63 "<ps:AuthInfo"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
64 " 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
65 " Id=\"PPAuthInfo\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
66 "<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
67 "<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
68 "<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
69 "<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
70 "<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
71 "</ps:AuthInfo>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
72 "<wsse:Security>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
73 "<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
74 "<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
75 "<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
76 "</wsse:UsernameToken>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
77 "</wsse:Security>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
78 "</Header>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
79 "<Body>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
80 "<ps:RequestMultipleSecurityTokens"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
81 " 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
82 " Id=\"RSTS\">"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
83 "<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
84 "<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
85 "<wsp:AppliesTo>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
86 "<wsa:EndpointReference>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
87 "<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
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 "</wsp:AppliesTo>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
90 "</wst:RequestSecurityToken>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
91 "%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
92 "</ps:RequestMultipleSecurityTokens>"\
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
93 "</Body>"\
19843
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15822
diff changeset
94 "</Envelope>"
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15822
diff changeset
95
23468
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
96 #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: 23447
diff changeset
97 "<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: 23447
diff changeset
98 "<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: 23447
diff changeset
99 "<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: 23447
diff changeset
100 "<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: 23447
diff changeset
101 "<ps:Cookies></ps:Cookies>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
102 "<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: 23447
diff changeset
103 "</ps:AuthInfo>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
104 /* 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: 23447
diff changeset
105 #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: 23447
diff changeset
106
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
107 #define MSN_SSO_TIMESTAMP_TEMPLATE \
23476
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23468
diff changeset
108 "<wsu:Timestamp xmlns=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" Id=\"Timestamp\">"\
23468
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
109 "<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: 23447
diff changeset
110 "<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: 23447
diff changeset
111 "</wsu:Timestamp>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
112
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
113 #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: 23447
diff changeset
114 "<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: 23447
diff changeset
115 "<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: 23447
diff changeset
116 "<SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#hmac-sha1\"></SignatureMethod>"\
23476
9fdf0accd4aa Finally got MSN token updating working (I think).
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23468
diff changeset
117 "<Reference URI=\"#RST%d\">"\
23468
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
118 "<Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
119 "<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: 23447
diff changeset
120 "</Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
121 "<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: 23447
diff changeset
122 "<DigestValue>%s</DigestValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
123 "</Reference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
124 "<Reference URI=\"#Timestamp\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
125 "<Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
126 "<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: 23447
diff changeset
127 "</Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
128 "<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: 23447
diff changeset
129 "<DigestValue>%s</DigestValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
130 "</Reference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
131 "<Reference URI=\"#PPAuthInfo\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
132 "<Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
133 "<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: 23447
diff changeset
134 "</Transforms>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
135 "<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: 23447
diff changeset
136 "<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: 23447
diff changeset
137 "</Reference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
138 "</SignedInfo>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
139
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
140 #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: 23447
diff changeset
141 "<Envelope"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
142 " 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: 23447
diff changeset
143 " 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: 23447
diff changeset
144 " 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: 23447
diff changeset
145 " 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: 23447
diff changeset
146 " 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: 23447
diff changeset
147 " 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: 23447
diff changeset
148 " 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: 23447
diff changeset
149 " 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: 23447
diff changeset
150 "<Header>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
151 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: 23447
diff changeset
152 "<wsse:Security>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
153 "<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: 23447
diff changeset
154 "<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: 23447
diff changeset
155 "<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: 23447
diff changeset
156 "<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: 23447
diff changeset
157 "</ds:KeyInfo>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
158 "<CipherData>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
159 "<CipherValue>%s</CipherValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
160 "</CipherData>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
161 "</EncryptedData>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
162 "<wssc:DerivedKeyToken Id=\"SignKey\">"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
163 "<wsse:RequestedTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
164 "<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: 23447
diff changeset
165 "<wsse:Reference URI=\"#BinaryDAToken0\" />"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
166 "</wsse:RequestedTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
167 "<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: 23447
diff changeset
168 "</wssc:DerivedKeyToken>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
169 "%s" /* wsu:Timestamp */\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
170 "<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: 23447
diff changeset
171 "%s" /* SignedInfo */\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
172 "<SignatureValue>%s</SignatureValue>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
173 "<KeyInfo>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
174 "<wsse:SecurityTokenReference>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
175 "<wsse:Reference URI=\"#SignKey\" />"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
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: 23447
diff changeset
177 "</KeyInfo>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
178 "</Signature>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
179 "</wsse:Security>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
180 "</Header>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
181 "<Body>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
182 "%s" /* wst:RequestSecurityToken */ \
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
183 "</Body>"\
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
184 "</Envelope>"
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
185
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
186 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
187 struct _MsnUsrKey
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
188 {
23521
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
189 int size; /* 28. Does not count data */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
190 int crypt_mode; /* CRYPT_MODE_CBC (1) */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
191 int cipher_type; /* TripleDES (0x6603) */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
192 int hash_type; /* SHA1 (0x8004) */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
193 int iv_len; /* 8 */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
194 int hash_len; /* 20 */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
195 int cipher_len; /* 72 */
a0e957b7b923 Take care of more cleanup in the MSN code.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23507
diff changeset
196 /* Data */
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
197 char iv[8];
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
198 char hash[20];
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
199 char cipher[72];
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
200 };
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
201
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
202 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
203 struct _MsnTicketToken {
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
204 GHashTable *token;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
205 char *secret;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
206 time_t expiry;
25452
6a0304f317cf I was hoping this wouldn't be necessary, but it seems that the possibility
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23521
diff changeset
207 GSList *updates;
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
208 };
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
209
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210 typedef struct _MsnNexus MsnNexus;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212 struct _MsnNexus
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 MsnSession *session;
23468
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
215
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
216 /* From server via USR command */
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
217 char *policy;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
218 char *nonce;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
219
23468
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
220 /* 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: 23447
diff changeset
221 char *cipher;
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
222 char *secret;
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
223 MsnTicketToken *tokens;
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
224 int token_len;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
225 };
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 void msn_nexus_connect(MsnNexus *nexus);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
228 MsnNexus *msn_nexus_new(MsnSession *session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229 void msn_nexus_destroy(MsnNexus *nexus);
23468
1b98e2090a71 Update MSN nexus functions so that tokens are properly updateable. It
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23447
diff changeset
230 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: 23447
diff changeset
231 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: 23447
diff changeset
232 void msn_nexus_update_token(MsnNexus *nexus, int id, GSourceFunc cb, gpointer data);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233 #endif /* _MSN_NEXUS_H_ */
23444
25899ec348a4 Patch 2 from Qulogic, this one adds SSO authentication
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20532
diff changeset
234