From: Eric Leblond Date: Tue, 9 Oct 2012 10:56:17 +0000 (+0200) Subject: filestore: create file store directory if needed X-Git-Tag: suricata-1.4rc1~51 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=412482f6b131b196824e585a92b7fcaa39db6d1b;p=thirdparty%2Fsuricata.git filestore: create file store directory if needed This patch modifies the file store system to have it create the file store directory if needed. It dos not create the full directory tree as the parent directory must have already been created. --- diff --git a/src/log-filestore.c b/src/log-filestore.c index 645063a0bd..c6ea732008 100644 --- a/src/log-filestore.c +++ b/src/log-filestore.c @@ -440,10 +440,21 @@ TmEcode LogFilestoreLogThreadInit(ThreadVars *t, void *initdata, void **data) struct stat stat_buf; if (stat(g_logfile_base_dir, &stat_buf) != 0) { - SCLogError(SC_ERR_LOGDIR_CONFIG, "The file drop directory \"%s\" " - "supplied doesn't exist. Shutting down the engine", - g_logfile_base_dir); - exit(EXIT_FAILURE); + int ret; + ret = mkdir(g_logfile_base_dir, S_IRWXU|S_IXGRP|S_IRGRP); + if (ret != 0) { + int err = errno; + if (err != EEXIST) { + SCLogError(SC_ERR_LOGDIR_CONFIG, + "Cannot create file drop directory %s: %s", + g_logfile_base_dir, strerror(err)); + exit(EXIT_FAILURE); + } + } else { + SCLogInfo("Created file drop directory %s", + g_logfile_base_dir); + } + } *data = (void *)aft;