tipografia regular medium font descargar dafont ubuntu openssl symbol ubuntu-11.10

regular - ubuntu medium free



Ubuntu y símbolo indefinido para SSLv2_method (3)

¿Canonical está cambiando el nombre de los símbolos en su versión de paquete de openssl, y si es así para qué propósito? Cuando compilo openssl-1.0.0e.tar.gz (descargado de openssl.org directamente) desde cero, veo el símbolo necesario, pero Python (y yo) parece que no puede encontrarlo en la versión empaquetada.

Siga leyendo para obtener más información acerca de cómo diagnostiqué este problema ...

Estoy tratando de compilar Python 2.6.1 en Ubuntu 11.10, y obtener el mensaje de error anterior. La razón por la que estoy usando este Python antiguo es porque estoy tratando de hacer que mi instalación de Ubuntu sea 100% compatible con un sistema de producción para fines de desarrollo.

Cuando actua

strace -feopen make -j4 |& grep "libssl"

Veo que estoy usando un archivo prometedor:

[pid 22614] open ("/ usr / lib / x86_64-linux-gnu // libssl.so", O_RDONLY) = 7

Al ejecutar nm, este archivo no tiene símbolos. Sin embargo, el archivo .a tiene uno similar:

0000000000000030 T SSLv23_method

El paquete libssl1.0.0-dbg se instala a través de Synaptic, sin embargo, cuando listamos los archivos instalados para este paquete, todo lo que veo es "La lista de archivos instalados solo está disponible para los paquetes instalados", lo cual es claramente un error de Ubuntu. Así que no estoy seguro de cómo debo verificar qué símbolos están presentes en .so.

Sin embargo, sospecho que han cambiado el nombre de SSLv2_method a SSLv23_method en cualquier caso.

¿Cómo proceder para descubrir el estado del openssl-1.0.0 de Ubuntu?


Las personas de Ubuntu construyen OpenSSL sin soporte SSLv2 porque el protocolo tiene problemas de seguridad conocidos . Es por eso que no puede encontrar SSLv2_method en su biblioteca a pesar de que puede encontrarlo cuando compila la biblioteca usted mismo.

Los registros de compilación de Ubuntu están available públicamente. Puede ver en el registro oneiric-i386.openssl_1.0.0e que la biblioteca se configura con la opción -no-ssl2 , que deshabilita la compatibilidad con SSLv2.

./Configure --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/i386-linux-gnu no-idea no-mdc2 no-rc5 zlib enable-tlsext no-ssl2 debian-i386 Configuring for debian-i386 no-gmp [default] OPENSSL_NO_GMP (skip dir) no-idea [option] OPENSSL_NO_IDEA (skip dir) no-jpake [experimental] OPENSSL_NO_JPAKE (skip dir) no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5 no-md2 [default] OPENSSL_NO_MD2 (skip dir) no-mdc2 [option] OPENSSL_NO_MDC2 (skip dir) no-rc5 [option] OPENSSL_NO_RC5 (skip dir) no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir) no-shared [default] no-ssl2 [option] OPENSSL_NO_SSL2 (skip dir) no-store [experimental] OPENSSL_NO_STORE (skip dir) no-zlib-dynamic [default]

Tenga en cuenta que la disponibilidad de SSLv23_method no significa que un cliente podrá conectarse a un servidor con SSLv2. La documentación de OpenSSL analiza brevemente esta situación :

La lista de protocolos disponibles puede limitarse más adelante utilizando las opciones SSL_OP_NO_SSLv2, SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1 de las funciones SSL_CTX_set_options () o SSL_set_options (). Al usar estas opciones, es posible elegir, por ejemplo, SSLv23_server_method () y poder negociar con todos los clientes posibles, pero solo para permitir protocolos más nuevos como SSLv3 o TLSv1.


Mi solución fue instalar openssl sin soporte ssl2

./config --prefix=/usr enable-shared -no-ssl2

Luego, instale todo lo vinculado a las bibliotecas en / usr / ssl. Funciona..