diff options
author | FlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-12-31 19:23:34 +0000 |
---|---|---|
committer | FlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-12-31 19:23:34 +0000 |
commit | 84be7444dfc7f9f11ce0857b19bbd9401f30116e (patch) | |
tree | 0441fe8346ef8a07929736792d6b8f1ab5b23b89 /src/map/clif.c | |
parent | 0da3671876a62ff48b990990e2e1723865bc8cd7 (diff) | |
download | hercules-84be7444dfc7f9f11ce0857b19bbd9401f30116e.tar.gz hercules-84be7444dfc7f9f11ce0857b19bbd9401f30116e.tar.bz2 hercules-84be7444dfc7f9f11ce0857b19bbd9401f30116e.tar.xz hercules-84be7444dfc7f9f11ce0857b19bbd9401f30116e.zip |
* Added code to reject double logins in clif_parse_WantToConnection and added debug messages to detect possible double logins that escaped.
* Isolated accounts that are waiting for the quit ack. The rest of the game logic no longer has access to them though the id2sd/charid2sd dbs.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11998 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index d2044a77e..9f1625b7a 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -7617,7 +7617,17 @@ void clif_parse_WantToConnection(int fd, TBL_PC* sd) WFIFOSET(fd,packet_len(0x6a)); clif_setwaitclose(fd); return; - } else + } else if( map_knowsaccount(account_id) ) + {// double login + ShowError("clif_parse_WantToConnection: double login attempt AID/CID: %d/%d, rejecting...\n", account_id, char_id); + WFIFOHEAD(fd,packet_len(0x6a)); + WFIFOW(fd,0) = 0x6a; + WFIFOB(fd,2) = 3; // Rejected by server + WFIFOSET(fd,packet_len(0x6a)); + clif_setwaitclose(fd); + return; + } + else {// packet version accepted struct block_list* bl; if( (bl=map_id2bl(account_id)) != NULL && bl->type != BL_PC ) |