Не способный включить ktls, в то время как сборка OpenSSL3.0.0 на Ubuntu 16.04.1

Я пытаюсь создать Openssl-3.0.0 из основного ответвления для использования ktls функции на Ubuntu 16, но сборка пропускает ktls функцию

даже при том, что я использую Ubuntu 16.04.1 (Версия ядра: 4.15) так или иначе эта сборка берет более старую версию заголовков ядрa, которые не присутствуют в моем хосте и функции KTLS пропуска,

я пропускаю что-то здесь? некоторые могут помочь мне создающий этот компонент?

Вот шаги

Шаг 1: проверенные заголовки

kafka-secure2:/usr/src$ uname -a
Linux kafka-secure2 4.15.0-50-generic #54~16.04.1-Ubuntu SMP Wed May 8 15:55:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

kafka-secure2:/usr/src$ find . -name version.h
./linux-headers-4.15.0-52/include/xen/interface/version.h
./linux-headers-4.15.0-52/include/uapi/linux/dvb/version.h
./linux-headers-4.15.0-50-generic/include/config/arch/want/compat/ipc/parse/version.h
./linux-headers-4.15.0-50-generic/include/generated/uapi/linux/version.h
./linux-headers-4.15.0-50/include/linux/version.h
./linux-headers-4.15.0-50/include/xen/interface/version.h
./linux-headers-4.15.0-50/include/uapi/linux/dvb/version.h
./linux-headers-4.15.0-52-generic/include/config/arch/want/compat/ipc/parse/version.h
./linux-headers-4.15.0-52-generic/include/generated/uapi/linux/version.h

Step2: инициируемая сборка Openssl

kafka-secure2:~/sanat/openssl-build$ $HOME/sanat/openssl-master/config enable-ktls --prefix=/home/kafka/openssl/openssl --openssldir=/home/kafka/openssl/ssl
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 3.0.0-dev for target linux-x86_64
Using os-specific seed configuration
cat: /usr/include/linux/version.h: No such file or directory   <====================Still looking for this version.h


Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
kafka-secure2:~/sanat/openssl-build$ ./configdata.pm -o

Enabled features:

......

Disabled features:

    ktls                    [too-old-kernel] 
    asan                    [default]        OPENSSL_NO_ASAN
    buildtest-c++           [default]        

Step3: Таким образом, я вручную скопировал version.h от uapi до папки Linux, это имеет последнюю версию

linux-headers-4.15.0-50/         linux-headers-4.15.0-50-generic/ linux-headers-4.15.0-52/         linux-headers-4.15.0-52-generic/ 
kafka-secure2:~/kafka/kafka_2.12-1.1.1$ cat /usr/src/linux-headers-4.15.0-50-generic/include/generated/uapi/linux/version.h
#define LINUX_VERSION_CODE 266002
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))


kafka-secure2:/usr/src$ cp  ./linux-headers-4.15.0-50-generic/include/generated/uapi/linux/version.h /usr/include/linux/

Step4: На этот раз ktls был включен в конфигурации

kafka-secure2:~/sanat/openssl-build$ $HOME/sanat/openssl-master/config enable-ktls --prefix=/home/kafka/openssl/openssl --openssldir=/home/kafka/openssl/ssl
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 3.0.0-dev for target linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************

kafka-secure2:~/sanat/openssl-build$ ./configdata.pm -o

Enabled features:

    ktls
    afalgeng
    ...

Step5: Но сборка пропустила функцию KTLS

kafka-secure2:~/sanat/openssl-build$ make

ssl-master/providers/common/ciphers -I../openssl-master/crypto  -DAES_ASM -DBSAES_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DPOLY1305_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM -fPIC -pthread -m64 -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/home/kafka/openssl/ssl\"" -DENGINESDIR="\"/home/kafka/openssl/openssl/lib/engines-3\"" -DMODULESDIR="\"/home/kafka/openssl/openssl/lib/ossl-modules\"" -DNDEBUG   -c -o crypto/bio/libcrypto-lib-bss_sock.o ../openssl-master/crypto/bio/bss_sock.c
In file included from ../openssl-master/crypto/bio/bss_sock.c:14:0:
../openssl-master/include/internal/ktls.h:23:7: warning: #warning "KTLS requires Kernel Headers >= 4.13.0" [-Wcpp]
 #     warning "KTLS requires Kernel Headers >= 4.13.0"
       ^
../openssl-master/include/internal/ktls.h:24:7: warning: #warning "Skipping Compilation of KTLS" [-Wcpp]
 #     warning "Skipping Compilation of KTLS"
       ^
-1
задан 28 June 2019 в 04:58

2 ответа

Я пытался воспроизвести вышеупомянутую проблему с ядром Linux 4.20. Я выполнил ниже шагов:

  1. Загруженное ядро Linux 4.20 и Включенное ядро TLS (CONFIG_TLS=y и CONFIG_TLS_DEVICE=y)
  2. Скомпилированный и установленный ядро Linux 4.20
  3. Клонированная последняя основа основного кода Openssl (до 14-го сентября 2019) и выполняемый ниже шагов

    • ./конфигурация '-WL, - enable-new-dtags,-rpath, $ (LIBRPATH)' включают-ktls
    • , делают
    • , делают тест
    • , sudo делают установку

я, didn’t видят любые предупреждающие сообщения, как упомянуто выше или компиляцию или Делают тестовые проблемы сбоя.

я прошел связанные фиксации KTLS, доступные и в Ведущем ответвлении OpenSSL и в Ядре Linux (до 14-го сентября 2019).

Определенный, что KTLS связал повреждения, там после версии 4.20.

ядра Linux я могу Скомпилировать и Сделать тест, передается с Примечанием версии 4.20.

ядра Linux:

  1. функция KTLS объединила в магистраль ядро Linux после 4.13 и добавила TLS_RX после 4.17.
  2. Делают тест (с ведущим кодом ответвления OpenSSL), является отказавшим в версиях 5.0 и 5.2.11 ядра Linux из-за стороны ядра Linux повреждения KTLS.
0
ответ дан 24 October 2019 в 02:09

Проблема заключается в установленной вами версии заголовков ядра Linux.Версия заголовков должна быть выше 4.17. Версия взята из: /usr/include/linux/version.h

На моей машине это:

#define LINUX_VERSION_CODE 329216
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

Что означает Linux 5.6.0

Вы можете установить новые заголовки ядра из исходного кода, как описано здесь: https://www.kernel.org/doc/Documentation/kbuild/headers_install.txt

Или вы можете установить заголовки из вашего дистрибутива, как описано здесь: https://www.tecmint.com/install-kernel-headers-in-ubuntu-and-debian/

0
ответ дан 5 April 2020 в 08:21

Другие вопросы по тегам:

Похожие вопросы: