Dmitry Belyavsky (beldmit) wrote,
Dmitry Belyavsky
beldmit

Отрубленный хвост

Пару недель назад мне прислали багрепорт на open engine — открытую реализацию алгоритмов ГОСТа для OpenSSL. Это меня с одной стороны обрадовало — приятно, когда твоим кодом пользуются — а с другой огорчило: год назад всё работало. Правда, это было ещё до релиза версии 1.1.0...

Вскрытие показало, что в Makefile отсутствовала директива -Werror, из-за чего выдавались только предупреждения в тех местах, где API поменялось. Исправление сборки само по себе не изменило ситуацию, пришлось лезть в дебаггер.

Две ошибки я устранил быстро, и заработал TLS с 2001-м годом. А с 2012-м ситуация не исправилась.

Несколько вечеров я провёл, долбясь головой об стенку и изучая каждый diff за год, благо их немного. Потом удалось воспроизвести ошибку не на TLS, где отлаживать приходилось с двух концов, а на smime. И на пятый день индеец Зоркий Глаз заметил, что полностью изменена была система сборки, и в CMake-овских правилах не было проверок на endianess. По нелепому стечению обстоятельств затрагивало это только два алгоритма, которые я заподозрить не успел. После исправления всё заработало. Так что этот хвост не будет меня беспокоить в новогоднюю ночь.

This entry was originally posted at http://beldmit.dreamwidth.org/491465.html. Your comment? (comment count unavailable comments)
Tags: security, криптография, лытдыбр
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments