From: acid-burn Date: Sat, 3 Oct 2009 09:29:04 +0000 (+0200) Subject: main/bsod.cpp: replace password configentry values with "X" before adding them to... X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=aad3256fb995891065c9771bf2af8d3ad74527fc 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 ! --- 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); }