diff options
author | George Hazan <ghazan@miranda.im> | 2019-01-07 20:07:09 +0200 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2019-01-07 20:07:09 +0200 |
commit | 961e087318eb6de88c03a2eef1b2c1056c25d94c (patch) | |
tree | 96dfe72edd17fcaebcadf5fbbbbdb337e47aed06 /protocols/Icq10/src/server.cpp | |
parent | dc2267b1fb5bc6e43914f7a0709fbe48bf4b9a09 (diff) |
ICQ10:
- DB_KEY_RTOKEN isn't stored in a database anymore;
- ExecuteRequest code slightly reordered not to create a bunch of additional connections to rapi.icq.net
Diffstat (limited to 'protocols/Icq10/src/server.cpp')
-rw-r--r-- | protocols/Icq10/src/server.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/protocols/Icq10/src/server.cpp b/protocols/Icq10/src/server.cpp index 1d5bda5521..d46e41ec70 100644 --- a/protocols/Icq10/src/server.cpp +++ b/protocols/Icq10/src/server.cpp @@ -75,7 +75,6 @@ void CIcqProto::CheckPassword() Miranda_GetVersionText(mirVer, _countof(mirVer)); m_szAToken = getMStringA(DB_KEY_ATOKEN); - m_szRToken = getMStringA(DB_KEY_RTOKEN); m_iRClientId = getDword(DB_KEY_RCLIENTID); m_szSessionKey = getMStringA(DB_KEY_SESSIONKEY); if (m_szAToken.IsEmpty() || m_szSessionKey.IsEmpty()) { @@ -241,13 +240,13 @@ bool CIcqProto::RefreshRobustToken() tmp->AddHeader("User-Agent", szAgent); NETLIBHTTPREQUEST *reply = Netlib_HttpTransaction(m_hNetlibUser, tmp); - m_ConnPool[CONN_RAPI].s = nullptr; if (reply != nullptr) { + m_ConnPool[CONN_RAPI].s = reply->nlc; + RobustReply result(reply); if (result.error() == 20000) { const JSONNode &results = result.results(); m_szRToken = results["authToken"].as_mstring(); - setString(DB_KEY_RTOKEN, m_szRToken); // now add this token auto *add = new AsyncHttpRequest(CONN_RAPI, REQUEST_POST, ICQ_ROBUST_SERVER, &CIcqProto::OnAddClient); @@ -258,9 +257,9 @@ bool CIcqProto::RefreshRobustToken() ExecuteRequest(add); } - m_ConnPool[CONN_RAPI].s = reply->nlc; Netlib_FreeHttpRequest(reply); } + else m_ConnPool[CONN_RAPI].s = nullptr; delete tmp; return bRet; |