[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Проблема с copy/paste для emacs (compound-text-with-extensions).



On 2008.12.18 at 16:38:54 +0200, Aleksey Cheusov wrote:

> Это понятно. То, что софт с вашим openssl нужно пересобирать я и не
> ставил под сомнение. Разьве есть на свете "сборщики пакетов", которые
> не умеют пересобирать приложения, если указано, что изменился API
> базовой библиотеки? А если есть, имеют ли они право так называться?

API - НЕ ИЗМЕНИЛСЯ. Измениля ABI. Если изменяетя API, то исходники
редактировать надо. Вот для Apache API изменился, потому что то API,
которое он использует - ни разу не I (в смысле интерфейс), а внутренние
недокументированные потроха.

А для честных программ, которые используют документированный API (ну
плюс тот API, который разработчики OpenSSL должны бы были
документировать, но забыли), API не изменился. Другое дело что когда-то
давно, в OpenSSL 0.9.7 (а при переходе от 0.9.6 к 0.9.7 и от 0.9.7 к
0.9.8 API действительно менялся) в API появилась функция, позволяющая 
отконфигурировать библиотеку. И в man на эту функцию категорически
рекомендуется её использовать. Но вот авторы приложений про это в
большинстве своем забывают. Или забивают, считая, что то, что было
хорошо во времена OpenSSL 0.9.6 (в прошлом веке), сгодится и сейчас.

Кроме того, есть алгоритм-специфичные API и универсальные API, которые
работают с тем алгоритмом, ключ от которого дали. И многие авторы
приложений почему-то думают, что алгоритмов с открытым ключом кроме RSA
не бывает (а я скорее склонен считать, что если программа может не
использовать RSA, его не надо использовать, ибо взломают его со дня на
день). И используют алгоритм-специфичный API.

Собственно наши патчи к приложениям в массе своей именно эти вещи и
правят.

Единственное место, где МЫ меняем API - это добавление возможности
работать с MAC-алгоритмами, отличными от HMAC. Тут уже разработчики
OpenSSL не подумали что на свете есть несколько больше алгоритмов чем
один HMAC, и людям они могут понадобиться (у некоторых даже в качестве
государственного стандарта принят именно такой алгоритм).


Что характерно, та бинарная несовместимось которая у нас есть, как
правило, дальше одного уровня динамической линковки не идет.

Если, скажем, пересобрать с нашим OpenSSL libldap, то она будет
прекрасно работать с любым родным debian-овским пакетом, её испольующим,
если только он не тащит за собой родную openssl непосредственно. Вот две
openssl подгруженные в один бинарник - точно подерутся.

Поэтому apache-1.3 мы не пересобирали. Пересобрали libapache-mod-ssl и 
этого достаточно. Вот с 2.2 этот номер не проходит. Там mod_ssl - часть
самого apache а не сторонний модуль.


Reply to: