Танкист Апокалипсиса
Давно беспокоящая проблема, возникающая при переносе почтовых баз 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!

Комментарии
30.01.2014 в 09:12

>Думаю выложить это глючное поделие в общий доступ.
И где это программа или осталась только идея?
31.01.2014 в 11:01

Танкист Апокалипсиса

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail