From b333fd24dcbd1e4aa08584343cfb5b9784364a03 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 9 Jun 2024 16:53:42 +0200 Subject: Fix change in CCportal links. --- src/sec_certs/sample/cc.py | 10 +++++----- src/sec_certs/utils/sanitization.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/sec_certs/sample/cc.py b/src/sec_certs/sample/cc.py index 28099f58..e753eb83 100644 --- a/src/sec_certs/sample/cc.py +++ b/src/sec_certs/sample/cc.py @@ -58,10 +58,10 @@ class CCCertificate( def __post_init__(self): super().__setattr__( - "maintenance_report_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_report_link) + "maintenance_report_link", sec_certs.utils.sanitization.sanitize_cc_link(self.maintenance_report_link) ) super().__setattr__( - "maintenance_st_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_st_link) + "maintenance_st_link", sec_certs.utils.sanitization.sanitize_cc_link(self.maintenance_st_link) ) super().__setattr__( "maintenance_title", sec_certs.utils.sanitization.sanitize_string(self.maintenance_title) @@ -430,9 +430,9 @@ class CCCertificate( self.security_level = sec_certs.utils.sanitization.sanitize_security_levels(security_level) self.not_valid_before = sec_certs.utils.sanitization.sanitize_date(not_valid_before) self.not_valid_after = sec_certs.utils.sanitization.sanitize_date(not_valid_after) - self.report_link = sec_certs.utils.sanitization.sanitize_link(report_link) - self.st_link = sec_certs.utils.sanitization.sanitize_link(st_link) - self.cert_link = sec_certs.utils.sanitization.sanitize_link(cert_link) + self.report_link = sec_certs.utils.sanitization.sanitize_cc_link(report_link) + self.st_link = sec_certs.utils.sanitization.sanitize_cc_link(st_link) + self.cert_link = sec_certs.utils.sanitization.sanitize_cc_link(cert_link) self.manufacturer_web = sec_certs.utils.sanitization.sanitize_link(manufacturer_web) self.protection_profiles = protection_profiles self.maintenance_updates = maintenance_updates diff --git a/src/sec_certs/utils/sanitization.py b/src/sec_certs/utils/sanitization.py index 17e34362..741fa456 100644 --- a/src/sec_certs/utils/sanitization.py +++ b/src/sec_certs/utils/sanitization.py @@ -23,6 +23,16 @@ def sanitize_link(record: str | None) -> str | None: return record.replace(":443", "").replace(" ", "%20").replace("http://", "https://") +def sanitize_cc_link(record: str | None) -> str | None: + record = sanitize_link(record) + if not record: + return None + record = record.replace("nfs/ccpfiles/", "") + if record == "https://www.commoncriteriaportal.org/files/epfiles/": + return None + return record + + def sanitize_date(record: pd.Timestamp | date | np.datetime64) -> date | None: if pd.isnull(record): return None -- cgit v1.3.1 From 703c6438db982022d581c2926ab30f1b112d1567 Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 9 Jun 2024 16:59:36 +0200 Subject: Fix security level sanitization. --- src/sec_certs/utils/sanitization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sec_certs/utils/sanitization.py b/src/sec_certs/utils/sanitization.py index 741fa456..fd477746 100644 --- a/src/sec_certs/utils/sanitization.py +++ b/src/sec_certs/utils/sanitization.py @@ -52,7 +52,7 @@ def sanitize_string(record: str) -> str: def sanitize_security_levels(record: str | set[str]) -> set[str]: if isinstance(record, str): record = set(record.split(",")) - return record - {"Basic", "ND-PP", "PP\xa0Compliant", "None", "Medium"} + return record - {"Basic", "ND-PP", "PP\xa0Compliant", "None", "Medium", ""} def sanitize_protection_profiles(record: str) -> list: -- cgit v1.3.1