Hello Tomasz! Ok, I'll check for database updates in every hour (or shall I do that more often?)
But I would like to know what code is preferred doing so. I tried the following: void init_cl(){ int ret, no=0; if((ret = cl_loaddbdir(cl_retdbdir(), &root, &no))){ syslog(LOG_PRIORITY, "cl_loaddbdir: %s", cl_perror(ret)); fatal(ERR_LOAD_DB); } syslog(LOG_PRIORITY, "Loaded %d signatures.\n", no); if((ret = cl_build(root))) { syslog(LOG_PRIORITY, "%s: %s", ERR_DB_INIT, cl_strerror(ret)); fatal(ERR_BUILD_TRIE); } memset(&limits, 0, sizeof(struct cl_limits)); limits.maxfiles = MAXFILES; limits.maxfilesize = MAX_ARCHIVED_FILE_SIZE; limits.maxreclevel = MAX_RECURSION_LEVEL; limits.maxratio = MAX_COMPRESS_RATIO; limits.archivememlim = ARCHIVE_MEM_LIMIT; } void reload_cl(){ if(cl_statchkdir(&dbstat) == 1){ syslog(LOG_PRIORITY, "av database update has detected"); if(root){ cl_free(root); root = NULL; } init_cl(); cl_statfree(&dbstat); cl_statinidir(cl_retdbdir(), &dbstat); syslog(LOG_PRIORITY, "av database reloaded"); } alarm(REFRESH_INTERVAL); } SJ _______________________________________________ http://lists.clamav.net/cgi-bin/mailman/listinfo/clamav-users