summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-12-31 19:23:34 +0000
committerFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-12-31 19:23:34 +0000
commit84be7444dfc7f9f11ce0857b19bbd9401f30116e (patch)
tree0441fe8346ef8a07929736792d6b8f1ab5b23b89 /src/map/clif.c
parent0da3671876a62ff48b990990e2e1723865bc8cd7 (diff)
downloadhercules-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.c12
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 )