DB.SensusOracle.DatabaseCfg : database access passwords are not readable

This commit is contained in:
Milan Hanajik
2021-10-11 09:22:20 +02:00
parent b5e2a7bdc9
commit 13b30b2caf
2 changed files with 47 additions and 14 deletions
+37 -7
View File
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2015-2019 Sensus Slovensko a.s.
/// Copyright (c) 2015-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -15,6 +15,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DatabaseCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
static readonly string AkaPwd = "········";
static readonly string AkaPwd1 = "·"; /// One character only
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities)
{
return new Configs.ParamsProvider.ComponentCfgCtrl(this, null);
@@ -96,13 +99,13 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
case 0: return ProductionDataSource;
case 1: return ProductionUserId;
case 2: return ProductionPassword;
case 2: return AkaPwd;
case 3: return QualityDataSource;
case 4: return QualityUserId;
case 5: return QualityPassword;
case 5: return AkaPwd;
case 6: return TestDataSource;
case 7: return TestUserId;
case 8: return TestPassword;
case 8: return AkaPwd;
case 9: return ProducerId.ToString();
default:
return string.Format("{0}: Production={1} Quality={2} Test={3}",
@@ -119,13 +122,40 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
case 0: ProductionDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 1: ProductionUserId = str; return CfgUpdateFlags.RestartRqrd;
case 2: ProductionPassword = str; return CfgUpdateFlags.RestartRqrd;
case 2:
if (!str.Contains(AkaPwd1))
{
ProductionPassword = str;
return CfgUpdateFlags.RestartRqrd;
}
else
{
return CfgUpdateFlags.None;
}
case 3: QualityDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 4: QualityUserId = str; return CfgUpdateFlags.RestartRqrd;
case 5: QualityPassword = str; return CfgUpdateFlags.RestartRqrd;
case 5:
if (!str.Contains(AkaPwd1))
{
QualityPassword = str;
return CfgUpdateFlags.RestartRqrd;
}
else
{
return CfgUpdateFlags.None;
}
case 6: TestDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 7: TestUserId = str; return CfgUpdateFlags.RestartRqrd;
case 8: TestPassword = str; return CfgUpdateFlags.RestartRqrd;
case 8:
if (!str.Contains(AkaPwd1))
{
TestPassword = str;
return CfgUpdateFlags.RestartRqrd;
}
else
{
return CfgUpdateFlags.None;
}
case 9: ProducerId = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
default:
return CfgUpdateFlags.None;