Skip to content

Commit 4ac82e5

Browse files
authored
Fixes file system monitor on linux (#110)
1 parent 20d6df6 commit 4ac82e5

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

Cli/Program.cs

+12-4
Original file line numberDiff line numberDiff line change
@@ -704,10 +704,18 @@ private static int RunMonitorCommand(MonitorCommandOptions opts)
704704

705705
foreach (String dir in directories)
706706
{
707-
foreach (NotifyFilters filter in filterOptions)
707+
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
708708
{
709-
var newMon = new FileSystemMonitor(opts.RunId, dir, (filter != NotifyFilters.LastAccess) && opts.InterrogateChanges, filter);
710-
monitors.Add(newMon);
709+
var newMon = new FileSystemMonitor(opts.RunId, dir, false);
710+
}
711+
else
712+
{
713+
foreach (NotifyFilters filter in filterOptions)
714+
{
715+
Log.Information("Adding Path {0} Filter Type {1}", dir, filter.ToString());
716+
var newMon = new FileSystemMonitor(opts.RunId, dir, false, filter);
717+
monitors.Add(newMon);
718+
}
711719
}
712720
}
713721
}
@@ -741,7 +749,7 @@ private static int RunMonitorCommand(MonitorCommandOptions opts)
741749
aTimer.Enabled = true;
742750
}
743751

744-
foreach (var c in monitors)
752+
foreach (FileSystemMonitor c in monitors)
745753
{
746754
Log.Information("{0}: {1}", Strings.Get("Begin"), c.GetType().Name);
747755

Lib/Collectors/FileSystem/FileSystemMonitor.cs

+5
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ public void WriteChange(FileSystemEventArgs obj)
107107
cmd.Parameters.AddWithValue("@extended_results", "");
108108
cmd.Parameters.AddWithValue("@notify_filters", watcher.NotifyFilter.ToString());
109109
cmd.Parameters.AddWithValue("@serialized", JsonConvert.SerializeObject(obj));
110+
FileSystemMonitorResult fileSystemObject = new FileSystemMonitorResult()
111+
{
112+
evt = obj,
113+
filter = watcher.NotifyFilter
114+
};
110115

111116
cmd.ExecuteNonQuery();
112117
}

Lib/Objects/ResultObjects.cs

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using AttackSurfaceAnalyzer.Collectors.FileSystem;
44
using AttackSurfaceAnalyzer.ObjectTypes;
55
using Serilog;
6+
using System.IO;
67

78
namespace AttackSurfaceAnalyzer.ObjectTypes
89
{
@@ -53,6 +54,12 @@ public FileSystemResult()
5354
}
5455
}
5556

57+
public class FileSystemMonitorResult
58+
{
59+
public FileSystemEventArgs evt;
60+
public NotifyFilters filter;
61+
}
62+
5663
public class OpenPortResult: CompareResult
5764
{
5865
public OpenPortObject Base;

0 commit comments

Comments
 (0)