Deprecate hardcoded string-based authentication, add AUTH packet (#489)
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
This commit is contained in:
parent
3cac877378
commit
e4483719d4
@ -87,6 +87,7 @@ public:
|
|||||||
bool effects_enabled = false;
|
bool effects_enabled = false;
|
||||||
bool y_offset_enabled = false;
|
bool y_offset_enabled = false;
|
||||||
bool expanded_desk_mods_enabled = false;
|
bool expanded_desk_mods_enabled = false;
|
||||||
|
bool auth_packet_enabled = false;
|
||||||
|
|
||||||
///////////////loading info///////////////////
|
///////////////loading info///////////////////
|
||||||
|
|
||||||
|
@ -312,6 +312,8 @@ public:
|
|||||||
// Truncates text so it fits within theme-specified boundaries and sets the tooltip to the full string
|
// Truncates text so it fits within theme-specified boundaries and sets the tooltip to the full string
|
||||||
void truncate_label_text(QWidget* p_widget, QString p_identifier);
|
void truncate_label_text(QWidget* p_widget, QString p_identifier);
|
||||||
|
|
||||||
|
void on_authentication_state_received(int p_state);
|
||||||
|
|
||||||
~Courtroom();
|
~Courtroom();
|
||||||
private:
|
private:
|
||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
|
@ -1634,15 +1634,30 @@ void Courtroom::append_server_chatmessage(QString p_name, QString p_message,
|
|||||||
color =
|
color =
|
||||||
ao_app->get_color("server_chatlog_sender_color", "courtroom_fonts.ini")
|
ao_app->get_color("server_chatlog_sender_color", "courtroom_fonts.ini")
|
||||||
.name();
|
.name();
|
||||||
if (p_message == "Logged in as a moderator.") {
|
if (!ao_app->auth_packet_enabled && p_message == "Logged in as a moderator.") {
|
||||||
ui_guard->show();
|
// Emulate successful authentication
|
||||||
append_server_chatmessage(
|
on_authentication_state_received(1);
|
||||||
tr("CLIENT"), tr("You were granted the Disable Modcalls button."), "1");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ui_server_chatlog->append_chatmessage(p_name, p_message, color);
|
ui_server_chatlog->append_chatmessage(p_name, p_message, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Courtroom::on_authentication_state_received(int p_state)
|
||||||
|
{
|
||||||
|
if (p_state >= 1) {
|
||||||
|
ui_guard->show();
|
||||||
|
append_server_chatmessage(tr("CLIENT"), tr("You were granted the Disable Modcalls button."), "1");
|
||||||
|
}
|
||||||
|
else if (p_state == 0) {
|
||||||
|
append_server_chatmessage(tr("CLIENT"), tr("Login unsuccessful."), "1");
|
||||||
|
}
|
||||||
|
else if (p_state < 0) {
|
||||||
|
ui_guard->hide();
|
||||||
|
append_server_chatmessage(tr("CLIENT"), tr("You were logged out."), "1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Courtroom::on_chat_return_pressed()
|
void Courtroom::on_chat_return_pressed()
|
||||||
{
|
{
|
||||||
if (is_muted)
|
if (is_muted)
|
||||||
|
@ -199,6 +199,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
additive_enabled = false;
|
additive_enabled = false;
|
||||||
effects_enabled = false;
|
effects_enabled = false;
|
||||||
expanded_desk_mods_enabled = false;
|
expanded_desk_mods_enabled = false;
|
||||||
|
auth_packet_enabled = false;
|
||||||
if (f_packet.contains("yellowtext", Qt::CaseInsensitive))
|
if (f_packet.contains("yellowtext", Qt::CaseInsensitive))
|
||||||
yellow_text_enabled = true;
|
yellow_text_enabled = true;
|
||||||
if (f_packet.contains("prezoom", Qt::CaseInsensitive))
|
if (f_packet.contains("prezoom", Qt::CaseInsensitive))
|
||||||
@ -229,6 +230,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
y_offset_enabled = true;
|
y_offset_enabled = true;
|
||||||
if (f_packet.contains("expanded_desk_mods", Qt::CaseInsensitive))
|
if (f_packet.contains("expanded_desk_mods", Qt::CaseInsensitive))
|
||||||
expanded_desk_mods_enabled = true;
|
expanded_desk_mods_enabled = true;
|
||||||
|
if (f_packet.contains("auth_packet", Qt::CaseInsensitive))
|
||||||
|
auth_packet_enabled = true;
|
||||||
}
|
}
|
||||||
else if (header == "PN") {
|
else if (header == "PN") {
|
||||||
if (f_contents.size() < 2)
|
if (f_contents.size() < 2)
|
||||||
@ -683,6 +686,14 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
if (f_contents.size() > 1 && f_contents.at(1) == "1")
|
if (f_contents.size() > 1 && f_contents.at(1) == "1")
|
||||||
w_courtroom->on_reload_theme_clicked();
|
w_courtroom->on_reload_theme_clicked();
|
||||||
}
|
}
|
||||||
|
// Auth packet
|
||||||
|
else if (header == "AUTH") {
|
||||||
|
if (!courtroom_constructed || !auth_packet_enabled || f_contents.size() < 1)
|
||||||
|
goto end;
|
||||||
|
int authenticated = f_contents.at(0).toInt();
|
||||||
|
|
||||||
|
w_courtroom->on_authentication_state_received(authenticated);
|
||||||
|
}
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user