Personal Backup Vers. 5.3 |
|
| © 2012, J. Rathlev, IEAP, Uni-Kiel |
Da die Version 4.5 nicht mehr weiter entwickelt wird, wird empfohlen, auf allen aktuellen Windows-Betriebssystemen (Windows XP, Windows Vista und Windows 7) Personal Backup 5 einzusetzen.
Ab Vers. 5.0 wurde Personal Backup mit der Delphi-2009-Entwicklungsumgebung erstellt und hat daher eine vollständige Unicode-Unterstützung. Die Beschränkungen des ANSI-Zeichensatzes (ISO-8859) bei Dateinamen gehören damit der Vergangenheit an. Außerdem sind jetzt Pfadlängen von mehr als 260 Zeichen erlaubt.
Die wichtigsten Neuerungen:
Der existierende Standard für das gzip-Format (RFC1952 von 1996) legt fest, dass der Dateiname im ISO-8859-1-Zeichensatz gespeichert werden soll. Ich habe leider keine allgemein gültigen Festlegungen gefunden, wie mit Unicode-Dateinamen umzugehen ist.
So weicht z.B. die aktuelle Linux-Version des Programms GZip, mit dem gz-Archive erzeugt und gelesen werden können, von diesem Standard ab und speichert den Dateinamen im UTF-8-Format. Dabei wird das OS-Byte im Header auf 3 (Unix) gesetzt.
Personal Backup hat dieses Byte bislang immer auf 0 (FAT) gesetzt und den Dateinamen als ISO-8859-1 gespeichert. Um mit den bisherigen Versionen kompatibel zu bleiben und trotzdem auch Unicode-Zeichen zu unterstützen, werden jetzt zwei Varianten benutzt:
Damit ergibt sich allerdings das Problem, dass Fremdprogramme (wie z.B. WinZip oder WinRar) die von Personal Backup in den gz-Dateien gespeicherten Dateinamen nur im ersten Fall richtig erkennen. Auf das Entpacken hat das allerdings keinen Einfluss.
Besser wäre es sicherlich das z.Zt nicht benutzte Bit 5 des FLG-Byte als Unterscheidungs-Merkmal für die Kodierung zu benutzen. So ähnlich wird es z.B. beim Zip-Format (s.u.) gemacht.
Im existierenden Standard für das gzip-Format (RFC1952 von 1996) ist für die Größe der unkomprimierten Datei nur ein 32-bit-Wert vorgesehen. Bei Dateien ≥ 4 GB wird dieser Wert dann modulo 232 geschrieben. Beim Zurückspeichern mit einem gängigen Packprogramm wird die Größe daher dann mit einem falschen Wert angezeigt. Das hat aber keinen Einfluss auf das Entpacken der Datei.
Beim Zip-Format ist in der Spezifikation Version 6.3.2 v. Sept. 2007 beschrieben, wie mit Unicode-Dateinamen umzugehen ist: Wenn das Bit 11 des "general purpose bit flag" gesetzt ist, sind Dateiname und Kommentar UTF-8-kodiert. Personal Backup hält sich an diese Vorgabe. Inzwischen unterstützten auch viele Packprogramme diesen Standard (z.B. WinZip Vers. 12, WinRar Vers. 3.80 und 7-Zip Ver. 4.65).
Die Dateien werden nach dem AES-Verfahren verschlüsselt. Dabei werden die gleichen Routinen, wie bei WinZip verwendet (siehe Infos bei Winzip und bei Brian Gladman). Das erzeugte Datenformat hängt allerdings vom gewählten Backup-Modus ab:
Enc-Header : 10, 14 oder 18 Bytes (abhängig von der Länge des Passworts)
Saltwert (8, 12 oder 16 Bytes) + Kennwortprüfwert (2 Bytes)
Enc-Data : Anzahl Bytes wie Quelldatei
Enc-Trailer: 10 Bytes Authentifizierungscode
GZip-Header : 10 Bytes
neu: Flag-Byte: bit 5 = encrypted
Enc-Header : 10, 14 oder 18 Bytes (abhängig von der Länge des Passworts, s.o.)
Enc-Data : Anzahl Bytes wie komprimierte Quelldatei
Enc-Trailer : 10 Bytes (s.o.)
GZip-Trailer: 8 Bytes
Crc immer = 0
Alle Kennwörter, sowohl für FTP, SMTP als auch AES-Verschlüsselung müssen in der Kodierung ISO-8859-1 angegeben werden
Für Pfadlängen gibt es unter Windows XP und älteren Betriebssystemen
an vielen Stellen immer noch die Beschränkung auf 260 Zeichen
(Weitere Infos).
Alle Anwendungen, die die Windows-Shellkomponenten benutzen,
wie z.B. auch der Explorer, können daher keine längeren Pfade verarbeiten.
An den Stellen, wo Personal Backup auf diese Komponenten zurückgreift (z.B. im Dialog
zur Auswahl eines Verzeichnisses oder einer Datei), gilt diese Einschränkung
auch für die Vers. 5. Bei Windows 7 gibt es diese Probleme nicht mehr.
Intern wird bei der Verarbeitung der Dateien (z.B. beim Kopieren) mit UNC-Pfaden
gearbeitet, die eine max. Länge von ca. 32000 Zeichen haben können.
Daher ist mit der Version 5 die Sicherung, das Zurückspeichern und das Löschen
von Dateien mit überlangen Pfaden möglich, auch wenn viele Dateimanager
und auch der WindowsXP-Explorer beim Durchsuchen einer so erzeugten Ordnerstruktur
versagen. Ein mir bekannter Dateimanager, der lange Pfade unterstützt, ist der
TotalCommander ab Vers. 7.5