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

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

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

Сообщение Hiko »

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

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

Возможно кто-то сталкивался с таким? Есть ли решение?
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

Hiko, набросайте небольшой пример, что бы воспроизвести ошибку, попробуем разобраться вместе...
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

а программа была пересобрана под 64 бита?
Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

Сообщение 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 либой
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

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

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

Добавлено спустя 2 минуты 53 секунды:
Пример использования smtp и TLS
Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

Сообщение Hiko »

Да, прошу прощения. Код выдирал когда ошибся, порт с базы берется там 587
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

и в примере нет куска работы с TLS
Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

Сообщение Hiko »

Еще раз повторю, на х86 оно работает. И THTTPSend данные через get получает. А на х64 нет((

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

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

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

Вот до writeln('login'); у меня и не доходит.
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

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

if not smtp.Login then writeln(smtp.ResultString)
Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

Сообщение Hiko »

Пустую строку вернул
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

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

if not smtp.Login then writeln(smtp.ResultCode);
Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

Сообщение Hiko »

Пусто
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

сделайте полный пример. я ближе к ночи смогу его посмотреть на linux x86_64
Hiko
незнакомец
Сообщения: 9
Зарегистрирован: 30.05.2011 11:12:01

Сообщение Hiko »

качнул с нета libssl0.9.7-2 с ним вот чего руганулся:
smtp.ResultString=28
SMTP.FullResult.Text=220 2.0.0 Ready to start TLS

Эт на логине
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

перед smtp.Login сделайте

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

smtp.AutoTLS := true;
Ответить