Танкист Апокалипсиса
Давно беспокоящая проблема, возникающая при переносе почтовых баз The Bat! с сервера на сервер получила достойное разрешение.
Проблема:
В почтовом ящике The Bat! указано, что прикреплённые файлы хранятся в отдельном каталоге.
При переносе почтовых баз с места на место (изменение пути к почтовому профилю или местоположения папки с вложенными файлами) теряется возможность открыть из письма прикреплённые файлы, полученные до даты переноса почтовой БД.
Причина:
В файлах *.tbb при их перемещении (даже штатными средствами The Bat! для изменения основного рабочего каталога) не меняются пути к аттачам.
Решение:
На коленке была написана программка, которая исправляет пути к файлам на указанный пользователем.
Написанию сопутствовали следующие сложности:
а) официальное описание структуры TBB-файла отсутствует (закрытый формат). Часть информации удалось найти тут: www.felix-schwarz.name/TheBat_Importer_(en) и www.felix-schwarz.name/files/thebat/tbb.txt
б) для каждого сообщения считается контрольная сумма (которая хранится в заголовке по смещению 8), если изменять содержимое письма без пересчёта КС, письмо при следующей проверке Батом целостности базы будет убито и выкинуто в отдельный файл. По какому алгоритму считалась сумма - известно не было, было подозрение, что CRC32. Однако модификаций этого CRC32 предостаточно, и не все, как выяснилось, реализации правильны. Определить алгоритм проверки целостности помогла программка fsumfe.sourceforge.net/ , им оказался CRC32 jamcrc. У неё же, в результате, и был взят и "переписан" на C алгоритм. (Была там ещё одна проблема, связанная с тем, что первая реализация CRC32 jamcrc, найденная мной в интернете, слегка отличалась от нужной, в результате чего часть сумм считалась неправильно, но пока это выяснилось...)
в) часть имён файлов по непонятной причине кодируется по Base64. По непонятной потому, что у меня на компьютере кодирование не использовалось, например, а на другом - использовалось, причём что там, что там есть файлы с кириллическими именами.
Думаю выложить это глючное поделие в общий доступ.
Проблема:
В почтовом ящике The Bat! указано, что прикреплённые файлы хранятся в отдельном каталоге.
При переносе почтовых баз с места на место (изменение пути к почтовому профилю или местоположения папки с вложенными файлами) теряется возможность открыть из письма прикреплённые файлы, полученные до даты переноса почтовой БД.
Причина:
В файлах *.tbb при их перемещении (даже штатными средствами The Bat! для изменения основного рабочего каталога) не меняются пути к аттачам.
Решение:
На коленке была написана программка, которая исправляет пути к файлам на указанный пользователем.
Написанию сопутствовали следующие сложности:
а) официальное описание структуры TBB-файла отсутствует (закрытый формат). Часть информации удалось найти тут: www.felix-schwarz.name/TheBat_Importer_(en) и www.felix-schwarz.name/files/thebat/tbb.txt
б) для каждого сообщения считается контрольная сумма (которая хранится в заголовке по смещению 8), если изменять содержимое письма без пересчёта КС, письмо при следующей проверке Батом целостности базы будет убито и выкинуто в отдельный файл. По какому алгоритму считалась сумма - известно не было, было подозрение, что CRC32. Однако модификаций этого CRC32 предостаточно, и не все, как выяснилось, реализации правильны. Определить алгоритм проверки целостности помогла программка fsumfe.sourceforge.net/ , им оказался CRC32 jamcrc. У неё же, в результате, и был взят и "переписан" на C алгоритм. (Была там ещё одна проблема, связанная с тем, что первая реализация CRC32 jamcrc, найденная мной в интернете, слегка отличалась от нужной, в результате чего часть сумм считалась неправильно, но пока это выяснилось...)
в) часть имён файлов по непонятной причине кодируется по Base64. По непонятной потому, что у меня на компьютере кодирование не использовалось, например, а на другом - использовалось, причём что там, что там есть файлы с кириллическими именами.
Думаю выложить это глючное поделие в общий доступ.
И где это программа или осталась только идея?