Update client.cpp

This commit is contained in:
Akkadius 2019-07-03 04:27:51 -05:00
parent daec42c4d9
commit c7e196e26d

View File

@ -245,28 +245,38 @@ void Client::Handle_Login(const char *data, unsigned int size)
} }
else { else {
if (server.options.IsPasswordLoginAllowed()) { if (server.options.IsPasswordLoginAllowed()) {
cred = (&outbuffer[1 + user.length()]); cred = (&outbuffer[1 + user.length()]);
auto components = SplitString(user, '.'); auto components = SplitString(user, '.');
if (components.size() == 2) { if (components.size() == 2) {
db_loginserver = components[0]; db_loginserver = components[0];
user = components[1]; user = components[1];
} }
LogF(
Logs::General,
Logs::Login_Server,
"Attempting password based login [{0}] login [{1}] user [{2}]",
user,
db_loginserver,
user
);
ParseAccountString(user, user, db_loginserver); ParseAccountString(user, user, db_loginserver);
if (server.db->GetLoginDataFromAccountInfo(user, db_loginserver, db_account_password_hash, db_account_id) == if (server.db->GetLoginDataFromAccountInfo(user, db_loginserver, db_account_password_hash, db_account_id)) {
false) { result = VerifyLoginHash(user, db_loginserver, cred, db_account_password_hash);
}
else {
status = cs_creating_account; status = cs_creating_account;
AttemptLoginAccountCreation(user, cred, db_loginserver); AttemptLoginAccountCreation(user, cred, db_loginserver);
return; return;
} }
else {
result = VerifyLoginHash(user, db_loginserver, cred, db_account_password_hash);
}
} }
} }
/* Login Accepted */ /**
* Login accepted
*/
if (result) { if (result) {
DoSuccessfulLogin(user, db_account_id, db_loginserver); DoSuccessfulLogin(user, db_account_id, db_loginserver);
} }
@ -355,7 +365,11 @@ void Client::AttemptLoginAccountCreation(
) )
{ {
if (loginserver == "eqemu") { if (loginserver == "eqemu") {
LogF(Logs::General, Logs::Login_Server, "Attempting login account creation via '{0}'", loginserver);
if (!server.options.CanAutoLinkAccounts()) { if (!server.options.CanAutoLinkAccounts()) {
LogF(Logs::General, Logs::Login_Server, "CanAutoLinkAccounts disabled - sending failed login");
DoFailedLogin(); DoFailedLogin();
return; return;
} }
@ -411,6 +425,7 @@ void Client::AttemptLoginAccountCreation(
); );
} }
else { else {
if (!server.options.CanAutoCreateAccounts()) { if (!server.options.CanAutoCreateAccounts()) {
DoFailedLogin(); DoFailedLogin();
return; return;