/* passport.h * * Functions to login to Microsoft Passport service for Messenger * Copyright (C) 2004-2008 Wilmer van der Gaast * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation * * This program is distributed in the hope that is will be useful, * bit WITHOU ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Thanks to http://msnpiki.msnfanatic.com/index.php/MSNP13:SOAPTweener for the specs! */ #ifndef __PASSPORT_H__ #define __PASSPORT_H__ #include #include #include #include #ifndef _WIN32 #include #include #include #include #endif #include "nogaim.h" #define MAX_PASSPORT_PWLEN 16 struct msn_auth_data { char *url; int ttl; char *username; char *password; char *cookie; /* The end result, the only thing we'll really be interested in once finished. */ char *token; char *error; /* Yeah, or that... */ void (*callback)( struct msn_auth_data *mad ); gpointer data; }; #define SOAP_AUTHENTICATION_URL "https://loginnet.passport.com/RST.srf" #define SOAP_AUTHENTICATION_REQUEST \ "POST %s HTTP/1.0\r\n" \ "Accept: text/*\r\n" \ "User-Agent: BitlBee " BITLBEE_VERSION "\r\n" \ "Host: %s\r\n" \ "Content-Length: %d\r\n" \ "Cache-Control: no-cache\r\n" \ "\r\n" \ "%s" #define SOAP_AUTHENTICATION_PAYLOAD \ "" \ "" \ "
" \ "" \ "{7108E71A-9926-4FCB-BCC9-9A9D3F32E423}" \ "4" \ "1" \ "" \ "AQAAAAIAAABsYwQAAAAzMDg0" \ "" \ "" \ "" \ "%s" \ "%s" \ "" \ "" \ "
" \ "" \ "" \ "" \ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue" \ "" \ "" \ "http://Passport.NET/tb" \ "" \ "" \ "" \ "" \ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue" \ "" \ "" \ "messenger.msn.com" \ "" \ "" \ "" \ "" \ "" \ "" \ "
" int passport_get_token( gpointer func, gpointer data, char *username, char *password, char *cookie ); #endif /* __PASSPORT_H__ */