do not try to load sessions if session_file config parameter is empty

This commit is contained in:
Tomasz Sowa 2022-05-31 07:49:51 +02:00
parent ba16cf41fe
commit ebfa5f7405
1 changed files with 28 additions and 17 deletions

View File

@ -652,26 +652,34 @@ void SessionManager::LoadSessions()
SessionParser sp;
SessionContainer::Iterator i;
sp.set_dependency(this);
// sessions will be overwritten (pointers are invalidated)
cur->session = &temporary_session;
sp.SetUsers(&system->users);
sp.Parse(config->session_file, session_tab);
for(i=session_tab.Begin() ; i != session_tab.End() ; ++i)
if( !config->session_file.empty() )
{
i->plugin_data.Resize(plugin->Size());
plugin->Call(&(*i), WINIX_SESSION_CREATED);
sp.set_dependency(this);
/*
!! IMPROVE ME
we do not add it to the last_container (we don't have IP address stored yet)
*/
// sessions will be overwritten (pointers are invalidated)
cur->session = &temporary_session;
if( i->puser )
plugin->Call(&(*i), WINIX_USER_LOGGED);
sp.SetUsers(&system->users);
sp.Parse(config->session_file, session_tab);
for(i=session_tab.Begin() ; i != session_tab.End() ; ++i)
{
i->plugin_data.Resize(plugin->Size());
plugin->Call(&(*i), WINIX_SESSION_CREATED);
/*
!! IMPROVE ME
we do not add it to the last_container (we don't have IP address stored yet)
*/
if( i->puser )
plugin->Call(&(*i), WINIX_USER_LOGGED);
}
}
else
{
// FIXME this log is not printed, why?
main_log << log1 << "SM: session_file config parameter is empty, not loading sessions" << logend;
}
cur->session = &temporary_session;
@ -686,7 +694,10 @@ void SessionManager::SaveSessions()
char file_path[WINIX_OS_PATH_SIZE];
if( config->session_file.empty() )
{
main_log << log1 << "SM: session_file config parameter is empty, not saving sessions - sessions lost" << logend;
return;
}
if( !wide_to_utf8(config->session_file, file_path, WINIX_OS_PATH_SIZE) )
return;