1
0
Fork 0

Startup check if IOrules/fgValidatePath are working properly

This commit is contained in:
Thomas Geymayer 2013-04-29 22:15:32 +02:00
parent 220f359d34
commit 222f2f71ef

View file

@ -112,6 +112,7 @@
#include "logger.hxx" #include "logger.hxx"
#include "main.hxx" #include "main.hxx"
#include "positioninit.hxx" #include "positioninit.hxx"
#include "util.hxx"
using std::string; using std::string;
using std::endl; using std::endl;
@ -772,6 +773,29 @@ void fgPostInitSubsystems()
nasal->init(); nasal->init();
SG_LOG(SG_GENERAL, SG_INFO, "Nasal init took:" << st.elapsedMSec()); SG_LOG(SG_GENERAL, SG_INFO, "Nasal init took:" << st.elapsedMSec());
// Ensure IOrules and path validation are working properly by trying to
// access a folder/file which should never be accessible.
const char* no_access_path =
#ifdef _WIN32
"Z:"
#endif
"/do-not-access";
if( fgValidatePath(no_access_path, true) )
SG_LOG
(
SG_GENERAL,
SG_ALERT,
"Check your IOrules! (write to '" << no_access_path << "' is allowed)"
);
if( fgValidatePath(no_access_path, false) )
SG_LOG
(
SG_GENERAL,
SG_ALERT,
"Check your IOrules! (read from '" << no_access_path << "' is allowed)"
);
// initialize methods that depend on other subsystems. // initialize methods that depend on other subsystems.
st.stamp(); st.stamp();
globals->get_subsystem_mgr()->postinit(); globals->get_subsystem_mgr()->postinit();