From 65a53b8ae95bf7adb160b4e7cb10efc342fa75d0 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 6 Aug 2013 19:28:47 +0000 Subject: proper cleanup for wassup git-svn-id: http://svn.miranda-ng.org/main/trunk@5605 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/WhatsApp/src/connection.cpp | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'protocols/WhatsApp/src/connection.cpp') diff --git a/protocols/WhatsApp/src/connection.cpp b/protocols/WhatsApp/src/connection.cpp index edd04248df..d7cfd7c93e 100644 --- a/protocols/WhatsApp/src/connection.cpp +++ b/protocols/WhatsApp/src/connection.cpp @@ -144,23 +144,19 @@ void WhatsAppProto::stayConnectedLoop(void*) CODE_BLOCK_TRY unsigned passLen; ptrA passBin((char*)mir_base64_decode(pass.c_str(), &passLen)); - std::string password(passBin, passLen); - BYTE UseSSL = getByte(WHATSAPP_KEY_SSL, 0); - if (UseSSL) { - this->conn = new WASocketConnection("c.whatsapp.net", 443); - - connection = new WAConnection(&this->connMutex, this, this); - login = new WALogin(connection, new BinTreeNodeReader(connection, conn, WAConnection::dictionary, WAConnection::DICTIONARY_LEN), - new BinTreeNodeWriter(connection, conn, WAConnection::dictionary, WAConnection::DICTIONARY_LEN, &writerMutex), - "s.whatsapp.net", this->phoneNumber, std::string(ACCOUNT_RESOURCE) +"-443", password, nick); - } else { - this->conn = new WASocketConnection("c.whatsapp.net", 5222); - - connection = new WAConnection(&this->connMutex, this, this); - login = new WALogin(connection, new BinTreeNodeReader(connection, conn, WAConnection::dictionary, WAConnection::DICTIONARY_LEN), - new BinTreeNodeWriter(connection, conn, WAConnection::dictionary, WAConnection::DICTIONARY_LEN, &writerMutex), - "s.whatsapp.net", this->phoneNumber, std::string(ACCOUNT_RESOURCE) +"-5222", password, nick); - } + std::string password(passBin, passLen), resource = ACCOUNT_RESOURCE; + int portNumber; + if (getByte(WHATSAPP_KEY_SSL, 0)) + portNumber = 443, resource += "-443"; + else + portNumber = 5222, resource += "-5222"; + + this->conn = new WASocketConnection("c.whatsapp.net", portNumber); + + connection = new WAConnection(&this->connMutex, this, this); + login = new WALogin(connection, new BinTreeNodeReader(connection, conn, WAConnection::dictionary, WAConnection::DICTIONARY_LEN), + new BinTreeNodeWriter(connection, conn, WAConnection::dictionary, WAConnection::DICTIONARY_LEN, &writerMutex), + "s.whatsapp.net", this->phoneNumber, resource, password, nick); std::vector* nextChallenge = login->login(*this->challenge); delete this->challenge; -- cgit v1.2.3