enable ftp in the ftp menu if it isn't already enabled.

This commit is contained in:
ITotalJustice
2025-05-19 08:32:05 +01:00
parent eadc46b0e4
commit bd6566524c
2 changed files with 13 additions and 1 deletions

View File

@@ -45,7 +45,7 @@ struct Menu final : MenuBase {
// this should be private // this should be private
// private: // private:
std::shared_ptr<StreamFtp> m_source; std::shared_ptr<StreamFtp> m_source{};
Thread m_thread{}; Thread m_thread{};
Mutex m_mutex{}; Mutex m_mutex{};
// the below are shared across threads, lock with the above mutex! // the below are shared across threads, lock with the above mutex!
@@ -55,6 +55,7 @@ struct Menu final : MenuBase {
const char* m_pass{}; const char* m_pass{};
unsigned m_port{}; unsigned m_port{};
bool m_anon{}; bool m_anon{};
bool m_was_ftp_enabled{};
}; };
} // namespace sphaira::ui::menu::ftp } // namespace sphaira::ui::menu::ftp

View File

@@ -152,6 +152,12 @@ Menu::Menu() : MenuBase{"FTP Install (EXPERIMENTAL)"_i18n} {
}}); }});
mutexInit(&m_mutex); mutexInit(&m_mutex);
m_was_ftp_enabled = App::GetFtpEnable();
if (!m_was_ftp_enabled) {
log_write("[FTP] wasn't enabled, forcefully enabling\n");
App::SetFtpEnable(true);
}
ftpsrv::InitInstallMode(this, OnInstallStart, OnInstallWrite, OnInstallClose); ftpsrv::InitInstallMode(this, OnInstallStart, OnInstallWrite, OnInstallClose);
m_port = ftpsrv::GetPort(); m_port = ftpsrv::GetPort();
@@ -171,6 +177,11 @@ Menu::~Menu() {
m_source->Disable(); m_source->Disable();
} }
if (!m_was_ftp_enabled) {
log_write("[FTP] disabling on exit\n");
App::SetFtpEnable(false);
}
log_write("closing data!!!!\n"); log_write("closing data!!!!\n");
} }