def __init__(self, request): self.request = request self.option = self.post_value('option') self.software_id = self.post_value('software_id') self.cve_id = self.post_value('cve_id') self.cve_matches = CVEMatches() self.alerts = Alerts()
class GetHandler: def __init__(self, request): self.request = request self.cve_matches = CVEMatches() self.cve_matcher = CVEMatcher() self.uri_binding = self.get_uri_binding_from_get_request() self.software_id = self.get_software_id_from_get_request() def create_http_response(self, context): return HttpResponse(template.render(context, self.request)) def handle_get_request(self): pass def get_uri_binding_from_get_request(self): return self.request.GET.get('uri_binding') def get_software_id_from_get_request(self): return self.request.GET.get('software_id') def get_option_from_get_request(self): return self.request.GET.get('option') def get_cve_id_from_get_request(self): return self.request.GET.get('cve_id') def create_context(self): return { 'cve_matches': self.get_cpe_cve_matches(), 'uri_binging': self.uri_binding, 'software_id': self.software_id, 'software': self.get_software(), 'cve_search_url': config.get_cve_search_url() } def get_cpe_cve_matches(self): matches = self.search_matches() self.insert_new_matches(matches) return self.get_new_matches() def search_matches(self): return self.cve_matcher.search_cves_for_cpe(self.uri_binding) def insert_new_matches(self, matches): self.cve_matches.insert_software_cve_matches(self.software_id, matches) def get_new_matches(self): return self.cve_matches.get_software_cve_matches(self.software_id) def get_software(self): return Inventory().get_software_by_id(self.software_id)
class PostHandler: def __init__(self, request): self.request = request self.option = self.post_value('option') self.software_id = self.post_value('software_id') self.cve_id = self.post_value('cve_id') self.cve_matches = CVEMatches() self.alerts = Alerts() def handle_post_request(self): if self.option == 'set_cve_as_negative': self.cve_matches.set_cve_match_as_negative(self.software_id, self.cve_id) elif self.option == 'notify': was_sent = self.alerts.send_sw_alert_by_email(self.software_id) if not was_sent: return HttpResponse('failed') return HttpResponse('ok') def post_value(self, key): return self.request.POST.get(key)
class PostHandler: def __init__(self, request): self.alerts = Alerts() self.cve_matches = CVEMatches() self.request = request self.software_id = self.request.POST.get('software_id') self.new_status = self.request.POST.get('new_status') def handle_post_request(self): self.set_cves_as_negatives() self.alerts.change_alert_status(self.software_id, self.new_status) def set_cves_as_negatives(self): if self.new_status == 'removed': alert = self.alerts.get_software_alert(self.software_id) for cve in alert.get('cves'): self.cve_matches.set_cve_match_as_negative( self.software_id, cve) @staticmethod def create_http_response(): return HttpResponse( '<script type="text/javascript">window.close(); ' 'window.opener.parent.location.href = "/iva/alerts";</script>')
class PostHandler: def __init__(self, request): self.cve_matches = CVEMatches() self.request = request self.software_id = self.post_value('software_id') self.cve_id_master = self.post_value('cve_id_master') self.option = self.post_value('option') def handle_request(self): if self.option == 'set_group_as_positive': self.set_group_as_positive() elif self.option == 'set_group_as_negative': self.set_group_as_negative() elif self.option == 'set_group_as_removed': self.set_group_as_removed() elif self.option == 'restore_group': self.restore_group() def set_group_as_positive(self): self.cve_matches.set_cve_matches_group_as_positive( self.software_id, self.cve_id_master) def set_group_as_negative(self): self.cve_matches.set_cve_matches_group_as_negative( self.software_id, self.cve_id_master) def set_group_as_removed(self): self.cve_matches.set_cve_matches_group_as_removed( self.software_id, self.cve_id_master) def restore_group(self): self.cve_matches.restore_cve_matches_group(self.software_id, self.cve_id_master) def create_http_response(self): return HttpResponse('OK') def post_value(self, key): return self.request.POST.get(key)
def __init__(self, request): self.request = request self.cve_matches = CVEMatches() self.cve_matcher = CVEMatcher() self.uri_binding = self.get_uri_binding_from_get_request() self.software_id = self.get_software_id_from_get_request()
def __init__(self, request): self.alerts = Alerts() self.cve_matches = CVEMatches() self.request = request self.software_id = self.request.POST.get('software_id') self.new_status = self.request.POST.get('new_status')
def update_software_cve_matches(software): CVEMatches().insert_software_cve_matches(software.get('id'), get_cve_matches(software))
def get_grouped_matches(self): return CVEMatches( ).get_software_cve_matches_with_same_cpe_entries_as_cve( self.software_id, self.cve_id)