Merge branch 'bug_617_default_favlist_handling_fix'
[enigma2.git] / main / bsod.cpp
index 42e37f817b7de2251c2c3fe244aec050f00e23fc..68b5d57145d2ec40a9eb772b13d5f9bce328ebe7 100755 (executable)
@@ -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);
        }
@@ -220,6 +234,13 @@ void bsodFatal(const char *component)
 #endif
                fprintf(f, "\t\t<contactemail>%s</contactemail>\n", crash_emailaddr);
                fprintf(f, "\t\t<!-- Please email this crashlog to above address -->\n");
+               std::string activeSkin = getConfigFileValue("config.skin.primary_skin");
+               if (activeSkin != "Error")
+               {
+                       if (activeSkin == "")
+                               activeSkin = "Default Skin";
+                       fprintf(f, "\t\t<skin>%s</skin>\n", activeSkin.c_str());
+               }
                fprintf(f, "\t</enigma2>\n");
 
                fprintf(f, "\t<image>\n");
@@ -242,7 +263,7 @@ void bsodFatal(const char *component)
                        fprintf(f, "\t\t<kernelcmdline>%s</kernelcmdline>\n", kernelcmd);
                }
                std::string sendAnonCrashlog = getConfigFileValue("config.plugins.crashlogautosubmit.sendAnonCrashlog");
-               if (sendAnonCrashlog == "False" || sendAnonCrashlog == "false" || sendAnonCrashlog == "") // defaults to false, so "" is also ok.
+               if (sendAnonCrashlog == "False" || sendAnonCrashlog == "false") // defaults to true... default anonymized crashlogs
                {
                        std::string ca = getFileContent("/proc/stb/info/ca");
                        if (ca != "Error")