diff --git a/VoidCat/Model/VoidSettings.cs b/VoidCat/Model/VoidSettings.cs index 49c2c81..11943b5 100644 --- a/VoidCat/Model/VoidSettings.cs +++ b/VoidCat/Model/VoidSettings.cs @@ -51,6 +51,8 @@ namespace VoidCat.Model public sealed record VirusScannerSettings { - public Uri? ClamAV { get; init; } + public ClamAVSettings? ClamAV { get; init; } } + + public sealed record ClamAVSettings(Uri Endpoint, long? MaxStreamSize); } diff --git a/VoidCat/Services/VirusScanner/VirusScannerStartup.cs b/VoidCat/Services/VirusScanner/VirusScannerStartup.cs index 9b80923..a2f4afc 100644 --- a/VoidCat/Services/VirusScanner/VirusScannerStartup.cs +++ b/VoidCat/Services/VirusScanner/VirusScannerStartup.cs @@ -9,17 +9,20 @@ public static class VirusScannerStartup public static void AddVirusScanner(this IServiceCollection services, VoidSettings settings) { services.AddTransient(); - + var avSettings = settings.VirusScanner; if (avSettings != default) { services.AddHostedService(); - + // load ClamAV scanner if (avSettings.ClamAV != default) { services.AddTransient((_) => - new ClamClient(avSettings.ClamAV.Host, avSettings.ClamAV.Port)); + new ClamClient(avSettings.ClamAV.Endpoint.Host, avSettings.ClamAV.Endpoint.Port) + { + MaxStreamSize = avSettings.ClamAV.MaxStreamSize ?? 26240000 + }); services.AddTransient(); } }