void tst_ServerWorkerTests::login(QString name, QString pass) { LoginRequest loginRequest; loginRequest.set_name(name); loginRequest.set_password(pass); mc->addMessage( &loginRequest ); QByteArray ba = mc->toArray(); worker->readyRead(ba); mc->Clear(); }
void HSRequest::SendLoginRequest(const char* channe_UUID) { //开始登陆 MobClickCpp::beginEvent("HSLoginTime"); CCLog("WEIBO_OPENID %s",channe_UUID); LoginRequest* r = LoginRequest::default_instance().New(); r->set_wb_uuid(channe_UUID); r->set_channel(HSJava::ShaderJava()->GetChannel()); r->set_version(HSJava::ShaderJava()->GetVersion()); HS_FILTER_REQUEST(r); }
void Driver::LoginToGate() { LoginRequest request; EnumServerType type = ST_GameServer; request.set_server_type(type); char *account = "just_for_test"; request.set_account(account); std::string tmp(account + std::to_string(type)); std::string key = GetMD5((md5byte *)tmp.c_str(), tmp.size()); request.set_secure_key(key); SendToGate(SERVER_LOGIN_REQUEST, request); }
void tst_ServerWorkerTests::loginChangesUserStatus() { LoginRequest loginRequest; LoginRequestResponse loginResponse; loginRequest.set_name(QStringLiteral("testuser")); loginRequest.set_password(QStringLiteral("some_password")); mc->addMessage( &loginRequest ); QByteArray ba = mc->toArray(); worker->readyRead(ba); mc->Clear(); QVERIFY(mc->fromArray(binaryMessage)); QVERIFY(loginResponse.fromArray(mc->getCapsule(0).getData())); QVERIFY(loginResponse.replay() == protbuf::Replay::UserAlreadyLogged); }
void tst_ServerWorkerTests::loginToServerBadUser() { LoginRequest loginRequest; LoginRequestResponse loginResponse; loginRequest.set_name(QStringLiteral("bad_user")); loginRequest.set_password(QStringLiteral("bad_passwd")); mc->addMessage( &loginRequest ); QByteArray ba = mc->toArray(); worker->readyRead(ba); mc->Clear(); QVERIFY(mc->fromArray(binaryMessage)); QVERIFY(loginResponse.fromArray(mc->getCapsule(0).getData())); QVERIFY(loginResponse.replay() == protbuf::Replay::LoginDeny); }
int SvCon::doRegister(){ int ret = 0; LoginRequest lgr; lgr.set_type(m_sv_type); lgr.set_id(ef::itostr(m_svid)); string reqbody; lgr.SerializeToString(&reqbody); head h; h.cmd = LOGIN_REQ; h.magic = MAGIC_NUMBER; string req; constructPacket(h, reqbody, req); ALogError(m_serv->getConfig().LogName) << "<action:server_register> " "<event_loop:" << getEventLoop() << "> <conid:" << getId() << "> <con_serv_id:" << m_con_serv_id << ">"; ret = sendMessage(req); return ret; }
void MainLayer::menuCloseCallback(Object* pSender) { SocketClient* socketClient = SocketClient::createSocketClient("127.0.0.1",12345); socketClient->retain(); SocketMgr::set(socketClient); socketClient = SocketMgr::get(); auto callback = std::bind(&MainLayer::onLoginResponse,this,std::placeholders::_1); socketClient->registCallbackT<LoginResponse>(1,callback); if (socketClient->connect()) { LoginRequest* loginRequestMessage = new LoginRequest(); loginRequestMessage->set_username("cmzx3444"); loginRequestMessage->set_password("123456"); socketClient->send(loginRequestMessage); loginRequestMessage = new LoginRequest(); loginRequestMessage->set_username("cmzx3444"); loginRequestMessage->set_password("123456"); socketClient->send(loginRequestMessage); loginRequestMessage = new LoginRequest(); loginRequestMessage->set_username("cmzx3444"); loginRequestMessage->set_password("123456"); socketClient->send(loginRequestMessage); loginRequestMessage = new LoginRequest(); loginRequestMessage->set_username("cmzx3444"); loginRequestMessage->set_password("123456"); socketClient->send(loginRequestMessage); } else { socketClient->release(); } Director::getInstance()->end(); #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) exit(0); #endif }
void LoginRequest::MergeFrom(const LoginRequest& from) { GOOGLE_CHECK_NE(&from, this); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_wb_uuid()) { set_wb_uuid(from.wb_uuid()); } if (from.has_channel()) { set_channel(from.channel()); } if (from.has_version()) { set_version(from.version()); } } }
std::shared_ptr<sb::messaging::Message> TibiaClient::handleLoginRequest(const char* data, size_t size) { using namespace sb::messaging; LoginRequest l; size_t numBytesRead = l.fromBinary(data, size); if(numBytesRead == 0) { std::cout << "Failed to handle login request." << std::endl; return std::make_shared<LoginResponse>(); } std::cout << "Handling login request: " << std::endl; std::cout << "\tAccount name: " << l.getAccountName() << std::endl; std::cout << "\tPassword: "******"Cannot login. Not in main menu." << std::endl; return std::make_shared<LoginResponse>(); } for(const Gui::Button& b : mGui.getButtons()) { if(b.text == "Login") { mInput->sendString(l.getAccountName()); mInput->sendKey(VK_TAB); mGraphicsMonitorReader->getNewFrame(); mGraphicsMonitorReader->getNewFrame(); mInput->sendString(l.getPassword()); mInput->sendKey(VK_RETURN); OVERLAPPED* overlapped = new OVERLAPPED(); *overlapped = {0}; for(size_t i = 0; i < 10; i++) { Frame frame = mGraphicsMonitorReader->getNewFrame(); for(auto it = frame.textDraws->begin(); it != frame.textDraws->end(); it++) { const TextDraw& text = *it; TextBuilder builder(text, frame.width, frame.height); for(const Text& t : builder.getText()) { if(t.string == "Select Character") { auto response = std::make_shared<LoginResponse>(sb::RequestResult::SUCCESS); it++; while(it != frame.textDraws->end()) { std::list<Text> character = TextBuilder(*it, frame.width, frame.height).getText(); if(character.size() != 2) break; if(character.front().string == "Account Status:") break; response->addCharacter(character.front().string, character.back().string); it++; } return response; } } } } return std::make_shared<LoginResponse>(); } } std::cout << "Failed to login. Login screen not visible." << std::endl; return std::make_shared<LoginResponse>(); }
int32 login(const std::string& cid, const std::string& pwd, int enc, const std::string& version) { int32 ret = 0; LoginRequest lgr; lgr.set_cid(cid); lgr.set_enc(enc); lgr.set_version(version); std::string s = cid + pwd + version + ef::itostr(time(NULL)); std::string tk; ef::MD5Hex(tk, (const ef::uint8*)s.data(), s.size()); lgr.set_token(tk); m_cid = cid; m_pwd = pwd; LoginResponse lgresp; std::string req; lgr.SerializeToString(&req); std::string rsp; ret = send_req(100, req); if(ret < 0) { LOG_OUT << "test_login send fail, cid:" << m_cid << std::endl; return ret; } int32 cmd = 0; ret = recv_resp(cmd, rsp); if(ret <= 0) { LOG_OUT << "login recv_resp fail, cid:" << m_cid << std::endl; return ret; } //redirect if(cmd == 1001) { RedirectResponse rdresp; rdresp.ParseFromString(rsp); disconnect(); if(rdresp.status() != 0 || !rdresp.addrs_size()) { return -1; } int i = 0; for(; i < rdresp.addrs_size(); ++i) { const Address& a = rdresp.addrs(i); LOG_OUT << "test_login redirect, cid:" << m_cid << ", addr:" << a.ip() << ", port:" << a.port() << std::endl; ret = bind_connect(a.ip(), a.port(), m_local_ip, m_local_port); if(ret < 0) { LOG_OUT << "test_login redirect fail, cid:" << m_cid << std::endl; } else { break; } } if(i < rdresp.addrs_size()) return login(m_cid, pwd, enc, version); } lgresp.ParseFromString(rsp); if(lgresp.status() == 0) { LOG_OUT << "test_login success: cid:" << m_cid << ", sessid:" << lgresp.sessid() << std::endl; } else { LOG_OUT << "test_login fail: cid:" << m_cid << ", status:" << lgresp.status() << std::endl; return -1; } m_sessid = lgresp.sessid(); ++success_count; return ret; }
int CliCon::handleLoginRequest(const head& h, const string& req, string& resp){ TimeRecorder t("CliCon::handleLoginRequest"); int ret = 0; int i = 0; LoginRequest lgreq; LoginResponse lgresp; string tk; string sessid; string enctk; if(!lgreq.ParseFromArray(req.data(), req.size())){ ret = INPUT_FORMAT_ERROR; goto exit; } //if login, return the sessid if(m_status == STATUS_LOGIN){ goto exit; } m_login_time = time(NULL); m_sess.set_id(lgreq.id()); m_sess.set_type(lgreq.type()); m_sess.set_consvid(m_serv->getConfig().ID); m_sess.set_version(lgreq.version()); ret = checkType(lgreq.type()); if(ret < 0){ ret = INVALID_TYPE; goto exit; } decorationName(m_serv->getConfig().ID, getId(), lgreq.id(), sessid); m_sess.set_sessid(sessid); for(; i < lgreq.kvs_size(); ++i){ *(m_sess.add_kvs()) = lgreq.kvs(i); } if(lgreq.type() > 0){ TypeMap::addServer(this); } ret = updateSession(); if(ret < 0){ ret = CREATE_SESSION_FAIL; } exit: if(ret < 0){ lgresp.set_status(ret); }else{ m_status = STATUS_LOGIN; lgresp.set_status(0); } lgresp.set_sessid(m_sess.sessid()); lgresp.SerializeToString(&resp); ALogError("ConnectServer") << "<action:client_login> <id:" << m_sess.id() << "> <version:" << lgreq.version() << "> <type:" << lgreq.type() << "> <token:" << lgreq.token() << "> <sessid:" << m_sess.sessid() << "> <status:" << ret << "> <errstr:" << getErrStr(ret) << ">"; return ret; }
int32 login(const std::string& cid, const std::string& version, const std::string& token){ int32 ret = 0; LoginRequest lgr; string enctk; if(token.size()){ ef::encrypt(token, enctk); } lgr.set_id(cid); lgr.set_type(-1); lgr.set_version(version); lgr.set_token(enctk); m_cid = cid; m_token = token; LoginResponse lgresp; std::string req; lgr.SerializeToString(&req); std::string rsp; ret = send_req(100, req); if(ret < 0){ LOG_OUT << "test_login send fail, cid:" << m_cid << std::endl; return ret; } int32 cmd = 0; ret = recv_resp(cmd, rsp); if(ret <= 0){ LOG_OUT << "login recv_resp fail, cid:" << m_cid << std::endl; return ret; } //redirect if(cmd == 1001){ RedirectResponse rdresp; rdresp.ParseFromString(rsp); disconnect(); if(rdresp.status() != 0 || !rdresp.addrs_size()){ return -1; } int i = 0; for(; i < rdresp.addrs_size(); ++i){ const Address& a = rdresp.addrs(i); LOG_OUT << "test_login redirect, cid:" << m_cid << ", addr:" << a.ip() << ", port:" << a.port() << std::endl; ret = bind_connect(a.ip(), a.port(), m_local_ip, m_local_port); if(ret < 0){ LOG_OUT << "test_login redirect fail, cid:" << m_cid << std::endl; }else{ break; } } if(i < rdresp.addrs_size()) return login(m_cid, version, token); } lgresp.ParseFromString(rsp); if(lgresp.status() == 0){ LOG_OUT << "test_login success: cid:" << m_cid << ", sessid:" << lgresp.sessid() << std::endl; }else{ LOG_OUT << "test_login fail: cid:" << m_cid << ", status:" << lgresp.status() << std::endl; return -1; } m_sessid = lgresp.sessid(); ++success_count; if(token.size()){ m_key = token + m_sessid; } return ret; }