Я попробую объеденить все высказанное в одну картину, на сколько я сам смог ее нарисовать:
Есть пользователь 1 (П1) - у него установлена самая новая версия FA с самыми последними модулями.
Есть пользователь 2 (П2) - у него установлена не самая новая версия FA без модулей.
П1 создает arc с применением различных модулей. В arc записывается информация об:
1. применяемых алгоритмах сжатия (lzma.1/lzma.2/ppmd) - для определеления совместимых модулей/архиватора
2. версии архиватора/модулей (FA 0.65/packjpg 2.3a) - для определения модуля/архиватора, с помощью которого было создано/гарантированно распаковывается
3. (? сомневаюсь в ее надобности) ссылка на сайт FA с модулями.
Далее, arc, созданный П1 попадает на ПК П2, где при попытке разархивирования, FA предлагает либо скачать обновление/недостающие модули с сайта (ссылка изначально прописана в самом FA, и сам FA должен скачивать и устанавливать обновления/модули без дополнительных ручных опреаций пользователя - требуется только выбор последнего) или же предлагает выбрать, где лежит архив с нужными обновлениями/модулями, либо модули в распакованном виде (при этом, FA также все это копирует/устанавливает к себе).
Далее происходит, непосредственно, разархивирование arc.
Цитата: Т.о., ИМХО, информация об использованных модулях, ссылках на них и их контрольных суммах должна быть внутри архива - т.к., если я через несколько месяцев получу архив и захочу его распаковать, - я должен быть уверен в совместимости тех модулей, что есть у меня, - и тех модулей, что использовал тот, кто создал данный архив.
Проблема только может быть в том, что на сайте уже может не быть тех старых версий, с помощью которых производилась упаковка, зато будут новые, поддерживающие тот алгорит, но имеющие другие контрольные суммы. Проще тогда делать привязку к алгоритму. Допустим, сделать ветку freearc.org/modules/lzma2, где всезда будет лежать новейшая версия модуля, подддерживающая распаковку lzma2. Это только один из вариантов.
В крайнем случае, можно оставить самый универсальный вариант - чтобы предлагалось автоматическое обновление FA вместе со вмеми модулями разом. Топорно, радикально, но вариант.
Добавлено: Цитата: речь шла про произвольный упаковщик и соответственно про произвольный линк.
Не вариант - сегодня разработчику интересен его проект и он его поддереживает (при этом может менять ссылки, причем, далеко не прямые), а завтра у него этот интерес пропал или он решил перейти на платную основу или еще что-то - во всех этих случаях, линк приведет в никуда.
Цитата: ссылка относительно офсайта (скажем freearc.org/modules) будет вредоносной только при условии заражения самого сайта.
Даже в случае атаки на сайт с целью взлома и получения доступа к файлам, практически невероятно, что кто-то специально перезаражает все файлы на нем (а заодно исправит контрольные суммы), после чего будет держать сайт "как ни в чем нибывало" (при этом и разработчик и хостер должны будут сидеть сложа руки и ничего не делать).