mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-19 04:58:00 +00:00
Updated Reference Manifest Page Controller so that the files being uploaded are properly handled. Swid tag files that ended with 'new' were being saved as if they were tpm log files. Updated how the code detects the type of file so that bin/rim/rimel are tested for and saved while anything else is processed as a swid tag.
This commit is contained in:
parent
9a4f6aa829
commit
29789e2fbe
@ -30,6 +30,8 @@ import java.util.UUID;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -59,6 +61,7 @@ public class ReferenceManifestPageController
|
||||
extends PageController<NoPageParams> {
|
||||
|
||||
private static final String BIOS_RELEASE_DATE_FORMAT = "yyyy-MM-dd";
|
||||
private static final String LOG_FILE_PATTERN = "([^\\s]+(\\.(?i)(rim|rimel|bin))$)";
|
||||
|
||||
private final BiosDateValidator biosValidator;
|
||||
private final ReferenceManifestManager referenceManifestManager;
|
||||
@ -193,9 +196,9 @@ public class ReferenceManifestPageController
|
||||
// loop through the files
|
||||
for (MultipartFile file : files) {
|
||||
fileName = file.getOriginalFilename();
|
||||
if (fileName.toLowerCase().endsWith("swidtag")) {
|
||||
rims.add(file);
|
||||
} else {
|
||||
Pattern pattern = Pattern.compile(LOG_FILE_PATTERN);
|
||||
Matcher matcher = pattern.matcher(fileName);
|
||||
if (matcher.matches()) {
|
||||
filePath = Paths.get(String.format("%s/%s",
|
||||
SwidResource.RESOURCE_UPLOAD_FOLDER,
|
||||
file.getOriginalFilename()));
|
||||
@ -212,6 +215,10 @@ public class ReferenceManifestPageController
|
||||
"%s successfully uploaded", file.getOriginalFilename());
|
||||
messages.addSuccess(uploadCompletedMessage);
|
||||
LOGGER.info(uploadCompletedMessage);
|
||||
} else {
|
||||
// assume it is a swid tag, processing below will throw and error
|
||||
// if it is not.
|
||||
rims.add(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user