Skip to content

Commit f40e8a8

Browse files
anshulgangwardevdeep
authored andcommitted
CLOUDSTACK-6326: fixed password visible in plain text in some of commands in Hyper-v Agent logs
1 parent e6e4fe4 commit f40e8a8

2 files changed

Lines changed: 31 additions & 31 deletions

File tree

plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public JContainer SetupCommand([FromBody]dynamic cmd)
173173
{
174174
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
175175
{
176-
logger.Info(CloudStackTypes.SetupCommand + cmd.ToString());
176+
logger.Info(CloudStackTypes.SetupCommand + Utils.CleanString(cmd.ToString()));
177177

178178
string details = null;
179179
bool result = false;
@@ -323,7 +323,7 @@ public JContainer RebootCommand([FromBody]dynamic cmd)
323323
{
324324
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
325325
{
326-
logger.Info(CloudStackTypes.RebootCommand + cmd.ToString());
326+
logger.Info(CloudStackTypes.RebootCommand + Utils.CleanString(cmd.ToString()));
327327

328328
string details = null;
329329
bool result = false;
@@ -367,15 +367,15 @@ public JContainer DestroyCommand([FromBody]dynamic cmd)
367367
{
368368
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
369369
{
370-
logger.Info(CloudStackTypes.DestroyCommand + cmd.ToString());
370+
logger.Info(CloudStackTypes.DestroyCommand + Utils.CleanString(cmd.ToString()));
371371

372372
string details = null;
373373
bool result = false;
374374

375375
try
376376
{
377377
// Assert
378-
String errMsg = "No 'volume' details in " + CloudStackTypes.DestroyCommand + " " + cmd.ToString();
378+
String errMsg = "No 'volume' details in " + CloudStackTypes.DestroyCommand + " " + Utils.CleanString(cmd.ToString());
379379
if (cmd.volume == null)
380380
{
381381
logger.Error(errMsg);
@@ -430,15 +430,15 @@ public JContainer DeleteCommand([FromBody]dynamic cmd)
430430
{
431431
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
432432
{
433-
logger.Info(CloudStackTypes.DestroyCommand + cmd.ToString());
433+
logger.Info(CloudStackTypes.DestroyCommand + Utils.CleanString(cmd.ToString()));
434434

435435
string details = null;
436436
bool result = false;
437437

438438
try
439439
{
440440
// Assert
441-
String errMsg = "No 'volume' details in " + CloudStackTypes.DestroyCommand + " " + cmd.ToString();
441+
String errMsg = "No 'volume' details in " + CloudStackTypes.DestroyCommand + " " + Utils.CleanString(cmd.ToString());
442442
VolumeObjectTO destVolumeObjectTO = VolumeObjectTO.ParseJson(cmd.data);
443443

444444
if (destVolumeObjectTO.name == null)
@@ -756,7 +756,7 @@ public JContainer CheckHealthCommand([FromBody]dynamic cmd)
756756
{
757757
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
758758
{
759-
logger.Info(CloudStackTypes.CheckHealthCommand + cmd.ToString());
759+
logger.Info(CloudStackTypes.CheckHealthCommand + Utils.CleanString(cmd.ToString()));
760760
object ansContent = new
761761
{
762762
result = true,
@@ -774,7 +774,7 @@ public JContainer CheckOnHostCommand([FromBody]dynamic cmd)
774774
{
775775
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
776776
{
777-
logger.Info(CloudStackTypes.CheckOnHostCommand + cmd.ToString());
777+
logger.Info(CloudStackTypes.CheckOnHostCommand + Utils.CleanString(cmd.ToString()));
778778
object ansContent = new
779779
{
780780
result = true,
@@ -793,7 +793,7 @@ public JContainer CheckSshCommand([FromBody]dynamic cmd)
793793
{
794794
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
795795
{
796-
logger.Info(CloudStackTypes.CheckSshCommand + cmd.ToString());
796+
logger.Info(CloudStackTypes.CheckSshCommand + Utils.CleanString(cmd.ToString()));
797797
object ansContent = new
798798
{
799799
result = true,
@@ -811,7 +811,7 @@ public JContainer CheckVirtualMachineCommand([FromBody]dynamic cmd)
811811
{
812812
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
813813
{
814-
logger.Info(CloudStackTypes.CheckVirtualMachineCommand + cmd.ToString());
814+
logger.Info(CloudStackTypes.CheckVirtualMachineCommand + Utils.CleanString(cmd.ToString()));
815815
string details = null;
816816
bool result = false;
817817
string vmName = cmd.vmName;
@@ -848,7 +848,7 @@ public JContainer DeleteStoragePoolCommand([FromBody]dynamic cmd)
848848
{
849849
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
850850
{
851-
logger.Info(CloudStackTypes.DeleteStoragePoolCommand + cmd.ToString());
851+
logger.Info(CloudStackTypes.DeleteStoragePoolCommand + Utils.CleanString(cmd.ToString()));
852852
object ansContent = new
853853
{
854854
result = true,
@@ -991,7 +991,7 @@ public JContainer PlugNicCommand([FromBody]dynamic cmd)
991991
{
992992
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
993993
{
994-
logger.Info(CloudStackTypes.PlugNicCommand + cmd.ToString());
994+
logger.Info(CloudStackTypes.PlugNicCommand + Utils.CleanString(cmd.ToString()));
995995

996996
object ansContent = new
997997
{
@@ -1011,7 +1011,7 @@ public JContainer CleanupNetworkRulesCmd([FromBody]dynamic cmd)
10111011
{
10121012
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
10131013
{
1014-
logger.Info(CloudStackTypes.CleanupNetworkRulesCmd + cmd.ToString());
1014+
logger.Info(CloudStackTypes.CleanupNetworkRulesCmd + Utils.CleanString(cmd.ToString()));
10151015
object ansContent = new
10161016
{
10171017
result = false,
@@ -1029,7 +1029,7 @@ public JContainer CheckNetworkCommand([FromBody]dynamic cmd)
10291029
{
10301030
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
10311031
{
1032-
logger.Info(CloudStackTypes.CheckNetworkCommand + cmd.ToString());
1032+
logger.Info(CloudStackTypes.CheckNetworkCommand + Utils.CleanString(cmd.ToString()));
10331033
object ansContent = new
10341034
{
10351035
result = true,
@@ -1047,7 +1047,7 @@ public JContainer ReadyCommand([FromBody]dynamic cmd)
10471047
{
10481048
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
10491049
{
1050-
logger.Info(CloudStackTypes.ReadyCommand + cmd.ToString());
1050+
logger.Info(CloudStackTypes.ReadyCommand + Utils.CleanString(cmd.ToString()));
10511051
object ansContent = new
10521052
{
10531053
result = true,
@@ -1132,7 +1132,7 @@ public JContainer StopCommand([FromBody]dynamic cmd)
11321132
{
11331133
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
11341134
{
1135-
logger.Info(CloudStackTypes.StopCommand + cmd.ToString());
1135+
logger.Info(CloudStackTypes.StopCommand + Utils.CleanString(cmd.ToString()));
11361136
string details = null;
11371137
bool result = false;
11381138

@@ -1228,7 +1228,7 @@ public JContainer MaintainCommand([FromBody]dynamic cmd)
12281228
{
12291229
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
12301230
{
1231-
logger.Info(CloudStackTypes.MaintainCommand + cmd.ToString());
1231+
logger.Info(CloudStackTypes.MaintainCommand + Utils.CleanString(cmd.ToString()));
12321232

12331233
object ansContent = new
12341234
{
@@ -1251,7 +1251,7 @@ public JContainer PingRoutingCommand([FromBody]dynamic cmd)
12511251
{
12521252
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
12531253
{
1254-
logger.Info(CloudStackTypes.PingRoutingCommand + cmd.ToString());
1254+
logger.Info(CloudStackTypes.PingRoutingCommand + Utils.CleanString(cmd.ToString()));
12551255

12561256
object ansContent = new
12571257
{
@@ -1273,7 +1273,7 @@ public JContainer PingCommand([FromBody]dynamic cmd)
12731273
{
12741274
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
12751275
{
1276-
logger.Info(CloudStackTypes.PingCommand + cmd.ToString());
1276+
logger.Info(CloudStackTypes.PingCommand + Utils.CleanString(cmd.ToString()));
12771277

12781278
object ansContent = new
12791279
{
@@ -1295,7 +1295,7 @@ public JContainer ModifyVmNicConfigCommand([FromBody]dynamic cmd)
12951295

12961296
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
12971297
{
1298-
logger.Info(CloudStackTypes.ModifyVmNicConfigCommand + cmd.ToString());
1298+
logger.Info(CloudStackTypes.ModifyVmNicConfigCommand + Utils.CleanString(cmd.ToString()));
12991299
bool result = false;
13001300
String vmName = cmd.vmName;
13011301
uint vlan = (uint)cmd.vlan;
@@ -1329,7 +1329,7 @@ public JContainer GetVmConfigCommand([FromBody]dynamic cmd)
13291329
{
13301330
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
13311331
{
1332-
logger.Info(CloudStackTypes.GetVmConfigCommand + cmd.ToString());
1332+
logger.Info(CloudStackTypes.GetVmConfigCommand + Utils.CleanString(cmd.ToString()));
13331333
bool result = false;
13341334
String vmName = cmd.vmName;
13351335
ComputerSystem vm = wmiCallsV2.GetComputerSystem(vmName);
@@ -1383,7 +1383,7 @@ public JContainer GetVmStatsCommand([FromBody]dynamic cmd)
13831383
{
13841384
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
13851385
{
1386-
logger.Info(CloudStackTypes.GetVmStatsCommand + cmd.ToString());
1386+
logger.Info(CloudStackTypes.GetVmStatsCommand + Utils.CleanString(cmd.ToString()));
13871387
bool result = false;
13881388
JArray vmNamesJson = cmd.vmNames;
13891389
string[] vmNames = vmNamesJson.ToObject<string[]>();
@@ -1894,7 +1894,7 @@ public JContainer GetHostStatsCommand([FromBody]dynamic cmd)
18941894
{
18951895
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
18961896
{
1897-
logger.Info(CloudStackTypes.GetHostStatsCommand + cmd.ToString());
1897+
logger.Info(CloudStackTypes.GetHostStatsCommand + Utils.CleanString(cmd.ToString()));
18981898
bool result = false;
18991899
string details = null;
19001900
object hostStats = null;
@@ -1956,7 +1956,7 @@ public JContainer PrepareForMigrationCommand([FromBody]dynamic cmd)
19561956
{
19571957
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
19581958
{
1959-
logger.Info(CloudStackTypes.PrepareForMigrationCommand + cmd.ToString());
1959+
logger.Info(CloudStackTypes.PrepareForMigrationCommand + Utils.CleanString(cmd.ToString()));
19601960

19611961
string details = null;
19621962
bool result = true;
@@ -1990,7 +1990,7 @@ public JContainer MigrateCommand([FromBody]dynamic cmd)
19901990
{
19911991
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
19921992
{
1993-
logger.Info(CloudStackTypes.MigrateCommand + cmd.ToString());
1993+
logger.Info(CloudStackTypes.MigrateCommand + Utils.CleanString(cmd.ToString()));
19941994

19951995
string details = null;
19961996
bool result = false;
@@ -2026,7 +2026,7 @@ public JContainer MigrateVolumeCommand([FromBody]dynamic cmd)
20262026
{
20272027
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
20282028
{
2029-
logger.Info(CloudStackTypes.MigrateVolumeCommand + cmd.ToString());
2029+
logger.Info(CloudStackTypes.MigrateVolumeCommand + Utils.CleanString(cmd.ToString()));
20302030

20312031
string details = null;
20322032
bool result = false;
@@ -2063,7 +2063,7 @@ public JContainer MigrateWithStorageCommand([FromBody]dynamic cmd)
20632063
{
20642064
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
20652065
{
2066-
logger.Info(CloudStackTypes.MigrateWithStorageCommand + cmd.ToString());
2066+
logger.Info(CloudStackTypes.MigrateWithStorageCommand + Utils.CleanString(cmd.ToString()));
20672067

20682068
string details = null;
20692069
bool result = false;
@@ -2249,7 +2249,7 @@ public JContainer GetVncPortCommand([FromBody]dynamic cmd)
22492249
{
22502250
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
22512251
{
2252-
logger.Info(CloudStackTypes.GetVncPortCommand + cmd.ToString());
2252+
logger.Info(CloudStackTypes.GetVncPortCommand + Utils.CleanString(cmd.ToString()));
22532253

22542254
string details = null;
22552255
bool result = false;
@@ -2288,7 +2288,7 @@ public JContainer HostVmStateReportCommand([FromBody]dynamic cmd)
22882288
{
22892289
using (log4net.NDC.Push(Guid.NewGuid().ToString()))
22902290
{
2291-
logger.Info(CloudStackTypes.HostVmStateReportCommand + cmd.ToString());
2291+
logger.Info(CloudStackTypes.HostVmStateReportCommand + Utils.CleanString(cmd.ToString()));
22922292

22932293
string details = null;
22942294
Dictionary<string, string>[] hostVmStateReport = null;

plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/Utils.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ public static void GetShareDetails(string remoteUNC, out long capacity, out long
167167
public static string CleanString(string stringToClean)
168168
{
169169
string cleanString = null;
170-
string regexQueryString = "(&|%26)?(password|accesskey|secretkey)(=|%3D).*?(?=(%26|[&'\"]))";
171-
string regexJson = "\"(password|accesskey|secretkey)\":\".*?\",?";
170+
string regexQueryString = "(&|%26)?(password|accesskey|secretkey|Password)(=|%3D).*?(?=(%26|[&'\"]))";
171+
string regexJson = "\"(password|accesskey|secretkey|Password)\":\\s?\".*?\",?";
172172
cleanString = System.Text.RegularExpressions.Regex.Replace(stringToClean, regexQueryString, "");
173173
cleanString = System.Text.RegularExpressions.Regex.Replace(cleanString, regexJson, "");
174174
return cleanString;

0 commit comments

Comments
 (0)