Страница 1 из 2

debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 18:35:58
Hiko
Добрый день, такая проблема. Использую компоненты synapse для отправки почты и libxml2 для работы с xml. На 32 битном линуксе все было ок. Переехал на х64 и вылезли след проблемы.

Все приложения сразу повалились. Еще на этапе подключения библиотек. С xml решил путем перекладывания формирования на базу. Но проблема с отправкой почты осталась((
Отправка идет через гугл, поменять сервер не вариант. У гугла используеться TSL а значит synapse грузит библиотеку libssl. В системе стояла 0.9.8 версия. Моя прога крашила на момент подключения. Поставил 0.9.7 (как советовалось на сайте синапса) прога запускается но падает гдето на инициализации функций.

Возможно кто-то сталкивался с таким? Есть ли решение?

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 18:46:16
WAYFARER
Hiko, набросайте небольшой пример, что бы воспроизвести ошибку, попробуем разобраться вместе...

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 19:03:40
Padre_Mortius
а программа была пересобрана под 64 бита?

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 19:27:22
Hiko
Выдрал кусок кода который почту шлет. Прикладываю.
http://narod.ru/disk/43189629001.a118d5 ... 1.rar.html

Скачал fpc amd64 им и собираю.
Пробовал indy10 все ок пока libssl не подключаешь, потом тоже крашит

Добавлено спустя 5 минут 11 секунд:
Сейчас с либой 0.9.7 не падает. Но почту не шлет. Работает хз как, отладку ставил по всему синапсу. Такое чувство что он просто подключиться не может когда защищенное соединение.
Сделал простой https get с компонентом THTTPSend. Итог краш даже с 0.9.7 либой

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 19:36:39
Padre_Mortius
Сервер исходящей почты (SMTP) – требуется TLS2 или SSL: smtp.gmail.com (использовать аутентификацию)
Использовать аутентификацию: да
Порт для TLS/STARTTLS: 587
Порт для SSL: 465

а у вас почему-то 25 порт.

Добавлено спустя 2 минуты 53 секунды:
Пример использования smtp и TLS

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 19:46:06
Hiko
Да, прошу прощения. Код выдирал когда ошибся, порт с базы берется там 587

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 19:46:52
Padre_Mortius
и в примере нет куска работы с TLS

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 19:48:01
Hiko
Еще раз повторю, на х86 оно работает. И THTTPSend данные через get получает. А на х64 нет((

Добавлено спустя 5 минут 44 секунды:
Посмотрел код из примера, у меня еще на smtp.Login() валиться. Т.е там еще далеко до smtp.StartTLS()

Вот код синапса функции SendToRaw(ее использую)

if SMTP.Login then
begin
writeln('login');

Вот до writeln('login'); у меня и не доходит.

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:01:31
Padre_Mortius
Код: Выделить всё
if not smtp.Login then writeln(smtp.ResultString)

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:09:36
Hiko
Пустую строку вернул

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:12:18
Padre_Mortius
Код: Выделить всё
if not smtp.Login then writeln(smtp.ResultCode);

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:13:18
Hiko
Пусто

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:15:48
Padre_Mortius
сделайте полный пример. я ближе к ночи смогу его посмотреть на linux x86_64

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:19:06
Hiko
качнул с нета libssl0.9.7-2 с ним вот чего руганулся:
smtp.ResultString=28
SMTP.FullResult.Text=220 2.0.0 Ready to start TLS

Эт на логине

Re: debian squeeze x64 и проблемы с libssl и libxml

СообщениеДобавлено: 09.03.2012 20:26:05
Padre_Mortius
перед smtp.Login сделайте
Код: Выделить всё
smtp.AutoTLS := true;