void PerformLogin(char *User, char *Pass) { uint ReUse = 1; int LogRes; Host CurLS; SetConsoleTitle("FakeSkype - Performing Login.."); InitLSQueue(); LSSock = socket(AF_INET, SOCK_STREAM, 0); setsockopt(LSSock, SOL_SOCKET, SO_REUSEADDR, (const char *)&ReUse, sizeof(ReUse)); while (!LSQueue.empty()) { CurLS = LSQueue.front(); if (SendHandShake2LS(CurLS)) { /*LogRes = -1; while (LogRes == -1) {*/ printf("Login Server %s OK ! Let's authenticate..\n", CurLS.ip); LogRes = SendAuthentificationBlobLS(CurLS, User, Pass); if (LogRes == 1) { closesocket(LSSock); return ; } /*if (LogRes == -1) { if (Connected) ResetLSSock(); Sleep(5000); SendHandShake2LS(CurLS); } }*/ } if (Connected) ResetLSSock(); LSQueue.pop(); } closesocket(LSSock); printf("Login Failed..\n"); ExitProcess(0); }
int PerformLogin(Skype_Inst *pInst, const char *User, const char *Pass) { uint ReUse = 1; int i; LSConnection conn={0}; int iRet = 0; for (i=0; !iRet && i<sizeof(LoginServers)/sizeof(LoginServers[0]); i++) { conn.LSSock = socket(AF_INET, SOCK_STREAM, 0); setsockopt(conn.LSSock, SOL_SOCKET, SO_REUSEADDR, (const char *)&ReUse, sizeof(ReUse)); if (SendHandShake2LS(pInst, &conn, &LoginServers[i])) { pInst->pfLog(pInst->pLogStream, "Login Server %s OK ! Let's authenticate..\n", LoginServers[i].ip); iRet = SendAuthentificationBlobLS(pInst, &conn, User, Pass); } closesocket(conn.LSSock); } if (!iRet) pInst->pfLog(pInst->pLogStream, "Login Failed..\n"); return iRet; }