From 51b40a5ef6fdfaf52a1e3de3d3eff6e134ffc9d0 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 22 Aug 2022 20:43:34 -0300 Subject: [PATCH] BonusAnalyzer: Add Adaptec model detection for the signature that lacked it --- biostools/analyzers.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/biostools/analyzers.py b/biostools/analyzers.py index 0ac7302..04ff078 100644 --- a/biostools/analyzers.py +++ b/biostools/analyzers.py @@ -995,7 +995,7 @@ class BonusAnalyzer(Analyzer): self._pci_ids = {} self._acpi_table_pattern = re.compile(b'''(DSDT|FACP|PSDT|RSDT|SBST|SSDT)([\\x00-\\xFF]{4})(?:[\\x00-\\xFF]{20}|[\\x00-\\xFF]{24})[\\x00\\x20-\\x7E]{4}''') - self._adaptec_pattern = re.compile(b'''Adaptec (?:BIOS:|([\\x20-\\x7E]+?)(?: SCSI)? BIOS )''') + self._adaptec_pattern = re.compile(b'''Adaptec (?:BIOS:([\\x20-\\x7E]+)|([\\x20-\\x7E]+?)(?: SCSI)? BIOS )''') self._ncr_pattern = re.compile(b''' SDMS \\(TM\\) V([0-9\\.]+)''') self._orom_pattern = re.compile(b'''\\x55\\xAA([\\x01-\\xFF])[\\x00-\\xFF]{21}([\\x00-\\xFF]{4})([\\x00-\\xFF]{2}IBM)?''') self._phoenixnet_patterns = ( @@ -1059,14 +1059,16 @@ class BonusAnalyzer(Analyzer): # Check for Adaptec and NCR SCSI. scsi_roms = [] - for submatch in self._adaptec_pattern.finditer(rom_data): - model = submatch.group(1) + submatch = self._adaptec_pattern.search(rom_data) + if submatch: + model = submatch.group(1) or submatch.group(2) if model: model = ' ' + util.read_string(model) else: model = '' self.metadata.append(('SCSI', 'Adaptec' + model)) - for submatch in self._ncr_pattern.finditer(rom_data): + submatch = self._ncr_pattern.search(rom_data) + if submatch: self.metadata.append(('SCSI', 'NCR ' + util.read_string(submatch.group(1)))) # Check for PXE and RPL boot.