diff --git a/micord.env b/micord.env index 8f34a0a..130f803 100644 --- a/micord.env +++ b/micord.env @@ -16,6 +16,7 @@ ERVU_KAFKA_ERROR_TOPIC_NAME=ervu.lkrp.download.request ERVU_KAFKA_SUCCESS_TOPIC_NAME=ervu.lkrp.download.request ERVU_KAFKA_RESPONSE_TOPIC_NAME=ervu.lkrp.download.response +AV_CHECK_ENABLED=true AV_REST_ADDRESS=http://10.10.31.118:8085/scans AV_FIRST_TIMEOUT_MILLISECONDS=1000 AV_RETRY_MAX_ATTEMPTS_COUNT=10 diff --git a/src/main/java/ru/micord/ervu/av/service/FileUploadService.java b/src/main/java/ru/micord/ervu/av/service/FileUploadService.java index 01d7e15..3f90e03 100644 --- a/src/main/java/ru/micord/ervu/av/service/FileUploadService.java +++ b/src/main/java/ru/micord/ervu/av/service/FileUploadService.java @@ -51,6 +51,8 @@ import ru.micord.ervu.av.s3.S3Service; @Service public class FileUploadService { private static final Logger logger = LoggerFactory.getLogger(FileUploadService.class); + @Value("${av.check.enabled}") + private boolean avCheckEnabled; @Value("${av.rest.address}") private String avRestAddress; @Value("${av.first.timeout.milliseconds}") @@ -87,13 +89,17 @@ public class FileUploadService { Path filePath = Paths.get(fileSavingPath, fileUrl.fileName()); String downloadUrl = fileUrl.fileUrl(); downloadFile(downloadUrl, filePath); + boolean clean = true; + boolean infected = false; - AvResponse avResponse = checkFile(filePath); + if (avCheckEnabled) { + AvResponse avResponse = checkFile(filePath); - boolean clean = Arrays.stream(avResponse.verdicts()) - .anyMatch(verdict -> verdict.equalsIgnoreCase(AvResponse.Scan.VERDICT_CLEAN)); - boolean infected = Arrays.stream(avResponse.verdicts()) - .anyMatch(verdict -> verdict.equalsIgnoreCase(AvResponse.Scan.VERDICT_INFECTED)); + clean = Arrays.stream(avResponse.verdicts()) + .anyMatch(verdict -> verdict.equalsIgnoreCase(AvResponse.Scan.VERDICT_CLEAN)); + infected = Arrays.stream(avResponse.verdicts()) + .anyMatch(verdict -> verdict.equalsIgnoreCase(AvResponse.Scan.VERDICT_INFECTED)); + } if (infected || !clean) { downloadRequest.fileInfo().setFileUrl(null); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 135ce40..1a92a88 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -42,6 +42,7 @@ kafka.out.error.topic.name=${ERVU_KAFKA_ERROR_TOPIC_NAME} kafka.out.success.topic.name=${ERVU_KAFKA_SUCCESS_TOPIC_NAME} kafka.out.response.topic.name=${ERVU_KAFKA_RESPONSE_TOPIC_NAME} # +av.check.enabled=${AV_CHECK_ENABLED:false} av.rest.address=${AV_REST_ADDRESS} av.first.timeout.milliseconds=${AV_FIRST_TIMEOUT_MILLISECONDS:1000} av.retry.max.attempts.count=${AV_RETRY_MAX_ATTEMPTS_COUNT:10}