Ntop::Ntop(char *appName) { globals = new NtopGlobals(); pa = new PeriodicActivities(); address = new AddressResolution(); categorization = NULL; custom_ndpi_protos = NULL; rrd_lock = new Mutex(); /* FIX: one day we need to use the reentrant RRD API */ prefs = NULL, redis = NULL; num_defined_interfaces = 0; #ifdef WIN32 if(SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, working_dir) != S_OK) { strcpy(working_dir, "C:\\Windows\\Temp" /* "\\ntopng" */); // Fallback: it should never happen } // Get the full path and filename of this program if(GetModuleFileName(NULL, startup_dir, sizeof(startup_dir)) == 0) { startup_dir[0] = '\0'; } else { for(int i=strlen(startup_dir)-1; i>0; i--) if(startup_dir[i] == '\\') { startup_dir[i] = '\0'; break; } } strcpy(install_dir, startup_dir); #else struct stat statbuf; snprintf(working_dir, sizeof(working_dir), "%s/ntopng", CONST_DEFAULT_WRITABLE_DIR); umask (0); mkdir(working_dir, 0777); if(getcwd(startup_dir, sizeof(startup_dir)) == NULL) ntop->getTrace()->traceEvent(TRACE_ERROR, "Occurred while checking the current directory (errno=%d)", errno); if(stat(CONST_DEFAULT_INSTALL_DIR, &statbuf) == 0) strcpy(install_dir, CONST_DEFAULT_INSTALL_DIR); else { if(getcwd(install_dir, sizeof(install_dir)) == NULL) strcpy(install_dir, startup_dir); } #endif // printf("--> %s [%s]\n", startup_dir, appName); initTimezone(); }
void SchedulerTester::initTestCase() { initTimezone(); }
Ntop::Ntop(char *appName) { globals = new NtopGlobals(); pa = new PeriodicActivities(); address = new AddressResolution(); categorization = NULL; httpbl = NULL; custom_ndpi_protos = NULL; prefs = NULL, redis = NULL; num_defined_interfaces = 0; local_interface_addresses = New_Patricia(128); export_interface = NULL; historical_interface_id = -1; start_time = 0; /* It will be initialized by start() */ memset(iface, 0, sizeof(iface)); httpd = NULL, runtimeprefs = NULL, geo = NULL; #ifdef WIN32 if(SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, working_dir) != S_OK) { strcpy(working_dir, "C:\\Windows\\Temp" /* "\\ntopng" */); // Fallback: it should never happen } // Get the full path and filename of this program if(GetModuleFileName(NULL, startup_dir, sizeof(startup_dir)) == 0) { startup_dir[0] = '\0'; } else { for(int i=(int)strlen(startup_dir)-1; i>0; i--) if(startup_dir[i] == '\\') { startup_dir[i] = '\0'; break; } } dirs[0] = startup_dir; strcpy(install_dir, startup_dir); #else snprintf(working_dir, sizeof(working_dir), "%s/ntopng", CONST_DEFAULT_WRITABLE_DIR); umask (0); mkdir(working_dir, 0777); if(getcwd(startup_dir, sizeof(startup_dir)) == NULL) ntop->getTrace()->traceEvent(TRACE_ERROR, "Occurred while checking the current directory (errno=%d)", errno); dirs[0] = startup_dir; install_dir[0] = '\0'; for(int i=0; dirs[i] != NULL; i++) { char path[MAX_PATH]; struct stat statbuf; snprintf(path, sizeof(path), "%s/scripts/lua/index.lua", dirs[i]); fixPath(path); if(stat(path, &statbuf) == 0) { strcpy(install_dir, dirs[i]); break; } } #endif // printf("--> %s [%s]\n", startup_dir, appName); initTimezone(); }