Mercurial > pidgin
annotate libpurple/protocols/msn/soap2.h @ 23476: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 | bca58b00afab |
children |
rev | line source |
---|---|
20526
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
1 /** |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
2 * @file soap2.h |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
3 * header file for SOAP connection related process |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
4 * |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
5 * purple |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
6 * |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
7 * Purple is the legal property of its developers, whose names are too numerous |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
8 * to list here. Please refer to the COPYRIGHT file distributed with this |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
9 * source distribution. |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
10 * |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
11 * This program is free software; you can redistribute it and/or modify |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
12 * it under the terms of the GNU General Public License as published by |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
13 * the Free Software Foundation; either version 2 of the License, or |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
14 * (at your option) any later version. |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
15 * |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
16 * This program is distributed in the hope that it will be useful, |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
19 * GNU General Public License for more details. |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
20 * |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
21 * You should have received a copy of the GNU General Public License |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
22 * along with this program; if not, write to the Free Software |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
24 */ |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
25 |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
26 #ifndef _MSN_SOAP2_H |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
27 #define _MSN_SOAP2_H |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
28 |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
29 #include "session.h" |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
30 #include "sslconn.h" |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
31 #include "xmlnode.h" |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
32 |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
33 #include <glib.h> |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
34 |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
35 typedef struct _MsnSoapMessage MsnSoapMessage; |
20528
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
36 typedef void (*MsnSoapCallback)(MsnSoapMessage *request, |
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
37 MsnSoapMessage *response, gpointer cb_data); |
20526
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
38 |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
39 struct _MsnSoapMessage { |
20528
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
40 char *action; |
20527
0034d7e89032
mostly done with soap level parsing, compiles
Ka-Hing Cheung <khc@hxbc.us>
parents:
20526
diff
changeset
|
41 xmlnode *xml; |
0034d7e89032
mostly done with soap level parsing, compiles
Ka-Hing Cheung <khc@hxbc.us>
parents:
20526
diff
changeset
|
42 GSList *headers; |
20526
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
43 }; |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
44 |
20528
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
45 MsnSoapMessage *msn_soap_message_new(const char *action, xmlnode *xml); |
20526
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
46 |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
47 void msn_soap_message_add_header(MsnSoapMessage *req, |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
48 const char *name, const char *value); |
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
49 |
20528
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
50 void msn_soap_message_send(MsnSession *session, |
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
51 MsnSoapMessage *message, const char *host, const char *path, |
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
52 MsnSoapCallback cb, gpointer cb_data); |
20527
0034d7e89032
mostly done with soap level parsing, compiles
Ka-Hing Cheung <khc@hxbc.us>
parents:
20526
diff
changeset
|
53 |
20528
06527cc0f79b
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@hxbc.us>
parents:
20527
diff
changeset
|
54 void msn_soap_message_destroy(MsnSoapMessage *message); |
20527
0034d7e89032
mostly done with soap level parsing, compiles
Ka-Hing Cheung <khc@hxbc.us>
parents:
20526
diff
changeset
|
55 |
20526
915e11fbaeb0
beginning of soap layer rewrite, does that even compile?
Ka-Hing Cheung <khc@hxbc.us>
parents:
diff
changeset
|
56 #endif |