From 7a06672320d62644fe7e6f695c27f51151820b9f Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Thu, 19 Apr 2018 13:12:31 -0400 Subject: [PATCH] Redact commands.log responses --- xCAT-server/sbin/xcatd | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index d52983d0f..8d895aca3 100755 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -2752,21 +2752,21 @@ sub service_connection { $cmdlog_alllog .= "$tmpstr "; } - if (exists($req->{arg})) { - foreach my $arg (@{ $req->{arg} }) { - if ($arg =~ /password/i) { - $cmdlog_alllog .= "'*REDACTED*' "; - last; - } - if ($arg =~ /[^A-Za-z0-9.-]/) { - my $tmparg = $arg; - $tmparg =~ s/'/'\\''/g; - $cmdlog_alllog .= "'" . $tmparg . "' "; - } else { - $cmdlog_alllog .= $arg . " "; - } - } - } + if (exists($req->{arg})) { + foreach my $arg (@{ $req->{arg} }) { + if ($arg =~ /password/i or $arg =~ /passwd/i) { + $cmdlog_alllog .= "'*REDACTED*' "; + last; + } + if ($arg =~ /[^A-Za-z0-9.-]/) { + my $tmparg = $arg; + $tmparg =~ s/'/'\\''/g; + $cmdlog_alllog .= "'" . $tmparg . "' "; + } else { + $cmdlog_alllog .= $arg . " "; + } + } + } $cmdlog_alllog .= "\n[Response]\n"; # ----used for command log end---------- @@ -3280,6 +3280,7 @@ sub cmdlog_collectlog() { my $rsp_log = ""; if ((exists($rsponse->{xcatresponse}->[0]->{serverdone})) && (!exists($rsponse->{xcatresponse}->[0]->{error}))) { return 0; } + if ($cmdlog_all =~ /redacted/i) { return 0; } my $rsp; if (exists($rsponse->{xcatresponse})) { $rsp = $rsponse->{xcatresponse}; @@ -3485,6 +3486,9 @@ sub cmdlog_collectlog() { } } } + if ($rsp_log =~ /password/i or $rsp_log =~ /passwd/i) { + $rsp_log = '*REDACTED*'; + } $cmdlog_alllog .= $rsp_log; return 0; }