void VKBase::Authorization() { if(!_curl || getLogin().empty() || getPassword().empty()) return; char errorBuffer[CURL_ERROR_SIZE]; std::string buffer = ""; // for response std::string url = "https://login.vk.com/?act=login&soft=1&utf8=1"; std::string request = "_origin=https://oauth.vk.com"; //request += "&ip_h=62371f194b8af424e4"; // it need parse request += "&to=aHR0cHM6Ly9vYXV0aC52ay5jb20vYXV0aG9yaXplP2NsaWVudF9pZD00NTYxOTg5JnJlZGlyZWN0X3VyaT1odHRwJTNBJTJGJTJGYXBpLnZrb250YWt0ZS5ydSUyRmJsYW5rLmh0bWwmcmVzcG9uc2VfdHlwZT10b2tlbiZzY29wZT04JnY9NS4yNCZzdGF0ZT0mcmV2b2tlPTEmZGlzcGxheT1tb2JpbGU-"; // redirect url to base64 request += "&email="+getLogin(); request += "&pass="+getPassword(); curl_easy_setopt(_curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(_curl, CURLOPT_POSTFIELDS, request.c_str()); curl_easy_setopt(_curl, CURLOPT_WRITEFUNCTION, &VKBase::writer); curl_easy_setopt(_curl, CURLOPT_WRITEDATA, &buffer); curl_easy_setopt(_curl, CURLOPT_ERRORBUFFER, errorBuffer); CURLcode result = curl_easy_perform(_curl); curlCheckError(_curl, result, errorBuffer); _ip_h = parseIPhFromHeaders(buffer); _hash = parseHashFromHeaders(buffer); }
void YahooClient::moveBuddy(YahooUserData *data, const char *grp) { if (getState() != Connected) return; if (data->Group.ptr == NULL) { if ((grp == NULL) || (*grp == 0)) return; set_str(&data->Group.ptr, grp); addBuddy(data); return; } if ((grp == NULL) || (*grp == 0)) { removeBuddy(data); return; } if (!strcmp(data->Group.ptr, grp)) return; addParam(1, getLogin().utf8()); addParam(7, data->Login.ptr); addParam(65, grp); sendPacket(YAHOO_SERVICE_ADDBUDDY); addParam(1, getLogin().utf8()); addParam(7, data->Login.ptr); addParam(65, data->Group.ptr ? data->Group.ptr : ""); sendPacket(YAHOO_SERVICE_REMBUDDY); set_str(&data->Group.ptr, grp); }
void YahooClient::sendFile(FileMessage *msg, FileMessage::Iterator &it, YahooUserData *data) { const QString *name = ++it; if (name == NULL) return; QString m = msg->getPlainText(); addParam(0, getLogin().utf8()); addParam(5, data->Login.ptr); addParam(14, m.local8Bit()); addParam(27, name->local8Bit()); addParam(28, number(it.size()).c_str()); sendPacket(YAHOO_SERVICE_FILETRANSFER); string url; string cookies; url = "http://"; url += getFTServer(); url += ":"; url += number(getFTPort()); url += "/notifyft"; cookies = "Y="; cookies += getCookieY(); cookies += "; T="; cookies += getCookieT(); }
void YahooClient::addBuddy(YahooUserData *data) { if ((getState() != Connected) || (data->Group.ptr == NULL)) return; addParam(1, getLogin().utf8()); addParam(7, data->Login.ptr); addParam(65, data->Group.ptr ? data->Group.ptr : ""); sendPacket(YAHOO_SERVICE_ADDBUDDY); }
void YahooClient::sendTyping(YahooUserData *data, bool bState) { addParam(5, data->Login.ptr); addParam(4, getLogin().utf8()); addParam(14, " "); addParam(13, bState ? "1" : "0"); addParam(49, "TYPING"); sendPacket(YAHOO_SERVICE_NOTIFY, 0x16); }
void YahooClient::sendMessage(const QString &msgText, Message *msg, YahooUserData *data) { YahooParser p(msgText); addParam(0, getLogin().utf8()); addParam(1, getLogin().utf8()); addParam(5, data->Login.ptr); addParam(14, p.res.c_str()); if(p.bUtf) addParam(97, "1"); addParam(63, ";0"); addParam(64, "0"); sendPacket(YAHOO_SERVICE_MESSAGE, 0x5A55AA56); if ((msg->getFlags() & MESSAGE_NOHISTORY) == 0) { msg->setClient(dataName(data).c_str()); Event e(EventSent, msg); e.process(); } Event e(EventMessageSent, msg); e.process(); delete msg; }
bool DatabaseLoginPanel::select(DatabaseLogin const &oLogin, bool bNotify) { int i = find(oLogin); if(i == -1) return false; QModelIndex ind = mModel->index(i, 0); mCurrent = i; mGUI->mLoginListView->setCurrentIndex(ind); DatabaseLogin l = getLogin(i); setLogin(l); if(bNotify) onItemClicked(ind); return true; }
int main() { /* len=snprintf(in,1024,"%s","LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOL"); printf("!%s!\n",aes64encrypt(in)); printf("!%s!\n",aes64decrypt(base64)); printf("2print:%s\n",aesdecrypt(aesencrypt("LLLLAAALALALALALALALALALALALALALALALALALLAALLALAALLALLALLALALA"))); */ printf("len=%d\r\n",strlen(genLink("*****@*****.**","looooooooooooongnicki"))+strlen(getHash())); printf("http://site.ru/?Link=%d\n",checkLink(getLink(),getHash())); printf("http://site.ru/?Link=%s\n",getMail()); printf("http://site.ru/?Link=%s\n",getLogin()); /* len=sprintf(in,"%s","loolag"); bin2hex(in,out,len); printf("out:%s\n",out); hex2bin(out,in,strlen(out)); printf("in:%s\n",in); */ return 0; }
void SocketController::getValuesFromServer() { connectionLost = false; getGeneralConfigData(); getWifiConfiguration(); accountSettingsLoginTextInput->setProperty("text", getLogin()); getPortTrunkSetup(); getVlanSettings(); corporationInfoText->setProperty("text", getParamInfo("CorporationInfo")); getInfoAboutWifiConnections(); getPortStatusList(); getPortStatusCountersList(); getPortSetupList(); getPoeSetupList(); if (connectionLost) sendErrorMessage(QT_TR_NOOP("connection_lost")); }
void YahooClient::process_packet() { Params params; Params::iterator it; for (;;) { string key; string value; if (!m_socket->readBuffer.scan("\xC0\x80", key) || !m_socket->readBuffer.scan("\xC0\x80", value)) break; unsigned key_id = atol(key.c_str()); params.push_back(PARAM(key_id, value)); log(L_DEBUG, "Param: %u %s", key_id, value.c_str()); } switch (m_service) { case YAHOO_SERVICE_VERIFY: if (m_pkt_status != 1) { m_reconnect = NO_RECONNECT; m_socket->error_state(I18N_NOOP("Yahoo! login lock")); return; } addParam(1, getLogin().utf8()); sendPacket(YAHOO_SERVICE_AUTH); break; case YAHOO_SERVICE_AUTH: process_auth(params[13], params[94], params[1]); break; case YAHOO_SERVICE_AUTHRESP: m_pkt_status = 0; if (params[66]) m_pkt_status = atol(params[66]); switch (m_pkt_status) { case YAHOO_LOGIN_OK: authOk(); return; case YAHOO_LOGIN_PASSWD: m_reconnect = NO_RECONNECT; m_socket->error_state(I18N_NOOP("Login failed"), AuthError); return; case YAHOO_LOGIN_LOCK: m_reconnect = NO_RECONNECT; m_socket->error_state(I18N_NOOP("Your account has been locked"), AuthError); return; case YAHOO_LOGIN_DUPL: m_reconnect = NO_RECONNECT; m_socket->error_state(I18N_NOOP("Your account is being used from another location")); return; default: m_socket->error_state(I18N_NOOP("Login failed")); } break; case YAHOO_SERVICE_LIST: authOk(); loadList(params[87]); for (it = params.begin(); it != params.end(); ++it) { if ((*it).first == 59) { string s = (*it).second; string n = getToken(s, ' '); const char *p = s.c_str(); for (; *p; ++p) if (*p != ' ') break; string cookie = p; s = getToken(cookie, ';'); if (n == "Y") setCookieY(s.c_str()); if (n == "T") setCookieT(s.c_str()); } } break; case YAHOO_SERVICE_LOGOFF: if (m_pkt_status == (unsigned long)(-1)) { m_reconnect = NO_RECONNECT; m_socket->error_state(I18N_NOOP("Your account is being used from another location")); return; } case YAHOO_SERVICE_LOGON: if (params[1]) authOk(); case YAHOO_SERVICE_USERSTAT: case YAHOO_SERVICE_ISAWAY: case YAHOO_SERVICE_ISBACK: case YAHOO_SERVICE_GAMELOGON: case YAHOO_SERVICE_GAMELOGOFF: case YAHOO_SERVICE_IDACT: case YAHOO_SERVICE_IDDEACT: if (params[7] && params[13]) processStatus(m_service, params[7], params[10], params[19], params[47], params[137]); break; case YAHOO_SERVICE_IDLE: case YAHOO_SERVICE_MAILSTAT: case YAHOO_SERVICE_CHATINVITE: case YAHOO_SERVICE_CALENDAR: case YAHOO_SERVICE_NEWPERSONALMAIL: case YAHOO_SERVICE_ADDIDENT: case YAHOO_SERVICE_ADDIGNORE: case YAHOO_SERVICE_PING: case YAHOO_SERVICE_GOTGROUPRENAME: case YAHOO_SERVICE_GROUPRENAME: case YAHOO_SERVICE_PASSTHROUGH2: case YAHOO_SERVICE_CHATLOGON: case YAHOO_SERVICE_CHATLOGOFF: case YAHOO_SERVICE_CHATMSG: case YAHOO_SERVICE_REJECTCONTACT: case YAHOO_SERVICE_PEERTOPEER: break; case YAHOO_SERVICE_MESSAGE: if (params[4] && params[14]) process_message(params[4], params[14], params[97]); break; case YAHOO_SERVICE_NOTIFY: if (params[4] && params[49]) notify(params[4], params[49], params[13]); break; case YAHOO_SERVICE_NEWCONTACT: if (params[1]) { contact_added(params[3], params[14]); return; } if (params[7]) { processStatus(m_service, params[7], params[10], params[14], params[47], params[137]); return; } if (m_pkt_status == 7) contact_rejected(params[3], params[14]); break; case YAHOO_SERVICE_P2PFILEXFER: if ((params[49] == NULL) || strcmp(params[49], "FILEXFER")) { log(L_WARN, "Unhandled p2p type %s", params[49]); break; } case YAHOO_SERVICE_FILETRANSFER: if (params[4] && params[27] && params[28] && params[14] && params[20]) process_file(params[4], params[27], params[28], params[14], params[20]); break; default: log(L_WARN, "Unknown service %X", m_service); } }
void DatabaseLoginPanel::onSave(void) { DatabaseLogin login = getLogin(); addItem(login, true); }
bool RVPFile::msnftp() { bool error = false; while (!completed) { char *params = ""; char *line = connection->recvLine(); if (line != NULL && strlen(line) > 2) { if (strlen(line) > 3) { params = line + 4; } int command = (int)line[0] | (((int)line[1]) << 8) | (((int)line[2]) << 16); command = (command&0x00FFFFFF)|0x20000000; switch (command) { case ' REV': { char protocol[7]; bool msnftp = false; while (params != NULL && sscanf(params, "%6s", protocol) >= 1) { if (strcmp(protocol, "MSNFTP") == 0) { msnftp = true; break; } params = strstr(params, " "); if (params != NULL) params ++; } if (getMode() == RVPFile::MODE_SEND) { connection->send("VER MSNFTP\r\n"); } else { if (msnftp) { connection->sendText("USR %s %s\r\n",getLogin(),getAuthCookie()); } else { /* error */ } } } break; case ' RSU': { char email[130], cookie[14]; if (sscanf(params,"%129s %13s",email, cookie) >= 2) { if (!strcmp(email, getLogin()) && !strcmp(cookie, getAuthCookie())) { connection->sendText("FIL %i\r\n", getSize()); } else { /* error */ } break; } } break; case ' LIF': { char filesize[ 30 ]; if ( sscanf( params, "%s", filesize ) >= 1 ) { setSize(atol(filesize)); connection->send("TFR\r\n"); /* ack initializing */ if (listener != NULL) { listener->onFileProgress(this, RVPFileListener::PROGRESS_INITIALIZING, 0); } /* receive data */ int fileId = _open(getPath(), _O_BINARY|_O_WRONLY|_O_CREAT|_O_TRUNC, _S_IREAD|_S_IWRITE); error = false; if (fileId >= 0) { int bytesToReceive = getSize(); while (!error && bytesToReceive > 0) { char buffer[2048]; int header = 0; if (connection->recv((char *)&header, 3)) { int blockSize = header >> 8; while (!error && blockSize > 0) { error = true; int readSize = min(2048, blockSize); if (connection->recv(buffer, readSize)) { blockSize -= readSize; bytesToReceive -= readSize; if (_write(fileId, buffer, readSize) == readSize) { error = false; } } } if (listener != NULL) { listener->onFileProgress(this, RVPFileListener::PROGRESS_PROGRESS, getSize() - bytesToReceive); } if (header&0xFF != 0) { break; } } else { error = true; } } _close(fileId); } else { error = true; } completed = true; }
bool Settings::isHavingAuthData() { return ((getLogin()!="unknown")&&(getPassword()!="unknown")); }