Exemple #1
0
 def _validate_compare_id(compare_id: str):
     valid_chars = '0123456789abcdef_;'
     if not all(char in valid_chars for char in compare_id):
         raise ValueError(f'Compare ID {compare_id} contains invalid chars')
     uids = convert_compare_id_to_list(compare_id)
     if not all(is_uid(uid) for uid in uids):
         raise TypeError(f'Compare ID {compare_id} contains invalid UIDs')
Exemple #2
0
 def _get_search_parameters(self, query, only_firmware, inverted):
     '''
     This function prepares the requested search by parsing all necessary parameters.
     In case of a binary search, indicated by the query being an uid instead of a dict, the cached search result is
     retrieved.
     '''
     search_parameters = dict()
     if request.args.get('query'):
         query = request.args.get('query')
         if is_uid(query):
             with ConnectTo(FrontEndDbInterface,
                            self._config) as connection:
                 cached_query = connection.get_query_from_cache(query)
                 query = cached_query['search_query']
                 search_parameters['query_title'] = cached_query[
                     'query_title']
     search_parameters['only_firmware'] = request.args.get(
         'only_firmwares') == 'True' if request.args.get(
             'only_firmwares') else only_firmware
     search_parameters['inverted'] = request.args.get(
         'inverted') == 'True' if request.args.get('inverted') else inverted
     search_parameters['query'] = apply_filters_to_query(request, query)
     if 'query_title' not in search_parameters.keys():
         search_parameters['query_title'] = search_parameters['query']
     if request.args.get('date'):
         search_parameters['query'] = self._add_date_to_query(
             search_parameters['query'], request.args.get('date'))
     return search_parameters
Exemple #3
0
def virtual_path_element_to_span(hid_element: str, uid_element,
                                 root_uid) -> str:
    if is_uid(uid_element):
        return (
            '<span class="label label-primary"><a style="color: #fff" href="/analysis/{uid}/ro/{root_uid}">'
            '{hid}</a></span>'.format(uid=uid_element,
                                      root_uid=root_uid,
                                      hid=hid_element))
    return '<span class="label label-default">{}</span>'.format(hid_element)
Exemple #4
0
def virtual_path_element_to_span(hid_element: str, uid_element, root_uid) -> str:
    if is_uid(uid_element):
        return (
            '<span class="badge badge-primary">'
            '    <a style="color: #fff" href="/analysis/{uid}/ro/{root_uid}">'
            '        {hid}'
            '    </a>'
            '</span>'.format(uid=uid_element, root_uid=root_uid, hid=cap_length_of_element(hid_element))
        )
    return '<span class="badge badge-secondary">{}</span>'.format(cap_length_of_element(hid_element))
Exemple #5
0
 def _get_search_parameters(self, query, only_firmware, inverted):
     search_parameters = dict()
     if request.args.get('query'):
         query = request.args.get('query')
         if is_uid(query):
             with ConnectTo(FrontEndDbInterface, self._config) as connection:
                 cached_query = connection.get_query_from_cache(query)
                 query = cached_query['search_query']
                 search_parameters['query_title'] = cached_query['query_title']
     search_parameters['only_firmware'] = request.args.get('only_firmwares') == 'True' if request.args.get('only_firmwares') else only_firmware
     search_parameters['inverted'] = request.args.get('inverted') == 'True' if request.args.get('inverted') else inverted
     search_parameters['query'] = apply_filters_to_query(request, query)
     if 'query_title' not in search_parameters.keys():
         search_parameters['query_title'] = search_parameters['query']
     if request.args.get('date'):
         search_parameters['query'] = self._add_date_to_query(search_parameters['query'], request.args.get('date'))
     return search_parameters
Exemple #6
0
 def test_is_uid(self):
     self.assertFalse(is_uid(None))
     self.assertFalse(is_uid("blah"))
     self.assertTrue(is_uid(self.test_uid))
     self.assertFalse(is_uid(self.test_uid + "foobar"))
Exemple #7
0
 def test_is_uid(self):
     self.assertFalse(is_uid(None))
     self.assertFalse(is_uid('blah'))
     self.assertTrue(is_uid(self.test_uid))
     self.assertFalse(is_uid(self.test_uid + 'foobar'))