Чтобы ответить на ваш прямой вопрос: « в чем разница ?»:
При перенаправлении с <& 6
, оболочка использует системный вызов dup2 ()
для дублирования файлового дескриптора. Когда вы (пытаетесь) перенаправить с dev / fd / 6
, он будет использовать open ()
.
Ядро не поддерживает open ()
на сокетах в / dev / fd
; они присутствуют в справочнике только для информации украшения .
“All structures in libssl public header files have been removed so that they are "opaque" to library users. You should use the provided accessor functions instead.”
Эта (ее базовая структураevp_cipher_ctx_st
)и другие скрыты от 1.1.0, теперь к ним нужно обращаться (создавать, изменять, уничтожать )через API. Чтобы ссылаться на такие объекты, теперь вы должны использовать только указатель на них, а не создавать свои собственные экземпляры. К преимуществам относятся инкапсуляция этих типов данных и улучшенная совместимость с бинарными API.
У замечательных людей из Cossack Labs есть полезная запись в блоге, в которой обсуждаются изменения, которые им необходимо внести для перехода на OpenSSL 1.1.