diff --git a/src/common/length.h b/src/common/length.h index da0e2cf..fb70d80 100644 --- a/src/common/length.h +++ b/src/common/length.h @@ -67,8 +67,6 @@ enum EMisc //LIMIT_GOLD GOLD_MAX = 2000000000, - MAX_PASSPOD = 8 , - //END_LIMIT_GOLD diff --git a/src/common/tables.h b/src/common/tables.h index e4abe68..bcc69e3 100644 --- a/src/common/tables.h +++ b/src/common/tables.h @@ -271,36 +271,8 @@ enum HEADER_DG_MAP_LOCATIONS = 0xfe, HEADER_DG_P2P = 0xff, - HEADER_GP_CONFIRM_PASSPOD = 1, - HEADER_PG_CONFIRM_PASSPOD = 2, - }; -enum E_PASSPOD -{ - E_PASSPOD_SUCCESS = 0, - E_PASSPOD_FAILED_PASSPOD_ERROR, - E_PASSPOD_FAILED_USER_NOT_FOUND, - E_PASSPOD_FAILED_SYSTEM_NOT_FOUND, - E_PASSPOD_FAILED_TOKEN_DISABLED, - E_PASSPOD_FAILED_EMPTY, -}; - - -typedef struct SRequestConfirmPasspod -{ - int32_t pid; - char passpod[MAX_PASSPOD + 1]; - char login[LOGIN_MAX_LEN + 1]; - -} RequestConfirmPasspod; - -typedef struct SResultConfirmPasspod -{ - int32_t pid; - int32_t ret_code; - char login[LOGIN_MAX_LEN + 1]; -} ResultConfirmPasspod; /* ---------------------------------------------- * table * ---------------------------------------------- diff --git a/src/game/config.cpp b/src/game/config.cpp index cf31569..a000a46 100644 --- a/src/game/config.cpp +++ b/src/game/config.cpp @@ -32,7 +32,6 @@ int save_event_second_cycle = passes_per_sec * 120; // 3분 int ping_event_second_cycle = passes_per_sec * 60; bool g_bNoMoreClient = false; bool g_bNoRegen = false; -bool g_bNoPasspod = false; // TRAFFIC_PROFILER bool g_bTrafficProfileOn = false; diff --git a/src/game/config.h b/src/game/config.h index a04d9ce..50c6b00 100644 --- a/src/game/config.h +++ b/src/game/config.h @@ -17,9 +17,6 @@ extern WORD p2p_port; extern char db_addr[ADDRESS_MAX_LEN + 1]; extern WORD db_port; -extern char passpod_addr[ADDRESS_MAX_LEN + 1]; -extern WORD passpod_port; - extern int passes_per_sec; extern int save_event_second_cycle; extern int ping_event_second_cycle; diff --git a/src/game/db.cpp b/src/game/db.cpp index e8664ef..1bcb768 100644 --- a/src/game/db.cpp +++ b/src/game/db.cpp @@ -19,40 +19,8 @@ #include "spam.h" #include "auth_brazil.h" -extern bool g_bNoPasspod; extern std::string g_stBlockDate; -//중국 passpod 전용 함수 -bool CheckPasspod(const char * account) -{ - char szQuery[1024]; - - snprintf(szQuery, sizeof(szQuery), "SELECT ID FROM passpod WHERE Login='%s'", account); - SQLMsg * pMsg = DBManager::instance().DirectQuery(szQuery); - - if (!pMsg) - { - //fprintf(stderr, "cannot get the MATRIX\n"); - sys_log(0, "cannot get the PASSPOD"); - delete pMsg; - return false; - } - - if (pMsg->Get()->uiNumRows == 0) - { - puts(szQuery); - sys_log(0, "[PASSPOD]DirectQuery failed(%s)", szQuery); - - delete pMsg; - return false; - } - - delete pMsg; - - return true; -} - - DBManager::DBManager() : m_bIsConnect(false) { } @@ -285,32 +253,8 @@ void DBManager::LoginPrepare(LPDESC d, uint32_t * pdwClientKey, int * paiPremium MATRIX_CARD_COL(cols, 3) + 1, d->GetMatrixCode()); } - else - { - if (LC_IsNewCIBN()) - { - if (!g_bNoPasspod) - { - if (CheckPasspod(r.login)) - { - BYTE id = HEADER_GC_REQUEST_PASSPOD; - d->Packet(&id, sizeof(BYTE)); - sys_log(0, "%s request passpod", r.login); - } - else - { - SendAuthLogin(d); - } - } - else - { - SendAuthLogin(d); - } - } - else - SendAuthLogin(d); - } + SendAuthLogin(d); } void DBManager::AnalyzeReturnQuery(SQLMsg * pMsg) diff --git a/src/game/desc_client.cpp b/src/game/desc_client.cpp index 879e7a6..3bcc0fb 100644 --- a/src/game/desc_client.cpp +++ b/src/game/desc_client.cpp @@ -17,7 +17,6 @@ extern LPFDWATCH main_fdw; LPCLIENT_DESC db_clientdesc = NULL; LPCLIENT_DESC g_pkAuthMasterDesc = NULL; LPCLIENT_DESC g_NetmarbleDBDesc = NULL; -LPCLIENT_DESC g_PasspodDesc = NULL; static const char* GetKnownClientDescName(LPCLIENT_DESC desc) { if (desc == db_clientdesc) { @@ -26,8 +25,6 @@ static const char* GetKnownClientDescName(LPCLIENT_DESC desc) { return "g_pkAuthMasterDesc"; } else if (desc == g_NetmarbleDBDesc) { return "g_NetmarbleDBDesc"; - } else if (desc == g_PasspodDesc) { - return "g_PasspodDesc"; } return "unknown"; } diff --git a/src/game/desc_client.h b/src/game/desc_client.h index dc2f505..89e733c 100644 --- a/src/game/desc_client.h +++ b/src/game/desc_client.h @@ -46,6 +46,5 @@ class CLIENT_DESC : public DESC extern LPCLIENT_DESC db_clientdesc; extern LPCLIENT_DESC g_pkAuthMasterDesc; extern LPCLIENT_DESC g_NetmarbleDBDesc; -extern LPCLIENT_DESC g_PasspodDesc; #endif diff --git a/src/game/input.cpp b/src/game/input.cpp index d427a2f..4bd7633 100644 --- a/src/game/input.cpp +++ b/src/game/input.cpp @@ -23,7 +23,6 @@ #endif extern time_t get_global_time(); -extern bool g_bNoPasspod; bool IsEmptyAdminPage() { @@ -271,13 +270,6 @@ int CInputHandshake::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) else stResult = "YES"; } - else if (!stBuf.compare("IS_PASSPOD_UP")) - { - if (g_bNoPasspod) - stResult = "NO"; - else - stResult = "YES"; - } //else if (!stBuf.compare("SHOWMETHEMONEY")) else if (stBuf == g_stAdminPagePassword) { @@ -381,16 +373,6 @@ int CInputHandshake::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) LogManager::instance().CharLog(0, 0, 0, 1, "NOTICE", msg.c_str(), d->GetHostName()); BroadcastNotice(msg.c_str()); } - else if (!stBuf.compare("CLOSE_PASSPOD")) - { - g_bNoPasspod = true; - stResult += "CLOSE_PASSPOD"; - } - else if (!stBuf.compare("OPEN_PASSPOD")) - { - g_bNoPasspod = false; - stResult += "OPEN_PASSPOD"; - } else if (!stBuf.compare("SHUTDOWN")) { LogManager::instance().CharLog(0, 0, 0, 2, "SHUTDOWN", "", d->GetHostName()); diff --git a/src/game/input.h b/src/game/input.h index 8f1dec7..a73bbd5 100644 --- a/src/game/input.h +++ b/src/game/input.h @@ -362,7 +362,6 @@ class CInputAuth : public CInputProcessor public: void Login(LPDESC d, const char * c_pData); - void PasspodAnswer(LPDESC d, const char * c_pData ); }; diff --git a/src/game/input_auth.cpp b/src/game/input_auth.cpp index e0fc894..d3e2c71 100644 --- a/src/game/input_auth.cpp +++ b/src/game/input_auth.cpp @@ -6,7 +6,6 @@ #include "desc_manager.h" #include "protocol.h" #include "matrix_card.h" -#include "passpod.h" #include "locale_service.h" #include "auth_brazil.h" #include "db.h" @@ -263,10 +262,6 @@ int CInputAuth::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) Login(d, c_pData); break; - case HEADER_CG_PASSPOD_ANSWER: - PasspodAnswer(d, c_pData); - break; - case HEADER_CG_HANDSHAKE: break; @@ -277,54 +272,3 @@ int CInputAuth::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) return iExtraLen; } - -void CInputAuth::PasspodAnswer(LPDESC d, const char * c_pData) -{ - - if (!g_bAuthServer) - { - sys_err ("CInputAuth class is not for game server. IP %s might be a hacker.", - inet_ntoa(d->GetAddr().sin_addr)); - d->DelayedDisconnect(5); - return; - } - - TPacketCGPasspod * packet = (TPacketCGPasspod*)c_pData; - - RequestConfirmPasspod Confirm; - - memcpy(Confirm.passpod, packet->szAnswer, MAX_PASSPOD + 1); - memcpy(Confirm.login, d->GetAccountTable().login, LOGIN_MAX_LEN + 1); - - - if (!d->GetAccountTable().id) - { - sys_err("HEADER_CG_PASSPOD_ANSWER received to desc with no account table binded"); - return; - } - - int ret_code = 1; - sys_log(0, "Passpod start %s %s", d->GetAccountTable().login, packet->szAnswer); - ret_code = CPasspod::instance().ConfirmPasspod(d->GetAccountTable().login, packet->szAnswer); - - if (ret_code != 0) - { - sys_log(0, "PASSPOD: wrong answer: %s ret_code %d", d->GetAccountTable().login, ret_code); - - LoginFailure(d, ERR_MESSAGE[ret_code]); - - if (!d->CheckMatrixTryCount()) - { - LoginFailure(d, "QUIT"); - d->SetPhase(PHASE_CLOSE); - } - } - else - { - sys_log(0, "PASSPOD: success: %s", d->GetAccountTable().login); - DBManager::instance().SendAuthLogin(d); - } -// g_PasspodDesc->DBPacket(HEADER_GP_CONFIRM_PASSPOD, 0, &Confirm, sizeof(Confirm)); - -// sys_log(0, "PASSPOD %s %d", Confirm.login, Confirm.passpod); -} diff --git a/src/game/main.cpp b/src/game/main.cpp index 0b6d2f5..0abb822 100644 --- a/src/game/main.cpp +++ b/src/game/main.cpp @@ -46,7 +46,6 @@ #include "polymorph.h" #include "blend_item.h" #include "castle.h" -#include "passpod.h" #include "ani.h" #include "BattleArena.h" #include "over9refine.h" @@ -484,7 +483,6 @@ int main(int argc, char **argv) CTableBySkill SkillPowerByLevel; CPolymorphUtils polymorph_utils; CProfiler profiler; - CPasspod passpod; CBattleArena ba; COver9RefineManager o9r; SpamManager spam_mgr; diff --git a/src/game/packet.h b/src/game/packet.h index a71dd00..402dd4b 100644 --- a/src/game/packet.h +++ b/src/game/packet.h @@ -94,9 +94,6 @@ enum // HEADER_CG_ROULETTE = 200, // HEADER_CG_RUNUP_MATRIX_ANSWER = 201, - // - HEADER_CG_PASSPOD_ANSWER = 202, - //NOTE : 이런 개XXX 정말 이거 Packet설계한 사람은 누구냐. 이렇게 코딩하고 밥이 넘어가나. //enum을 별도로 구별을 하던가. 아님 namepsace로 구별을 하던가.. //정말 packet generator까지는 바라지도 않는다. 이런 씨XX @@ -277,9 +274,6 @@ enum // ROULETTE HEADER_GC_ROULETTE = 200, // END_ROULETTE - // - HEADER_GC_REQUEST_PASSPOD = 202, - HEADER_GC_REQUEST_PASSPOD_FAILED = 203, HEADER_GC_SPECIFIC_EFFECT = 208, @@ -843,7 +837,6 @@ enum EPhase PHASE_DBCLIENT, PHASE_P2P, PHASE_AUTH, - PHASE_PASSPOD, }; typedef struct packet_phase @@ -2127,18 +2120,6 @@ typedef struct command_runup_matrix_answer char szAnswer[RUNUP_MATRIX_ANSWER_MAX_LEN + 1]; } TPacketCGRunupMatrixAnswer; -typedef struct packet_passpod -{ - uint8_t bHeader; - char szAnswer[8+1]; -} TPacketCGPasspod; - -typedef struct packet_passpod_failed -{ - uint8_t bHeader; - char szMessage[128]; -} TPacketCGPasspodFailed; - typedef struct tag_GGSiege { uint8_t bHeader; diff --git a/src/game/packet_info.cpp b/src/game/packet_info.cpp index 63559d6..d80d681 100644 --- a/src/game/packet_info.cpp +++ b/src/game/packet_info.cpp @@ -219,7 +219,6 @@ CPacketInfoCG::CPacketInfoCG() Set(HEADER_CG_MALL_CHECKOUT, sizeof(TPacketCGSafeboxCheckout), "MallCheckout", true); Set(HEADER_CG_SCRIPT_SELECT_ITEM, sizeof(TPacketCGScriptSelectItem), "ScriptSelectItem", true); - Set(HEADER_CG_PASSPOD_ANSWER, sizeof(TPacketCGPasspod), "PasspodAnswer", true); Set(HEADER_CG_DRAGON_SOUL_REFINE, sizeof(TPacketCGDragonSoulRefine), "DragonSoulRefine", false); Set(HEADER_CG_STATE_CHECKER, sizeof(BYTE), "ServerStateCheck", false); diff --git a/src/game/passpod.cpp b/src/game/passpod.cpp deleted file mode 100644 index e225531..0000000 --- a/src/game/passpod.cpp +++ /dev/null @@ -1,196 +0,0 @@ -#include "stdafx.h" -#include "constants.h" -#include "passpod.h" - -extern BOOL g_test_server; -extern int test_server; -const char ERR_STRINGS[6][32] = -{ - "AUTH_SUCCESS" , - "AUTH_FAILURE:PASSPOD_ERROR" , - "AUTH_FAILURE:USER_NOT_FOUND" , - "AUTH_FAILURE:SYSTEM_NOT_FOUND" , - "AUTH_FAILURE:TOKEN_DISABLED" , - "AUTH_FAILURE:EMPTY", -}; - -const char ERR_MESSAGE[6][64] = -{ - "SUCCESS", - "PASERR1", - "PASERR2", - "PASERR3", - "PASERR4", - "PASERR5" -}; - -CPasspod::CPasspod() - : m_sock(INVALID_SOCKET), m_lpFDW(NULL) -{ -} - - -CPasspod::~CPasspod() -{ -} - -int CPasspod::ConfirmPasspod( const char * account, const char * passpod ) -{ - const char * servername = "1001"; - const char * algname = "plaintext"; - const char * posspod_server = "/passpod-server"; - const char * auth = "/auth.s"; - - - char szRequest[1024]; - char szResult[1024]; - char szTmp[128]; - - int ret_code = 1; // 0 이 성공 - - snprintf( szRequest, sizeof(szRequest), "username=%s&systemname=%s&passpod=%s&algname=%s", account, servername, passpod, algname ); - snprintf( szResult, sizeof(szResult), "POST %s%s HTTP/1.0\r\n", posspod_server, auth ); - snprintf( szTmp, sizeof(szTmp), "Host: %s\r\n", "218.99.6.103" ); - strlcat( szResult, szTmp, sizeof(szResult) ); - strlcat( szResult, "Content-type: application/x-www-form-urlencoded\r\n", sizeof(szResult) ); - snprintf( szTmp, sizeof(szTmp), "Content-length: %d\r\n", strlen(szRequest)); - strlcat( szResult, szTmp, sizeof(szResult) ); - strlcat( szResult, "Connection: Close\r\n\r\n", sizeof(szResult) ); - strlcat( szResult, szRequest, sizeof(szResult) ); - - if ( !Connect( NULL ) ) - { - sys_log( 0, "PASSPOD : Can not connect to passpod server" ); - Disconnect(); - return ret_code; - } - - int ret = socket_write( m_sock, (const char *)szResult, strlen(szResult)); - - sys_log( 0, "PASSPOD : Write End %s %s", account, passpod ); - if ( test_server ) - { - sys_log( 0, "PASSPOD : %s", szResult ); - - } - char Read[1024]; - int nCount = 5; - while (--nCount) - { - ret = recv(m_sock, Read, 1024, 0); - - if ( ret > 0 ) - { - if ( test_server ) - { - sys_log( 0, "PASSPOD : %d", ret ); - } - break; - } - else - { - if ( test_server ) - { - sys_log( 0, "PASSPOD : %d", ret ); - } - Disconnect(); - return ret_code; - } - } - sys_log( 0, "PASSPOD : Read End %s %s \n %s\n", account, passpod, Read ); - - char * pos = Read; - nCount = 15; - while ( --nCount ) - { - int n = 0; - - //라인넘기기 - for (; pos[n]!='\n'; ++n ) {} - - //\n에서 멈추기 하나더 남겨주자 - pos = pos+n+1; - - - //Return Value 를 비교 - if ( 0 == strncmp( pos, "AUTH_SUCCESS", strlen(ERR_STRINGS[0]) ) ) - { - ret_code = E_PASSPOD_SUCCESS; - break; - } - if ( 0 == strncmp( pos, "AUTH_FAILURE:PASSPOD_ERROR", strlen(ERR_STRINGS[1]) ) ) - { - ret_code = E_PASSPOD_FAILED_PASSPOD_ERROR; - break; - } - if ( 0 == strncmp( pos, "AUTH_FAILURE:USER_NOT_FOUND", strlen(ERR_STRINGS[2] ) ) ) - { - ret_code = E_PASSPOD_FAILED_USER_NOT_FOUND; - break; - } - if ( 0 == strncmp( pos, "AUTH_FAILURE:SYSTEM_NOT_FOUND", strlen(ERR_STRINGS[3] ) ) ) - { - ret_code = E_PASSPOD_FAILED_SYSTEM_NOT_FOUND; - break; - } - if ( 0 == strncmp( pos, "AUTH_FAILURE:TOKEN_DISABLED", strlen(ERR_STRINGS[4] ) ) ) - { - ret_code = E_PASSPOD_FAILED_TOKEN_DISABLED; - break; - } - if ( 0 == strncmp( pos, "AUTH_FAILURE:EMPTY", strlen(ERR_STRINGS[5] ) ) ) - { - ret_code = E_PASSPOD_FAILED_EMPTY; - break; - } - - } - - sys_log(0, "PASSPOD Ret Value = %s ", ERR_STRINGS[ret_code] ); - - - this->Disconnect(); - return ret_code; - -} - -bool CPasspod::Connect( LPFDWATCH fdw ) -{ - -// m_lpFDW = fdw; - - if ( m_sock != INVALID_SOCKET ) - { - sys_err( "Sock != INVALID_SOCKET " ); - return false; - } - - m_sock = socket_connect( "218.99.6.103", 8080 ); - - if ( m_sock == INVALID_SOCKET ) - { - sys_err( "Sock == INVALID_SOCKET " ); - return false; - } - - - - //fdwatch_add_fd( m_lpFDW, m_sock, this, FDW_READ, false ); - //fdwatch_add_fd( m_lpFDW, m_sock, this, FDW_WRITE, false ); - - - return true; -} - -bool CPasspod::Disconnect() -{ - //fdwatch_del_fd( m_lpFDW, m_sock ); - socket_close(m_sock); - m_sock = INVALID_SOCKET; - return true; -} - -bool CPasspod::IConv( const char * src, char * desc ) -{ - return true; -} diff --git a/src/game/passpod.h b/src/game/passpod.h deleted file mode 100644 index 7e01fcc..0000000 --- a/src/game/passpod.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef PASSPOD_H -#define PASSPOD_H - -class CPasspod : public singleton -{ -public: - CPasspod(); - ~CPasspod(); - - int ConfirmPasspod( const char * account,const char* passpod ); - bool Connect( LPFDWATCH fdw ); - bool Disconnect(); - - -private: - bool IConv( const char * src, char * desc ); - - -private: - - socket_t m_sock; - LPFDWATCH m_lpFDW; -}; - -extern const char ERR_STRINGS[6][32]; -extern const char ERR_MESSAGE[6][64]; - -#endif