diff options
author | George Hazan <ghazan@miranda.im> | 2018-01-04 20:45:00 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2018-01-04 20:45:00 +0300 |
commit | 5b32a855e518f67589fd49837795a605a19badce (patch) | |
tree | 58e6664efc8c826a35e72e4d1a54e8e957b75c42 /protocols/FacebookRM/src/login.cpp | |
parent | 823e3839b108658811f689f959f51058effd82ac (diff) |
code reordering, not to reassemble the whole project on each change in headers
Diffstat (limited to 'protocols/FacebookRM/src/login.cpp')
-rw-r--r-- | protocols/FacebookRM/src/login.cpp | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/protocols/FacebookRM/src/login.cpp b/protocols/FacebookRM/src/login.cpp new file mode 100644 index 0000000000..8547da48d2 --- /dev/null +++ b/protocols/FacebookRM/src/login.cpp @@ -0,0 +1,102 @@ +/* + +Facebook plugin for Miranda Instant Messenger +_____________________________________________ + +Copyright © 2011-17 Robert Pösel, 2017-18 Miranda NG team + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT 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, see <http://www.gnu.org/licenses/>. + +*/ + +#include "stdafx.h" + +////////////////////////////////////////////////////////////////////////////////////////// +// connecting physically + +LoginRequest::LoginRequest() : + HttpRequest(REQUEST_POST, FACEBOOK_SERVER_LOGIN "/login.php") +{ + Url << INT_PARAM("login_attempt", 1); +} + +LoginRequest::LoginRequest(const char *username, const char *password, const char *urlData, const char *bodyData) : + HttpRequest(REQUEST_POST, FACEBOOK_SERVER_LOGIN "/login.php") +{ + Persistent = NONE; + + Url + << INT_PARAM("login_attempt", 1) + << urlData; // additional data parsed from form + + Body + << INT_PARAM("persistent", 1) + << CHAR_PARAM("email", ptrA(mir_urlEncode(username))) + << CHAR_PARAM("pass", ptrA(mir_urlEncode(password))) + << CHAR_PARAM("lgndim", "eyJ3IjoxOTIwLCJoIjoxMDgwLCJhdyI6MTgzNCwiYWgiOjEwODAsImMiOjMyfQ==") // means base64 encoded: {"w":1920,"h":1080,"aw":1834,"ah":1080,"c":32} + << bodyData; // additional data parsed from form +} + +////////////////////////////////////////////////////////////////////////////////////////// +// request to receive login code via SMS + +LoginSmsRequest::LoginSmsRequest(facebook_client *fc, const char *dtsg) : + HttpRequest(REQUEST_POST, FACEBOOK_SERVER_REGULAR "/ajax/login/approvals/send_sms") +{ + Url << INT_PARAM("dpr", 1); + + Body + << CHAR_PARAM("method_requested", "sms_requested") + << INT_PARAM("__a", 1) + << INT_PARAM("__user", 0) + << INT_PARAM("__be", 0) + << CHAR_PARAM("__pc", "EXP1:DEFAULT") + << CHAR_PARAM("current_time", (utils::time::unix_timestamp() + ".000").c_str()) + << CHAR_PARAM("__dyn", fc->__dyn()) + << CHAR_PARAM("__req", fc->__req()) + << CHAR_PARAM("fb_dtsg", dtsg) + << CHAR_PARAM("ttstamp", fc->ttstamp_.c_str()) + << CHAR_PARAM("__rev", fc->__rev()); +} + +////////////////////////////////////////////////////////////////////////////////////////// +// setting machine name + +SetupMachineRequest::SetupMachineRequest() : + HttpRequest(REQUEST_POST, FACEBOOK_SERVER_REGULAR "/checkpoint/") +{ + Url << "next"; +} + +SetupMachineRequest::SetupMachineRequest(const char *dtsg, const char *nh, const char *submit) : + HttpRequest(REQUEST_POST, FACEBOOK_SERVER_REGULAR "/checkpoint/") +{ + Url << "next"; + + Body + << CHAR_PARAM(CMStringA(::FORMAT, "submit[%s]", submit), submit) + << CHAR_PARAM("nh", nh) + << CHAR_PARAM("fb_dtsg", dtsg); +} + +////////////////////////////////////////////////////////////////////////////////////////// +// disconnecting physically + +LogoutRequest::LogoutRequest(const char *dtsg, const char *logoutHash) : + HttpRequest(REQUEST_POST, FACEBOOK_SERVER_REGULAR "/logout.php") +{ + Body + << CHAR_PARAM("fb_dtsg", dtsg) + << CHAR_PARAM("h", logoutHash); +} |