[devel] U: Re: Порядок установки openssl и libkrb5

Evgeny Sinelnikov sin на altlinux.ru
Ср Май 27 16:48:07 MSD 2009


27 мая 2009 г. 15:32 пользователь Aleksey Avdeev <solo at solin.spb.ru> написал:
> Dmitry V. Levin пишет:
>>
>> On Tue, May 26, 2009 at 01:28:23PM +0400, Evgeny Sinelnikov wrote:
>>>
>>> 26 мая 2009 г. 13:08 пользователь Sergey Vlasov <vsu at altlinux.ru>
>>> написал:
>>>>
>>>> On Tue, May 26, 2009 at 01:40:04AM +0400, Aleksey Avdeev wrote:
>>>>>
>>>>> Dmitry V. Levin пишет:
>>>>>>
>>>>>> Виноват цикл зависимостей:
>>>>>> $ rpmquery -pR libkrb5-1.6.3-alt7.x86_64.rpm |fgrep crypto
>>>>>> libcrypto.so.7()(64bit)
>>>>>> $ rpmquery -pR libssl7-0.9.8k-alt2.x86_64.rpm |fgrep krb
>>>>>> libkrb5.so.3(krb5_3_MIT)(64bit)
>>>>>>
>>>>>> Этот цикл нужно разорвать в правильном
>>>>>> месте, которое надо найти.
>>>>>
>>>>>  Как насчёт дополнения зависимостей openssl
>>>>>  ручным PreReq: libkrb5 (тот вариант что я в
>>>>> качестве NMU предлагаю)? (Есть ли подводные
>>>>> камни?)
>>>>
>>>> Тогда то же самое произойдёт, если кому-то в скриптах потребуются
>>>> библиотеки libkrb5.
>>>>
>>>> Возможно, стоит распилить libssl7, положив libcrypto.so.7 в отдельный
>>>> пакет; тогда пакеты libkrb5 и libssl7 будут зависеть от libcrypto7, а
>>>> у libcrypto7 в зависимостях из библиотек останется только glibc; ещё у
>>>> libssl7 будет зависимость на libkrb5, но цикла в зависимостях уже не
>>>> будет.  Кроме того, станет возможной установка libcrypto7 без libssl7
>>>> (сейчас есть более 100 пакетов, использующих libcrypto, но при этом не
>>>> использующих libssl).
>>>
>>> Мне нравится этот вариант...
>>
>> Мне тоже.
>
>  ОК. Кто и когда будет это делать?

К выходным сделаю... будете проверять - сделаю раньше на потестить

> PS: Могу сделать я, как лицо кровно заинтересованное.

патчи принимаются через git.

Хоть #20175 и теряет смысл сам PreReq на libkrb5 имеет смысл?

PS: Да, с удивлением обнаружил, что pkinit из krb5 грузит из openssl
символы и алгоритмы (cipher suites), а не модуль...
Вот эта часть течёт при повторном заведении krb5context'а (вернее не
удаляется при закрытии предыдущего):
pkinit_crypto_openssl.c:
static void
openssl_init()
{
    static int did_init = 0;

    if (!did_init) {
        /* initialize openssl routines */
        CRYPTO_malloc_init();
        ERR_load_crypto_strings();
        OpenSSL_add_all_algorithms();
        did_init++;
    }
}

-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel