calls to redaction mechanism placed in correct places

* access to _raw stdout methods/variables remains raw
* wrapped _raw access in redaction where needed
This commit is contained in:
Chris Meyers 2015-01-30 11:08:43 -05:00
parent b73c7ce41b
commit 77625483bb
2 changed files with 4 additions and 4 deletions

View File

@ -2238,7 +2238,6 @@ class UnifiedJobStdout(RetrieveAPIView):
conv = Ansi2HTMLConverter(scheme=scheme, dark_bg=dark_bg,
title=get_view_name(self.__class__))
content, start, end, absolute_end = unified_job.result_stdout_raw_limited(start_line, end_line)
content = UriCleaner.remove_sensitive(content)
if content_only:
headers = conv.produce_headers()
body = conv.convert(content, full=False) # Escapes any HTML that may be in content.
@ -2255,7 +2254,7 @@ class UnifiedJobStdout(RetrieveAPIView):
return Response({'range': {'start': start, 'end': end, 'absolute_end': absolute_end}, 'content': body})
return Response(data)
elif request.accepted_renderer.format == 'ansi':
return Response(unified_job.result_stdout_raw)
return Response(UriCleaner.remove_sensitive(unified_job.result_stdout_raw))
else:
return super(UnifiedJobStdout, self).retrieve(request, *args, **kwargs)

View File

@ -34,6 +34,7 @@ from djcelery.models import TaskMeta
from awx.main.models.base import *
from awx.main.models.schedules import Schedule
from awx.main.utils import decrypt_field, get_type_for_model, emit_websocket_notification, _inventory_updates
from awx.main.redact import UriCleaner
__all__ = ['UnifiedJobTemplate', 'UnifiedJob']
@ -618,7 +619,7 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique
@property
def result_stdout(self):
ansi_escape = re.compile(r'\x1b[^m]*m')
return ansi_escape.sub('', self.result_stdout_raw)
return ansi_escape.sub('', UriCleaner.remove_sensitive(self.result_stdout_raw))
def result_stdout_raw_limited(self, start_line=0, end_line=None):
return_buffer = u""
@ -641,7 +642,7 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique
def result_stdout_limited(self, start_line=0, end_line=None):
ansi_escape = re.compile(r'\x1b[^m]*m')
content, start, end, absolute_end = self.result_stdout_raw_limited(start_line, end_line)
content, start, end, absolute_end = UriCleaner.remove_sensitive(self.result_stdout_raw_limited(start_line, end_line))
return ansi_escape.sub('', content), start, end, absolute_end
@property