def start_logging(self, execution_id, user_name, user_id, script_name, command, output_stream, all_audit_names, output_format, start_time_millis=None): if start_time_millis is None: start_time_millis = get_current_millis() log_filename = self._log_name_creator.create_filename( execution_id, all_audit_names, script_name, start_time_millis) log_file_path = os.path.join(self._output_folder, log_filename) log_file_path = file_utils.create_unique_filename(log_file_path) output_logger = ScriptOutputLogger(log_file_path, output_stream) output_logger.write_line('id:' + execution_id) output_logger.write_line('user_name:' + user_name) output_logger.write_line('user_id:' + user_id) output_logger.write_line('script:' + script_name) output_logger.write_line('start_time:' + str(start_time_millis)) output_logger.write_line('command:' + command) output_logger.write_line('output_format:' + output_format) output_logger.write_line(OUTPUT_STARTED_MARKER) output_logger.start() log_filename = os.path.basename(log_file_path) self._visited_files.add(log_filename) self._ids_to_file_map[execution_id] = log_filename self._output_loggers[execution_id] = output_logger
def _write_client_token(self, client_id, request_handler): expiry_time = date_utils.get_current_millis() + days_to_ms( self.EXPIRES_DAYS) new_token = client_id + '&' + str(expiry_time) request_handler.set_secure_cookie(self.COOKIE_KEY, new_token, expires_days=self.EXPIRES_DAYS)
def start_logging(self, execution_id, user_name, user_id, script_name, command, output_stream, all_audit_names, start_time_millis=None): if start_time_millis is None: start_time_millis = get_current_millis() log_filename = self._log_name_creator.create_filename( execution_id, all_audit_names, script_name, start_time_millis) log_file_path = os.path.join(self._output_folder, log_filename) log_file_path = file_utils.create_unique_filename(log_file_path) output_logger = ScriptOutputLogger(log_file_path, output_stream) output_logger.write_line('id:' + execution_id) output_logger.write_line('user_name:' + user_name) output_logger.write_line('user_id:' + user_id) output_logger.write_line('script:' + script_name) output_logger.write_line('start_time:' + str(start_time_millis)) output_logger.write_line('command:' + command) output_logger.write_line(OUTPUT_STARTED_MARKER) output_logger.start() log_filename = os.path.basename(log_file_path) self._visited_files.add(log_filename) self._ids_to_file_map[execution_id] = log_filename self._output_loggers[execution_id] = output_logger
def start_logging(self, execution_id, username, script_name, command, output_stream, post_execution_info_provider, start_time_millis=None): if start_time_millis is None: start_time_millis = get_current_millis() log_identifier = self._create_log_identifier(username, script_name, start_time_millis) log_file_path = os.path.join(self._output_folder, log_identifier + '.log') log_file_path = file_utils.create_unique_filename(log_file_path) def write_post_execution_info(): self._write_post_execution_info(execution_id, log_file_path, post_execution_info_provider) output_logger = ScriptOutputLogger(log_file_path, output_stream, write_post_execution_info) output_logger.write_line('id:' + execution_id) output_logger.write_line('user:'******'script:' + script_name) output_logger.write_line('start_time:' + str(start_time_millis)) output_logger.write_line('command:' + command) output_logger.write_line(OUTPUT_STARTED_MARKER) output_logger.start() log_filename = os.path.basename(log_file_path) self._visited_files.add(log_filename) self._ids_to_file_map[execution_id] = log_filename
def prepare_new_folder(self, audit_name, parent_path): millis = get_current_millis() user_folder_name = self._get_user_download_folder(audit_name) temp_path = os.path.join(parent_path, user_folder_name, str(millis)) file_utils.prepare_folder(temp_path) return temp_path
def prepare_new_folder(self, audit_name, parent_path): millis = get_current_millis() user_folder_name = self._get_user_download_folder(audit_name) temp_path = os.path.join(parent_path, user_folder_name, str(millis)) file_utils.prepare_folder(temp_path) return temp_path
def test_refresh_old_cookie_with_same_id(self): request_handler = mock_request_handler(ip='192.168.21.13') identification = IpBasedIdentification([]) id = '1234567' token_expiry = str(date_utils.get_current_millis() + date_utils.days_to_ms(2)) old_token = id + '&' + token_expiry request_handler.set_secure_cookie(COOKIE_KEY, old_token) new_id = identification.identify(request_handler) new_token = request_handler.get_cookie(COOKIE_KEY) self.assertEqual(new_id, id) self.assertNotEqual(old_token, new_token)
def test_get_history_entries_when_one(self): start_time = get_current_millis() self.simulate_logging(execution_id='id1', user='******', script_name='My script', log_lines=['some text'], start_time_millis=start_time, command='./script.sh -p p1 --flag') entries = self.logging_service.get_history_entries() self.assertEqual(1, len(entries)) entry = entries[0] self.validate_history_entry(entry, id='id1', user='******', script_name='My script', start_time=start_time, command='./script.sh -p p1 --flag')
def test_get_history_entries_when_one(self): start_time = get_current_millis() self.simulate_logging(execution_id='id1', user_name='user1', script_name='My script', log_lines=['some text'], start_time_millis=start_time, command='./script.sh -p p1 --flag') entries = self.logging_service.get_history_entries() self.assertEqual(1, len(entries)) entry = entries[0] self.validate_history_entry(entry, id='id1', user_name='user1', script_name='My script', start_time=start_time, command='./script.sh -p p1 --flag')
def _read_client_token(self, request_handler): client_id_token = tornado_utils.get_secure_cookie(request_handler, self.COOKIE_KEY) if not client_id_token: return self.EMPTY_TOKEN parts = client_id_token.split('&') if len(parts) != 2: LOGGER.warning('Invalid token structure: ' + client_id_token) return self.EMPTY_TOKEN try: expiry_time = int(parts[1]) except: LOGGER.exception('Invalid expiry time in: ' + client_id_token) return self.EMPTY_TOKEN days_remaining = date_utils.ms_to_days(expiry_time - date_utils.get_current_millis()) if days_remaining < 0: LOGGER.warning('Token seems to be expired: ' + str(expiry_time)) return self.EMPTY_TOKEN return parts[0], days_remaining
def _read_client_token(self, request_handler): client_id_token = tornado_utils.get_secure_cookie( request_handler, self.COOKIE_KEY) if not client_id_token: return self.EMPTY_TOKEN parts = client_id_token.split('&') if len(parts) != 2: LOGGER.warning('Invalid token structure: ' + client_id_token) return self.EMPTY_TOKEN try: expiry_time = int(parts[1]) except: LOGGER.exception('Invalid expiry time in: ' + client_id_token) return self.EMPTY_TOKEN days_remaining = date_utils.ms_to_days(expiry_time - date_utils.get_current_millis()) if days_remaining < 0: LOGGER.warning('Token seems to be expired: ' + str(expiry_time)) return self.EMPTY_TOKEN return parts[0], days_remaining
def _write_client_token(self, client_id, request_handler): expiry_time = date_utils.get_current_millis() + days_to_ms(self.EXPIRES_DAYS) new_token = client_id + '&' + str(expiry_time) request_handler.set_secure_cookie(self.COOKIE_KEY, new_token, expires_days=self.EXPIRES_DAYS)