From 230a7ecaec47f5891f39a8893f7587e86a2efb41 Mon Sep 17 00:00:00 2001 From: Dahlia Trimble Date: Fri, 18 Jul 2008 03:23:40 +0000 Subject: masks MySQL password from console startup messages --- OpenSim/Data/MySQL/MySQLDataStore.cs | 23 ++++++++++++++++++++++- OpenSim/Data/MySQL/MySQLEstateData.cs | 27 +++++++++++++++++++++++++-- 2 files changed, 47 insertions(+), 3 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Data/MySQL/MySQLDataStore.cs b/OpenSim/Data/MySQL/MySQLDataStore.cs index 25956d5..d1db064 100644 --- a/OpenSim/Data/MySQL/MySQLDataStore.cs +++ b/OpenSim/Data/MySQL/MySQLDataStore.cs @@ -113,7 +113,28 @@ namespace OpenSim.Data.MySQL m_dataSet = new DataSet(); this.persistPrimInventories = persistPrimInventories; - m_log.Info("[REGION DB]: MySql - connecting: " + m_connectionString); + int passPosition = 0; + int passEndPosition = 0; + string displayConnectionString = null; + + try + { // hide the password in the connection string + passPosition = m_connectionString.IndexOf("password", StringComparison.OrdinalIgnoreCase); + passPosition = m_connectionString.IndexOf("=", passPosition); + if (passPosition < m_connectionString.Length) + passPosition += 1; + passEndPosition = m_connectionString.IndexOf(";", passPosition); + + displayConnectionString = m_connectionString.Substring(0, passPosition); + displayConnectionString += "***"; + displayConnectionString += m_connectionString.Substring(passEndPosition, m_connectionString.Length - passEndPosition); + } + catch (Exception e ) + { + m_log.Debug("Exception: password not found in connection string\n" + e.ToString()); + } + + m_log.Info("[REGION DB]: MySql - connecting: " + displayConnectionString); m_connection = new MySqlConnection(m_connectionString); m_connection.Open(); diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs index eeff31b..052c404 100644 --- a/OpenSim/Data/MySQL/MySQLEstateData.cs +++ b/OpenSim/Data/MySQL/MySQLEstateData.cs @@ -59,9 +59,32 @@ namespace OpenSim.Data.MySQL public void Initialise(string connectionString) { - m_connectionString = connectionString; + m_connectionString = connectionString; + + int passPosition = 0; + int passEndPosition = 0; + string displayConnectionString = null; + + try + { // hide the password in the connection string + passPosition = m_connectionString.IndexOf("password", StringComparison.OrdinalIgnoreCase); + passPosition = m_connectionString.IndexOf("=", passPosition); + if (passPosition < m_connectionString.Length) + passPosition += 1; + passEndPosition = m_connectionString.IndexOf(";", passPosition); + + displayConnectionString = m_connectionString.Substring(0, passPosition); + displayConnectionString += "***"; + displayConnectionString += m_connectionString.Substring(passEndPosition, m_connectionString.Length - passEndPosition); + } + catch (Exception e) + { + m_log.Debug("Exception: password not found in connection string\n" + e.ToString()); + } + + m_log.Info("[REGION DB]: MySql - connecting: " + displayConnectionString); - m_log.Info("[ESTATE DB]: MySql - connecting: "+m_connectionString); + //m_log.Info("[ESTATE DB]: MySql - connecting: "+m_connectionString); m_connection = new MySqlConnection(m_connectionString); m_connection.Open(); -- cgit v1.1