From 15df382a06c8f67337ae459335f04c933a3c6755 Mon Sep 17 00:00:00 2001 From: Kieran Date: Mon, 7 Mar 2022 14:43:19 +0000 Subject: [PATCH] Configure `MaxStreamSize` for ClamAV --- VoidCat/Model/VoidSettings.cs | 4 +++- VoidCat/Services/VirusScanner/VirusScannerStartup.cs | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) 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(); } }