finalize refactoring & ready for the PR

This commit is contained in:
Volodymyr Smirnov
2020-10-26 21:24:40 +02:00
parent 14c9c26979
commit 62cdcdbb49
34 changed files with 229 additions and 164 deletions

View File

@@ -20,7 +20,7 @@ namespace MalwareMultiScan.Backends.Backends.Abstracts
protected abstract Regex MatchRegex { get; }
protected abstract string BackendPath { get; }
protected virtual bool ParseStdErr { get; }
protected virtual bool ParseStdErr { get; } = false;
protected virtual bool ThrowOnNonZeroExitCode { get; } = true;
protected abstract string GetBackendArguments(string path);

View File

@@ -4,7 +4,6 @@ using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using MalwareMultiScan.Backends.Interfaces;
using Microsoft.AspNetCore.Http;
namespace MalwareMultiScan.Backends.Backends.Abstracts
{
@@ -23,13 +22,6 @@ namespace MalwareMultiScan.Backends.Backends.Abstracts
return await ScanAsync(uriStream, cancellationToken);
}
public async Task<string[]> ScanAsync(IFormFile file, CancellationToken cancellationToken)
{
await using var fileStream = file.OpenReadStream();
return await ScanAsync(fileStream, cancellationToken);
}
public async Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken)
{
var tempFile = Path.GetTempFileName();

View File

@@ -3,7 +3,6 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
using MalwareMultiScan.Backends.Interfaces;
using Microsoft.AspNetCore.Http;
namespace MalwareMultiScan.Backends.Backends.Implementations
{
@@ -21,11 +20,6 @@ namespace MalwareMultiScan.Backends.Backends.Implementations
return Scan();
}
public Task<string[]> ScanAsync(IFormFile file, CancellationToken cancellationToken)
{
return Scan();
}
public Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken)
{
return Scan();

View File

@@ -1,4 +1,4 @@
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
ENV DEBIAN_FRONTEND noninteractive

View File

@@ -1,4 +1,4 @@
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
RUN apt-get update && apt-get install wget -y

View File

@@ -1,4 +1,4 @@
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
ARG DRWEB_KEY
ENV DRWEB_KEY=$DRWEB_KEY

View File

@@ -1,4 +1,4 @@
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
ARG KES_KEY
ENV KES_KEY=$KES_KEY

View File

@@ -1,4 +1,4 @@
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
RUN apt-get update && apt-get install unzip wget -y

View File

@@ -1,4 +1,4 @@
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
RUN apt-get update && apt-get install wget -y

View File

@@ -11,7 +11,7 @@ WORKDIR /opt/loadlibrary/engine
RUN curl -L "https://go.microsoft.com/fwlink/?LinkID=121721&arch=x86" --output mpan-fe.exe
RUN cabextract mpan-fe.exe && rm mpan-fe.exe
FROM mindcollapse/malware-multi-scan-worker:latest
FROM mindcollapse/malware-multi-scan-scanner:latest
RUN apt-get update && apt-get install -y libc6-i386

View File

@@ -2,17 +2,14 @@ using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
namespace MalwareMultiScan.Backends.Interfaces
{
public interface IScanBackend
{
public string Id { get; }
public Task<string[]> ScanAsync(string path, CancellationToken cancellationToken);
public Task<string[]> ScanAsync(Uri uri, CancellationToken cancellationToken);
public Task<string[]> ScanAsync(IFormFile file, CancellationToken cancellationToken);
public Task<string[]> ScanAsync(Stream stream, CancellationToken cancellationToken);
}
}

View File

@@ -3,13 +3,10 @@
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\MalwareMultiScan.Shared\MalwareMultiScan.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.9" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.9" />
</ItemGroup>
</Project>

View File

@@ -4,6 +4,8 @@ namespace MalwareMultiScan.Backends.Messages
{
public string Id { get; set; }
public string Backend { get; set; }
public bool Succeeded { get; set; }
public string[] Threats { get; set; }
}
}