From aad3256fb995891065c9771bf2af8d3ad74527fc Mon Sep 17 00:00:00 2001 From: acid-burn Date: Sat, 3 Oct 2009 11:29:04 +0200 Subject: [PATCH] main/bsod.cpp: replace password configentry values with "X" before adding them to the crashlog. So now no passwords from the enigma2 settings file are added to the crashlogs if crashlog anonymizations is disabled. Attention: Only config entries named "password" are considered as password fields. So use "password" as the name of your password configentry. for example: config.myplugin.password ! --- main/bsod.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) mode change 100644 => 100755 main/bsod.cpp diff --git a/main/bsod.cpp b/main/bsod.cpp old mode 100644 new mode 100755 index fde4146..45f97c6 --- a/main/bsod.cpp +++ b/main/bsod.cpp @@ -74,7 +74,7 @@ static std::string getConfigFileValue(const char *entry) { return configvalue; } - else // get Value from enigma2 settings file + else // get value from enigma2 settings file { FILE *f = fopen(configfile.c_str(), "r"); if (!f) @@ -119,7 +119,21 @@ static std::string getFileContent(const char *file) char line[1024]; if (!fgets(line, 1024, f)) break; - filecontent += line; + std::string tmp = line; + std::string password; + int pwdpos = tmp.find(".password=", 0); + if( pwdpos != std::string::npos) + { + filecontent += tmp.substr(0,pwdpos +10); + for ( int pos = pwdpos +10; pos < tmp.length()-1; ++pos ) + { + filecontent += "X"; + } + filecontent += "\n"; + } + else { + filecontent += line; + } } fclose(f); } -- 2.7.4