Aenderungen von log_file() in spare kopiert
Change-Id: I949a5fe9f70ee4a768d4eb0615537bd3958e5daf
diff --git a/secure/simul_efun/spare/files.c b/secure/simul_efun/spare/files.c
index 030b306..107df99 100644
--- a/secure/simul_efun/spare/files.c
+++ b/secure/simul_efun/spare/files.c
@@ -66,6 +66,14 @@
"valid_write",file,geteuid(PO),"log_file",PO))
return 0;
+ // pruefen, ob das Verzeichnis existiert - sonst anlegen
+ string dir=file[..strrstr(file,"/")-1];
+ if (file_size(dir) != -2) // FSIZE_DIR
+ {
+ if (!mkdirp(dir))
+ return 0;
+ }
+
// Wenn zu gross, rotieren.
if ( size_to_break >= 0 & (
sizeof(st = get_dir(file,2) ) && st[0] >= (size_to_break|MAX_LOG_SIZE)))
diff --git a/secure/simul_efun/spare/simul_efun.c b/secure/simul_efun/spare/simul_efun.c
index a1d987a..501f596 100644
--- a/secure/simul_efun/spare/simul_efun.c
+++ b/secure/simul_efun/spare/simul_efun.c
@@ -14,6 +14,8 @@
#define SNOOPLOGFILE "SNOOP"
#define ASNOOPLOGFILE "ARCH/SNOOP"
+public int mkdirp(string dir);
+
#include "/secure/config.h"
#include "/secure/wizlevels.h"
#include "/sys/snooping.h"