diff options
| author | George Hazan <ghazan@miranda.im> | 2018-07-24 23:18:04 +0300 | 
|---|---|---|
| committer | George Hazan <ghazan@miranda.im> | 2018-07-24 23:18:04 +0300 | 
| commit | 661376ac4624e302525a3849c243652a60c5577c (patch) | |
| tree | 6bbf1ad0ee3aefea3d8c5aabd2279827f2443c32 /protocols/Twitter/src | |
| parent | e6fe8b75c5f524b5dc87ef74777219b58ed63d14 (diff) | |
code cleaning
Diffstat (limited to 'protocols/Twitter/src')
| -rw-r--r-- | protocols/Twitter/src/connection.cpp | 56 | ||||
| -rw-r--r-- | protocols/Twitter/src/oauth.cpp | 110 | ||||
| -rw-r--r-- | protocols/Twitter/src/oauth.dev.h | 4 | ||||
| -rw-r--r-- | protocols/Twitter/src/proto.cpp | 2 | 
4 files changed, 38 insertions, 134 deletions
diff --git a/protocols/Twitter/src/connection.cpp b/protocols/Twitter/src/connection.cpp index af7f0774ab..6e389007f5 100644 --- a/protocols/Twitter/src/connection.cpp +++ b/protocols/Twitter/src/connection.cpp @@ -94,21 +94,18 @@ bool TwitterProto::NegotiateConnection()  	if (!dbTOK) {
  		oauthToken = dbv.pwszVal;
  		db_free(&dbv);
 -		//debugLogW("**NegotiateConnection - we have an oauthToken already in the db - %s", oauthToken);
  	}
  	INT_PTR dbTOKSec = getWString(TWITTER_KEY_OAUTH_TOK_SECRET, &dbv);
  	if (!dbTOKSec) {
  		oauthTokenSecret = dbv.pwszVal;
  		db_free(&dbv);
 -		//debugLogW("**NegotiateConnection - we have an oauthTokenSecret already in the db - %s", oauthTokenSecret);
  	}
  	INT_PTR dbName = getString(TWITTER_KEY_NICK, &dbv);
  	if (!dbName) {
  		screenName = dbv.pszVal;
  		db_free(&dbv);
 -		//debugLogW("**NegotiateConnection - we have a username already in the db - %s", screenName);
  	}
  	else {
  		dbName = getString(TWITTER_KEY_UN, &dbv);
 @@ -116,7 +113,6 @@ bool TwitterProto::NegotiateConnection()  			screenName = dbv.pszVal;
  			setString(TWITTER_KEY_NICK, dbv.pszVal);
  			db_free(&dbv);
 -			//debugLogW("**NegotiateConnection - we have a username already in the db - %s", screenName);
  		}
  	}
 @@ -133,28 +129,16 @@ bool TwitterProto::NegotiateConnection()  		resetOAuthKeys();
  		debugLogA("**NegotiateConnection - Reset OAuth Keys");
 -		//twit_.set_credentials(ConsumerKey, ConsumerSecret, oauthAccessToken, oauthAccessTokenSecret, L"", false);
 -		// i think i was doin the wrong thing here.. i was setting the credentials as oauthAccessToken instead of oauthToken
 -		// have to test..
  		debugLogA("**NegotiateConnection - Setting Consumer Keys...");
 -		/*debugLogW("**NegotiateConnection - sending set_cred: consumerKey is %s", ConsumerKey);
 -		debugLogW("**NegotiateConnection - sending set_cred: consumerSecret is %s", ConsumerSecret);
 -		debugLogW("**NegotiateConnection - sending set_cred: oauthToken is %s", oauthToken);
 -		debugLogW("**NegotiateConnection - sending set_cred: oauthTokenSecret is %s", oauthTokenSecret);
 -		debugLogA("**NegotiateConnection - sending set_cred: no pin");*/
  		twit_.set_credentials("", ConsumerKey, ConsumerSecret, oauthToken, oauthTokenSecret, L"", false);
  		debugLogA("**NegotiateConnection - Requesting oauthTokens");
  		http::response resp = twit_.request_token();
 -		//wstring rdata_WSTR(resp.data.length(),L' ');
  		wstring rdata_WSTR = UTF8ToWide(resp.data);
 -		//debugLogW("**NegotiateConnection - REQUEST TOKEN IS %s", rdata_WSTR);
  		OAuthParameters response = twit_.ParseQueryString(rdata_WSTR);
  		oauthToken = response[L"oauth_token"];
  		oauthTokenSecret = response[L"oauth_token_secret"];
 -		//debugLogW("**NegotiateConnection - oauthToken is %s", oauthToken);
 -		//debugLogW("**NegotiateConnection - oauthTokenSecret is %s", oauthTokenSecret);
  		if (oauthToken.length() < 1) {
  			ShowPopup("OAuth Tokens not received, check your internet connection?", 1);
 @@ -162,7 +146,7 @@ bool TwitterProto::NegotiateConnection()  			return false;
  		}
 -		//write those bitches to the db foe latta
 +		// write those bitches to the db foe latta
  		setWString(TWITTER_KEY_OAUTH_TOK, oauthToken.c_str());
  		setWString(TWITTER_KEY_OAUTH_TOK_SECRET, oauthTokenSecret.c_str());
 @@ -190,22 +174,20 @@ bool TwitterProto::NegotiateConnection()  		oauthAccessToken = dbv.pwszVal;
  		db_free(&dbv);
  		// this bit is saying "if we have found the db key, but it contains no data, then set dbTOK to 1"
 -		if (oauthAccessToken.size() > 1) {
 +		if (oauthAccessToken.size() > 1)
  			realAccessTok = true;
 -			//debugLogW("**NegotiateConnection - we have an oauthAccessToken already in the db - %s", oauthAccessToken); 
 -		}
 -		else debugLogA("**NegotiateConnection - oauthAccesToken too small? this is.. weird.");
 +		else
 +			debugLogA("**NegotiateConnection - oauthAccesToken too small? this is.. weird.");
  	}
  	dbTOKSec = getWString(TWITTER_KEY_OAUTH_ACCESS_TOK_SECRET, &dbv);
  	if (!dbTOKSec) {
  		oauthAccessTokenSecret = dbv.pwszVal;
  		db_free(&dbv);
 -		if (oauthAccessTokenSecret.size() > 1) {
 +		if (oauthAccessTokenSecret.size() > 1)
  			realAccessTokSecret = true;
 -			//debugLogW("**NegotiateConnection - we have an oauthAccessTokenSecret already in the db - %s", oauthAccessTokenSecret); 
 -		}
 -		else { debugLogA("**NegotiateConnection - oauthAccessTokenSecret too small? weird"); }
 +		else
 +			debugLogA("**NegotiateConnection - oauthAccessTokenSecret too small? weird");
  	}
  	if (!realAccessTok || !realAccessTokSecret) {  // if we don't have one of these beasties then lets go get 'em!
 @@ -213,7 +195,6 @@ bool TwitterProto::NegotiateConnection()  		debugLogA("**NegotiateConnection - either the accessToken or accessTokenSecret was not there..");
  		if (!getWString(TWITTER_KEY_OAUTH_PIN, &dbv)) {
  			pin = dbv.pwszVal;
 -			//debugLogW("**NegotiateConnection - we have an pin already in the db - %s", pin);
  			db_free(&dbv);
  		}
  		else {
 @@ -227,16 +208,10 @@ bool TwitterProto::NegotiateConnection()  			old_status = m_iStatus;
  			m_iDesiredStatus = m_iStatus = ID_STATUS_OFFLINE;
  			ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)old_status, m_iStatus);
 -
  			return false;
  		}
  		debugLogA("**NegotiateConnection - Setting Consumer Keys and PIN...");
 -		/*debugLogW("**NegotiateConnection - sending set_cred: consumerKey is %s", ConsumerKey);
 -		debugLogW("**NegotiateConnection - sending set_cred: consumerSecret is %s", ConsumerSecret);
 -		debugLogW("**NegotiateConnection - sending set_cred: oauthToken is %s", oauthToken);
 -		debugLogW("**NegotiateConnection - sending set_cred: oauthTokenSecret is %s", oauthTokenSecret);
 -		debugLogW("**NegotiateConnection - sending set_cred: pin is %s", pin);*/
  		twit_.set_credentials("", ConsumerKey, ConsumerSecret, oauthToken, oauthTokenSecret, pin, false);
 @@ -261,16 +236,10 @@ bool TwitterProto::NegotiateConnection()  			debugLogA("**NegotiateConnection - Successfully retrieved Access Tokens");
  			wstring rdata_WSTR2 = UTF8ToWide(accessResp.data);
 -			//debugLogW("**NegotiateConnection - accessToken STring is %s", rdata_WSTR2);
  			OAuthParameters accessTokenParameters = twit_.ParseQueryString(rdata_WSTR2);
 -
  			oauthAccessToken = accessTokenParameters[L"oauth_token"];
 -			//debugLogW("**NegotiateConnection - oauthAccessToken is %s", oauthAccessToken);
 -
  			oauthAccessTokenSecret = accessTokenParameters[L"oauth_token_secret"];
 -			//debugLogW("**NegotiateConnection - oauthAccessTokenSecret is %s", oauthAccessTokenSecret);
 -
  			screenName = WideToUTF8(accessTokenParameters[L"screen_name"]);
  			debugLogA("**NegotiateConnection - screen name is %s", screenName.c_str());
 @@ -302,10 +271,8 @@ bool TwitterProto::NegotiateConnection()  	}
  	if (!success) {
 -		//ShowPopup(TranslateT("Something went wrong with authorization, OAuth keys have been reset.  Please try to reconnect.  If problems persist, please se your doctor"));
  		debugLogA("**NegotiateConnection - Verifying credentials failed!  No internet maybe?");
 -		//resetOAuthKeys();
  		ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_FAILED, (HANDLE)old_status, m_iStatus);
  		// Set to offline
 @@ -315,15 +282,12 @@ bool TwitterProto::NegotiateConnection()  		return false;
  	}
 -	else {
 -		m_iStatus = m_iDesiredStatus;
 -		ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)old_status, m_iStatus);
 -		return true;
 -	}
 +	m_iStatus = m_iDesiredStatus;
 +	ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)old_status, m_iStatus);
 +	return true;
  }
 -
  void TwitterProto::MessageLoop(void*)
  {
  	debugLogA("***** Entering Twitter::MessageLoop");
 diff --git a/protocols/Twitter/src/oauth.cpp b/protocols/Twitter/src/oauth.cpp index 97af28c8f7..1105b6e650 100644 --- a/protocols/Twitter/src/oauth.cpp +++ b/protocols/Twitter/src/oauth.cpp @@ -42,11 +42,11 @@ OAuthParameters mir_twitter::BuildSignedOAuthParameters(  	oauthParameters[L"oauth_version"] = L"1.0";
  	oauthParameters[L"oauth_signature_method"] = L"HMAC-SHA1";
  	oauthParameters[L"oauth_consumer_key"] = consumerKey;
 +	oauthParameters[L"oauth_callback"] = L"oob";
  	// add the request token if found
 -	if (!requestToken.empty()) {
 -		oauthParameters[L"oauth_token"] = requestToken; /*debugLogW("requestToken not empty: %s", requestToken);*/
 -	}
 +	if (!requestToken.empty())
 +		oauthParameters[L"oauth_token"] = requestToken;
  	// add the authorization pin if found
  	if (!pin.empty()) {
 @@ -57,25 +57,19 @@ OAuthParameters mir_twitter::BuildSignedOAuthParameters(  	// this will be used to create the parameter signature
  	OAuthParameters allParameters = requestParameters;
 -	if (Compare(httpMethod, L"POST", false) && postData) {
 -		//debugLogA("in post section of buildOAuthParams");
 +	if (Compare(httpMethod, L"POST", false) && postData)
  		allParameters.insert(postData->begin(), postData->end());
 -	}
  	allParameters.insert(oauthParameters.begin(), oauthParameters.end());
  	// prepare a signature base, a carefully formatted string containing 
  	// all of the necessary information needed to generate a valid signature
  	wstring normalUrl = OAuthNormalizeUrl(url);
 -	//debugLogW("normalURL is %s", normalUrl);
  	wstring normalizedParameters = OAuthNormalizeRequestParameters(allParameters);
 -	//debugLogW("normalisedparams is %s", normalizedParameters);
  	wstring signatureBase = OAuthConcatenateRequestElements(httpMethod, normalUrl, normalizedParameters);
 -	//debugLogW("sigBase is %s", signatureBase);
  	// obtain a signature and add it to header requestParameters
  	wstring signature = OAuthCreateSignature(signatureBase, consumerSecret, requestTokenSecret);
 -	//debugLogW("**BuildSignedOAuthParameters - sig is %s", signature);
  	oauthParameters[L"oauth_signature"] = signature;
  	return oauthParameters;
 @@ -83,34 +77,17 @@ OAuthParameters mir_twitter::BuildSignedOAuthParameters(  wstring mir_twitter::UrlGetQuery(const wstring& url)
  {
 -	wstring query;
 -	/*
 -	URL_COMPONENTS components = {sizeof(URL_COMPONENTS)};
 -
 -	wchar_t buf[1024*4] = {};
 -
 -	components.lpszExtraInfo = buf;
 -	components.dwExtraInfoLength = _countof(buf);
 -
 -	BOOL crackUrlOk = InternetCrackUrl(url.c_str(), url.size(), 0, &components);
 -	_ASSERTE(crackUrlOk);
 -	if(crackUrlOk)
 -	{*/
 -
  	map<wstring, wstring> brokenURL = CrackURL(url);
 -	query = brokenURL[L"extraInfo"];
 -	//debugLogW("inside crack, url is %s", url);
 +	wstring query = brokenURL[L"extraInfo"];
  	wstring::size_type q = query.find_first_of(L'?');
 -	if (q != wstring::npos) {
 +	if (q != wstring::npos)
  		query = query.substr(q + 1);
 -	}
  	wstring::size_type h = query.find_first_of(L'#');
 -	if (h != wstring::npos) {
 +	if (h != wstring::npos)
  		query = query.substr(0, h);
 -	}
 -	//}
 +
  	return query;
  }
 @@ -127,12 +104,10 @@ wstring mir_twitter::OAuthWebRequestSubmit(  	const wstring& consumerSecret,
  	const wstring& oauthToken,
  	const wstring& oauthTokenSecret,
 -	const wstring& pin
 -	)
 +	const wstring& pin)
  {
 -	//debugLogW("URL is %s", url);
  	wstring query = UrlGetQuery(url);
 -	//debugLogW("query is %s", query);
 +
  	OAuthParameters originalParameters = ParseQueryString(query);
  	OAuthParameters oauthSignedParameters = BuildSignedOAuthParameters(
 @@ -147,29 +122,17 @@ wstring mir_twitter::OAuthWebRequestSubmit(  wstring mir_twitter::OAuthWebRequestSubmit(const OAuthParameters ¶meters, const wstring&)
  {
 -	//debugLogW("OAuthWebRequestSubmit(%s)", url);
 -
 -	//wstring oauthHeader = L"Authorization: OAuth ";
  	wstring oauthHeader = L"OAuth ";
 -	for (OAuthParameters::const_iterator it = parameters.begin();
 -		it != parameters.end();
 -		++it) {
 -		//debugLogW("%s = ", it->first);
 -		//debugLogW("%s", it->second);
 -		//debugLogA("---------");
 -
 -		if (it != parameters.begin()) {
 +	for (auto &it : parameters) {
 +		if (it != *parameters.begin())
  			oauthHeader += L",";
 -		}
  		wstring pair;
 -		pair += it->first + L"=\"" + it->second + L"\"";
 +		pair += it.first + L"=\"" + it.second + L"\"";
  		oauthHeader += pair;
  	}
 -	//debugLogW("oauthheader is %s", oauthHeader);
 -
  	return oauthHeader;
  }
 @@ -177,20 +140,13 @@ wstring mir_twitter::OAuthWebRequestSubmit(const OAuthParameters ¶meters, co  std::wstring mir_twitter::BuildQueryString(const OAuthParameters ¶meters)
  {
  	wstring query;
 -	//debugLogA("do we ever get here?");
 -	for (OAuthParameters::const_iterator it = parameters.begin();
 -		it != parameters.end();
 -		++it) {
 -		//debugLogA("aww como ONNNNNN");
 -		//debugLogA("%s = %s", it->first.c_str(), it->second.c_str());
 -		//debugLogW("in buildqueryString bit, first is %s", it->first);
 -		if (it != parameters.begin()) {
 +	for (auto &it : parameters) {
 +		if (it != *parameters.begin())
  			query += L"&";
 -		}
  		wstring pair;
 -		pair += it->first + L"=" + it->second + L"";
 +		pair += it.first + L"=" + it.second + L"";
  		query += pair;
  	}
  	return query;
 @@ -199,34 +155,28 @@ std::wstring mir_twitter::BuildQueryString(const OAuthParameters ¶meters)  wstring mir_twitter::OAuthConcatenateRequestElements(const wstring& httpMethod, wstring url, const wstring& parameters)
  {
  	wstring escapedUrl = UrlEncode(url);
 -	//debugLogW("before OAUTHConcat, params are %s", parameters);
  	wstring escapedParameters = UrlEncode(parameters);
 -	//debugLogA(")))))))))))))))))))))))))))))))))))))))))))))))");
 -	//debugLogW("after url encode, its %s", escapedParameters);
  	wstring ret = httpMethod + L"&" + escapedUrl + L"&" + escapedParameters;
  	return ret;
  }
 -/* CrackURL.. just basically pulls apart a url into a map of wstrings:
 - * scheme, domain, port, path, extraInfo, explicitPort
 - * explicitPort will be 0 or 1, 0 if there was no actual port in the url,
 - * and 1 if it was explicitely specified.
 - * eg "http://twitter.com/blah.htm" will give:
 - * http, twitter.com, 80, blah.htm, "", 0
 - * "https://twitter.com:989/blah.htm?boom" will give:
 - * https, twitter.com, 989, blah.htm?boom, ?boom, 1
 - */
 +// CrackURL.. just basically pulls apart a url into a map of wstrings:
 +// scheme, domain, port, path, extraInfo, explicitPort
 +// explicitPort will be 0 or 1, 0 if there was no actual port in the url,
 +// and 1 if it was explicitely specified.
 +// eg "http://twitter.com/blah.htm" will give:
 +// http, twitter.com, 80, blah.htm, "", 0
 +// "https://twitter.com:989/blah.htm?boom" will give:
 +// https, twitter.com, 989, blah.htm?boom, ?boom, 1
 +
  map<wstring, wstring> mir_twitter::CrackURL(wstring url)
  {
 -
  	wstring scheme1, domain1, port1, path1, extraInfo, explicitPort;
  	vector<wstring> urlToks, urlToks2, extraInfoToks;
  	Split(url, urlToks, L':', false);
 -	//debugLogW("**CRACK - URL to split is %s", url);
  	scheme1 = urlToks[0];
 -	//debugLogW("**CRACK - scheme is %s", scheme1);
  	if (urlToks.size() == 2) { // if there is only 1 ":" in the url
  		if (Compare(scheme1, L"http", false)) {
 @@ -236,19 +186,16 @@ map<wstring, wstring> mir_twitter::CrackURL(wstring url)  			port1 = L"443";
  		}
 -		//debugLogW("**CRACK::2 - port is %s", port1);
 -
  		Split(urlToks[1], urlToks2, L'/', false);
  		domain1 = urlToks2[0];
 -		//debugLogW("**CRACK::2 - domain is %s", domain1);
  		explicitPort = L"0";
  	}
  	else if (urlToks.size() == 3) { // if there are 2 ":"s in the URL, ie a port is explicitly set
  		domain1 = urlToks[1].substr(2, urlToks[1].size());
 -		//debugLogW("**CRACK::3 - domain is %s", domain1);
 +
  		Split(urlToks[2], urlToks2, L'/', false);
  		port1 = urlToks2[0];
 -		//debugLogW("**CRACK::3 - port is %s", port1);
 +
  		explicitPort = L"1";
  	}
  	else ppro_->debugLogW(L"**CRACK - not a proper URL? doesn't have a colon. URL is %s", url.c_str());
 @@ -259,7 +206,6 @@ map<wstring, wstring> mir_twitter::CrackURL(wstring url)  		}
  		path1 += urlToks2[i];
  	}
 -	//debugLogW("**CRACK - path is %s", path1);
  	wstring::size_type foundHash = path1.find(L"#");
  	wstring::size_type foundQ = path1.find(L"?");
 @@ -284,8 +230,6 @@ map<wstring, wstring> mir_twitter::CrackURL(wstring url)  		extraInfo = L"";
  	}
 -	//debugLogW("**CRACK - extraInfo is %s", extraInfo);
 -
  	map<wstring, wstring> result;
  	result[L"scheme"] = scheme1;
  	result[L"domain"] = domain1;
 diff --git a/protocols/Twitter/src/oauth.dev.h b/protocols/Twitter/src/oauth.dev.h deleted file mode 100644 index 24deff074c..0000000000 --- a/protocols/Twitter/src/oauth.dev.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once
 -
 -#define OAUTH_CONSUMER_KEY L"AwSuQV9A7uXpat81MQB48g"
 -#define OAUTH_CONSUMER_SECRET L"x8pPGCCV5wFs26euODb9gv4VQ4kiuxTp3ed2P8Of4"
\ No newline at end of file diff --git a/protocols/Twitter/src/proto.cpp b/protocols/Twitter/src/proto.cpp index b09db7ed71..a6f38105c7 100644 --- a/protocols/Twitter/src/proto.cpp +++ b/protocols/Twitter/src/proto.cpp @@ -22,7 +22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #include "utility.h"
  #include "theme.h"
  #include "ui.h"
 -#include "oauth.dev.h"
 +#include "..\..\..\..\miranda-private-keys\Twitter\oauth.dev.h"
  static volatile LONG g_msgid = 1;
  | 
