не собирается Exim с поддржкой TLS

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ave
рядовой
Сообщения: 10
Зарегистрирован: 2006-10-25 16:31:11

не собирается Exim с поддржкой TLS

Непрочитанное сообщение ave » 2007-03-23 15:01:41

что то не ладное в датском королевстве, в смысле с Exim-ом, творится

сперва новый Exim 4.66 категорически не захотел собираться,
ругаясь на некие неопознанные функции NIS
пришлось пересобирать с опцией WITHOUT_NIS

недавно обновилась openssl (9.7e), пробую пересобрать ехим, вылетают ошибки:

cc tls.c
In file included from tls.c:86:
tls-openssl.c: In function `tls_init':
tls-openssl.c:346: error: wrong type argument to unary exclamation mark
*** Error code 1

пересобираю с опцией WITHOUT_TLS, все проходит

сразу скажу - дело именно в новой версии openssl, на второй машине, где порты не успели обновиться, все собирается как надо.

NIS меня не трогает, но вот без TLS как то не хочется

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ave
рядовой
Сообщения: 10
Зарегистрирован: 2006-10-25 16:31:11

Непрочитанное сообщение ave » 2007-03-23 20:12:41

>
>cc tls.c
>In file included from tls.c:86:
>tls-openssl.c: In function `tls_init':
>tls-openssl.c:346: error: wrong type argument to unary exclamation mark
>*** Error code 1

в 346-ой строке tls-openssl.c мы видим

if (!(SSL_CTX_set_info_callback(ctx, (void (*)())info_callback)))
return tls_error(US"SSL_CTX_set_info_callback", host);

если это условие закомментировать, exim соберется (и на первый взгляд даже работает:-)
но наверное это не совсем правильно будет.

в openssl 0.9.8d функция SSL_CTX_set_info_callback отсутствует,
а в 0.9.8е - есть (в файле ssl_sess.c:803)

void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(const SSL *ssl,int type,int val))
{ ctx->info_callback=cb; }

ясно, что в ехиме эта функция вызывается с ошибкой, но где собака порыта, не вижу
может кто из знатоков С укажет.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-23 23:08:36

не очень знаком с сями, но не лишняя ли пара скобок?
Попробуй так:

Код: Выделить всё

if (!SSL_CTX_set_info_callback(ctx, (void (*)())info_callback))
return tls_error(US"SSL_CTX_set_info_callback", host); 
Убей их всех! Бог потом рассортирует...

ave
рядовой
Сообщения: 10
Зарегистрирован: 2006-10-25 16:31:11

Непрочитанное сообщение ave » 2007-03-25 16:05:14

тема прикрыта, смотреть http://www.opennet.ru/openforum/vsluhfo ... 73080.html