From 2c8c8dae160e8ea9270320336baa85b4e933c56b Mon Sep 17 00:00:00 2001 From: Alison Date: Thu, 4 Mar 2021 13:12:40 -0300 Subject: [PATCH 1/4] remove login_pin_code_request from RMS already implemented at Receive.pm --- src/Network/Receive/RMS.pm | 63 -------------------------------------- 1 file changed, 63 deletions(-) diff --git a/src/Network/Receive/RMS.pm b/src/Network/Receive/RMS.pm index ca33435923..4c853bf7e4 100644 --- a/src/Network/Receive/RMS.pm +++ b/src/Network/Receive/RMS.pm @@ -16,11 +16,6 @@ package Network::Receive::RMS; use strict; use base qw(Network::Receive::kRO::RagexeRE_2014_10_22b); -use Globals qw($firstLoginMap $startingzeny @chars %config $sentWelcomeMessage $accountID $messageSender %timeout); -use Log qw(debug message warning error); -use Translation qw(T); -use Utils qw(getHex); -use Misc qw(charSelectScreen); sub new { my ($class) = @_; @@ -29,62 +24,4 @@ sub new { return $self; } -sub login_pin_code_request { - my ($self, $args) = @_; - # flags: - # 0 - correct - RMS - # 1 - requested (already defined) - RMS - # 3 - expired - RMS(?) - # 4 - requested (not defined) - RMS - # 7 - correct - RMS - # 8 - incorrect - RMS - if ($args->{flag} == 7) { # removed check for seed 0, eA/rA/brA sends a normal seed. - message T("PIN code is correct.\n"), "success"; - # call charSelectScreen - if (charSelectScreen(1) == 1) { - $firstLoginMap = 1; - $startingzeny = $chars[$config{'char'}]{'zeny'} unless defined $startingzeny; - $sentWelcomeMessage = 1; - } - } elsif ($args->{flag} == 1) { - # PIN code query request. - $accountID = $args->{accountID}; - debug sprintf("Account ID: %s (%s)\n", unpack('V',$accountID), getHex($accountID)); - - message T("Server requested PIN password in order to select your character.\n"), "connection"; - return if ($config{loginPinCode} eq '' && !($self->queryAndSaveLoginPinCode())); - $messageSender->sendLoginPinCode($args->{seed}, 0); - } elsif ($args->{flag} == 4) { - # PIN code has never been set before, so set it. - warning T("PIN password is not set for this account.\n"), "connection"; - return if ($config{loginPinCode} eq '' && !($self->queryAndSaveLoginPinCode())); - - while ((($config{loginPinCode} =~ /[^0-9]/) || (length($config{loginPinCode}) != 4)) && - !($self->queryAndSaveLoginPinCode("Your PIN should never contain anything but exactly 4 numbers.\n"))) { - error T("Your PIN should never contain anything but exactly 4 numbers.\n"); - } - $messageSender->sendLoginPinCode($args->{seed}, 1); - } elsif ($args->{flag} == 3) { - # should we use the same one again? is it possible? - warning T("PIN password expired.\n"), "connection"; - return if ($config{loginPinCode} eq '' && !($self->queryAndSaveLoginPinCode())); - - while ((($config{loginPinCode} =~ /[^0-9]/) || (length($config{loginPinCode}) != 4)) && - !($self->queryAndSaveLoginPinCode("Your PIN should never contain anything but exactly 4 numbers.\n"))) { - error T("Your PIN should never contain anything but exactly 4 numbers.\n"); - } - $messageSender->sendLoginPinCode($args->{seed}, 1); - } elsif ($args->{flag} == 8) { - # PIN code incorrect. - error T("PIN code is incorrect.\n"); - #configModify('loginPinCode', '', 1); - return if (!($self->queryAndSaveLoginPinCode(T("The login PIN code that you entered is incorrect. Please re-enter your login PIN code.")))); - $messageSender->sendLoginPinCode($args->{seed}, 0); - } else { - debug("login_pin_code_request: unknown flag $args->{flag}\n"); - } - - $timeout{master}{time} = time; -} - 1; From 6b5ddf5686f26b24ba8d447f20057729cebeb2d8 Mon Sep 17 00:00:00 2001 From: Alison Date: Thu, 4 Mar 2021 13:13:28 -0300 Subject: [PATCH 2/4] add XKore_autoReplyPinCode let user decide if openkore or client will reply pincode --- src/Network/Receive.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Network/Receive.pm b/src/Network/Receive.pm index 9179436642..2c003f0aeb 100644 --- a/src/Network/Receive.pm +++ b/src/Network/Receive.pm @@ -3912,7 +3912,7 @@ sub login_pin_code_request { # This is ten second-level password login for 2013/3/29 upgrading of twRO my ($self, $args) = @_; - if($args->{flag} ne 0 && ($config{XKore} eq "1" || $config{XKore} eq "3")) { + if($args->{flag} ne 0 && ($config{XKore} eq "1" || $config{XKore} eq "3") && !$config{XKore_autoReplyPinCode}) { $timeout{master}{time} = time; return; } From c22f2d0e9869d43e26ea317df917493c00abe998 Mon Sep 17 00:00:00 2001 From: Alison Date: Thu, 4 Mar 2021 13:16:49 -0300 Subject: [PATCH 3/4] add XKore_autoReplyPinCode to config.txt --- control/config.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/control/config.txt b/control/config.txt index 11dab146f8..c8f8e7f634 100644 --- a/control/config.txt +++ b/control/config.txt @@ -34,6 +34,9 @@ XKore_listenIp 127.0.0.1 XKore_listenPort 6901 XKore_publicIp 127.0.0.1 XKore_ID + +# XKore misc configuration +XKore_autoReplyPinCode 1 # It is not advised to set secureAdminPassword if you're using Xkore 2 secureAdminPassword 1 From 76a33da36b7be330b1b9c3ae1721186de839cc33 Mon Sep 17 00:00:00 2001 From: Alison Date: Tue, 30 Mar 2021 14:13:52 -0300 Subject: [PATCH 4/4] enable XKore_autoReplyPinCode in all pin_code_request --- src/Network/Receive.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Network/Receive.pm b/src/Network/Receive.pm index 37e2fc953f..5e64745f63 100644 --- a/src/Network/Receive.pm +++ b/src/Network/Receive.pm @@ -3912,7 +3912,7 @@ sub login_pin_code_request { # This is ten second-level password login for 2013/3/29 upgrading of twRO my ($self, $args) = @_; - if($args->{flag} ne 0 && ($config{XKore} eq "1" || $config{XKore} eq "3") && !$config{XKore_autoReplyPinCode}) { + if(($config{XKore} eq "1" || $config{XKore} eq "3") && !$config{XKore_autoReplyPinCode}) { $timeout{master}{time} = time; return; }