diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-04-03 17:04:49 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-04-03 17:04:49 +0000 |
commit | 234460fe0489c61ec4e2fda00e15d37f127dc064 (patch) | |
tree | 851752be8c2db2a0aeded5fa8339a085beeeec1f | |
parent | 1c40d598b452b87cf86d4e1383341f95fc4bbf6c (diff) | |
download | hercules-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.c | 13 |
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; } |