Bug bei Datenbank-Restore (Zeichen "#")
Verfasst: 01.10.2007 15:30
Beim Wiederherstellen einer Datenbank gibt es einen
unangenehmen Bug.
Wenn man z.B. in einem Posting das Zeichen "#" an der
ersten Stelle einer Zeile stehen hat, erscheint dieses
Zeichen auch in der ersten Spalte einer Zeile der SQL-
Backup-Datei. Die Funktion "remove_remarks" in der
Datei "include/sql_parse.php" löscht gnadenlos alle
Zeilen, die ein "#" an erster Stelle stehen haben. Das
hat verheerende Folgen, denn die Wiederherstellung
der Datenbank bricht dadurch ab.
Es ist also erforderlich zu checken, ob ein "#" an erster
Stelle nicht Teil eines geöffneten Strings ist. Dies genau
macht ein Mod, den ich auf meiner HP zum Download
bereit gestellt habe (Download-Bereich die Nr. 15). Er
enthält den kompletten Ersatz für die Funktion.
Habe den Bug auch im Bug-Tracker von phpbb.com
gepostet. Glaube aber nicht, daß dort noch ein Support
erfolgen wird.
In phpbb3 dürfte es das gleiche Problem geben.
Dort ist die gleichnamige Funktion in der Datei
includes/functions_admin.php betroffen. Da ich noch
nicht mit phpbb3 arbeite, habe ich dafür keine Lösung.
Prinzipiell müßte die o.a. Korrektur aber auch hier
funktionieren.
Gruß Ron
unangenehmen Bug.
Wenn man z.B. in einem Posting das Zeichen "#" an der
ersten Stelle einer Zeile stehen hat, erscheint dieses
Zeichen auch in der ersten Spalte einer Zeile der SQL-
Backup-Datei. Die Funktion "remove_remarks" in der
Datei "include/sql_parse.php" löscht gnadenlos alle
Zeilen, die ein "#" an erster Stelle stehen haben. Das
hat verheerende Folgen, denn die Wiederherstellung
der Datenbank bricht dadurch ab.
Es ist also erforderlich zu checken, ob ein "#" an erster
Stelle nicht Teil eines geöffneten Strings ist. Dies genau
macht ein Mod, den ich auf meiner HP zum Download
bereit gestellt habe (Download-Bereich die Nr. 15). Er
enthält den kompletten Ersatz für die Funktion.
Habe den Bug auch im Bug-Tracker von phpbb.com
gepostet. Glaube aber nicht, daß dort noch ein Support
erfolgen wird.
In phpbb3 dürfte es das gleiche Problem geben.
Dort ist die gleichnamige Funktion in der Datei
includes/functions_admin.php betroffen. Da ich noch
nicht mit phpbb3 arbeite, habe ich dafür keine Lösung.
Prinzipiell müßte die o.a. Korrektur aber auch hier
funktionieren.
Gruß Ron