Added a warning if the webadmin is enabled without any users. (#5499)

This commit is contained in:
NiLSPACE 2023-05-25 09:34:39 +02:00 committed by GitHub
parent a4668c000c
commit 17d5278d59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 0 deletions

View File

@ -190,6 +190,13 @@ void cWebAdmin::Reload(void)
" This will not take effect until you restart the server."
);
}
else if (!HasUsers())
{
LOGWARNING(
"The webadmin is enabled but has no users configured."
" To add new users, edit webadmin.ini"
);
}
// Initialize the WebAdmin template script and reload the file:
if (m_TemplateScript.IsValid())
@ -248,6 +255,23 @@ bool cWebAdmin::LoadIniFile(void)
bool cWebAdmin::HasUsers()
{
for (int i = 0; i < m_IniFile.GetNumKeys(); i++)
{
AString key = m_IniFile.GetKeyName(i);
if (key.rfind("User:", 0) == 0)
{
return true;
}
}
return false;
}
void cWebAdmin::HandleWebadminRequest(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request)
{
if (!a_Request.HasAuth())

View File

@ -260,6 +260,9 @@ protected:
Returns true if webadmin is enabled, false if disabled. */
bool LoadIniFile(void);
/** Checks inside the webadmin.ini file if there are users configured. */
bool HasUsers();
/** Handles requests coming to the "/webadmin" or "/~webadmin" URLs */
void HandleWebadminRequest(cHTTPServerConnection & a_Connection, cHTTPIncomingRequest & a_Request);