summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-04-03 17:04:49 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-04-03 17:04:49 +0000
commit234460fe0489c61ec4e2fda00e15d37f127dc064 (patch)
tree851752be8c2db2a0aeded5fa8339a085beeeec1f
parent1c40d598b452b87cf86d4e1383341f95fc4bbf6c (diff)
downloadhercules-234460fe0489c61ec4e2fda00e15d37f127dc064.tar.gz
hercules-234460fe0489c61ec4e2fda00e15d37f127dc064.tar.bz2
hercules-234460fe0489c61ec4e2fda00e15d37f127dc064.tar.xz
hercules-234460fe0489c61ec4e2fda00e15d37f127dc064.zip
Quick-fixed a bug that let anyone kick any online character from the mapserver (bugreport:2939).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13656 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/clif.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 9887b7bad..8998ba806 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -7874,17 +7874,8 @@ void clif_parse_WantToConnection(int fd, TBL_PC* sd)
if (bl ||
((node=chrif_search(account_id)) && //An already existing node is valid only if it is for this login.
- !(node->account_id == account_id && node->char_id == char_id && node->state == ST_LOGIN))) {
- sd = BL_CAST(BL_PC, bl);
- if (!sd)
- ; //We have another char with the same account logging in/out.
- else //Already connected player.
- if (sd->fd)
- clif_authfail_fd(sd->fd, 2); //someone else logged in
- else
- if(sd->state.autotrade)
- map_quit(sd);// kick autotrading character
- //Else do not kick character, it could be on its 10 sec penalty for Alt+F4
+ !(node->account_id == account_id && node->char_id == char_id && node->state == ST_LOGIN)))
+ {
clif_authfail_fd(fd, 8); //Still recognizes last connection
return;
}