Они незадокументированы и используются только для внутренних нужд, как то боязно использовать это в платном проекте с длительным циклом развития, так как не известно, что с ними будет дальше.
Это основная фишка Open Source, ты можешь использовать чужой код, но если он окажется с багами — то тебе придется их исправлять. В итоге всем профит — код оттестирован еще одним разработчиком и выявленные баги исправлены.
Проведена отличная работа.
Мне бы наверное было лень :) Хотя, надо признать, что для нужд текущего своего проекта мне пришлось исправить уже около 10 багов в трех библиотеках, которые я использую)
Молодец.
А вообще, с зипом много вещей интересных бывает.
В свое время напоролся на косяк, что java.util.zip весьма странно работает с именами файлов в юникодной кодировке. Через этот пакет можно заархивировать и обратно, а вот WinZip уже обламывается на разорхивировании этих файлов. Долго гуглил/читал спеку ZIP — оказывается, там вообще мрак — юникод-имена могут хранится несколькими способами — в зависимости от архиватора.
К чему это я? А, ну так, на всякий случай — вдруг кто столкнется — ссыль на баг в sun-oracle багтрекере
Также это исправлено в Apache Commons Compress.
Будем рады ;) Интересно поглядеть. Да и вообще можно сделать цикл статей «История одного бага». Т.к. баги бывают разные, интересные, иногда даже веселые. А самое интересное — его исправление. Автору большой респект!
Про кодировку я думаю не стокнемся, я чесно тебе скажу, не копал в эиу сторону, но QuaZIP вроде вполне прилично сам все гонит в нужную кодировку еще до создания архива. Да и не думаю что в этом приложении нам прям-таки необходимы будут русскоязычные имена файлов.
Кстати не знаю как в QuaZIP, но в minizip есть одна очень досадная недоработка — он не проверяет пароль на правильность, а сразу пытается распаковать архив с заданным паролем.
SDaB ZIP пришлось отбросить сразу, не смотря на то, что это отличная библиотека, ее код распространяется только под лицензией GPL, мне же нужно было встроить функционал в проприетарное приложение. К счастью QuaZIP оказался с двумя лицензиями GPL и LGPL.
Вот если бы вы и свою программу под GPL опубликовали, то возможно и ваши баги (а у кого их нет?) кто-нибудь пофиксил бы. Как и вы сейчас. А так — это вы фиксите чужие баги. За что вам конечно спасибо, и от меня как от косвенного пользователя.
Если бы это была моя программа, и писал бы я ее для себя, то я безусловно бы ее под GPL опубликовал, но, очевидно, что помимо любви к программированию, у меня как и у любого другого человека или животного, есть здоровая любовь к процессу приема пищи, по этому, писать приходится часто, то, что просят, и под той лицензией, под которой говорят.
Чтобы даровать миру еще одну неудобную реализацию? :)
Я уж лучше сам при своем, не такая уж сложная вещь, чтобы среднестатистический програмист не мог реализовать по своему вкусу.
А толку-то, если такое шифрование ни от чего по сути не защищает?
Использовали б уже WinZip«овский AES, там ничего сложного нет, и документация открыта (и поддерживается всеми нормальными реализацями)
История одного бага или как я ZIP паролил