From 0149dbeb97ead74ffcf4ac74b0dace8277800010 Mon Sep 17 00:00:00 2001 From: ultramage Date: Fri, 3 Apr 2009 17:04:49 +0000 Subject: [PATCH] Quick-fixed a bug that let anyone kick any online character from the mapserver (bugreport:2939). git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13656 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/map/clif.c b/src/map/clif.c index 9887b7bad6..8998ba8066 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; }