Ubuntu et undefined symbol pour SSLv2_method
Est Canonique de renommer les symboles dans leur version de package openssl, et si oui dans quel but? Quand je compile openssl-1.0.0e.tar.gz (téléchargé à partir de openssl.org directement) à partir de zéro, je vois les symboles nécessaires, mais en Python (et moi) n'arrive pas à trouver dans le package de la version.
Lire la suite pour plus d'informations sur la façon dont je diagnostiqué ce problème...
Je suis en train de compiler Python 2.6.1 sur Ubuntu 11.10, et le message d'erreur ci-dessus. La raison pour laquelle je suis à l'aide de cette ancienne Python, c'est que je suis en train de faire mon installation d'Ubuntu 100% compatible avec un système de production à des fins de développement.
Lors de l'exécution de
strace -feopen make -j4 |& grep "libssl"
Je vois que je suis à l'aide d'une prometteuse fichier:
[pid 22614] open("/usr/lib/x86_64-linux-gnu//libssl.donc", O_RDONLY) = 7
L'exécution de nm, ce fichier n'a pas de symboles. Cependant, l' .un fichier a un autre semblable:
0000000000000030 T SSLv23_method
Le paquet libssl1.0.0-dbg est installé via synaptic, mais quand je liste les fichiers d'installation de ce package tout ce que je vois est "La liste des fichiers installés est uniquement disponible pour les paquets installés", qui est clairement une Ubuntu bug. Donc, je ne suis pas sûr de savoir comment je suis censé vérifier les symboles qui sont présents dans la .donc.
Cependant, je me méfie qu'ils ont rebaptisé SSLv2_method à SSLv23_method en tout cas.
La façon de procéder pour déterminer le statut de Ubuntu openssl-1.0.0?
- Avez-vous trouvé aucune solution de contournement pour construire la version 2.6 de Python sur Ubuntu avec le support de SSL?
- Voir aussi Problème 5453: erreur de Compilation dans le coup de pouce.Asio avec OPENSSL_NO_SSL2 sur le coup de pouce Bug Trac. Nous espérons Stimuler gardé utilisation de SSLv3 basé sur
OPENSSL_NO_SSL3
.
Vous devez vous connecter pour publier un commentaire.
Ubuntu, les gens construisent des OpenSSL sans SSLv2 de soutien parce que le protocole a les problèmes de sécurité connus. C'est pourquoi vous ne pouvez pas trouver
SSLv2_method
dans sa bibliothèque, et même si vous pouvez le trouver lors de la compilation de la bibliothèque vous-même.Ubuntu journaux de construction sont publiquement disponible. Vous pouvez le voir dans la onirique-i386.openssl_1.0.0 e journal de la médiathèque est configuré avec le
-no-ssl2
option qui désactive la prise en charge SSLv2.Noter que la disponibilité de
SSLv23_method
ne signifie pas qu'un client sera en mesure de se connecter à un serveur avec SSLv2. OpenSSL documentation brièvement explique cette situation:./configure
,sudo make install
. Je n'ai pas essayé personnellement, mais ne peut pas penser à tous les problèmes qui en découlent (autres que de ré-activer un désapprouvé l'algorithme avec les problèmes de sécurité connus).J'ai été en mesure de construire la version 2.6 de Python avec le support de SSL sur Ubuntu 12.04 avec l'aide du patch dans ce blog.
Ma solution était d'installer openssl sans ssl2 soutien
Puis installer quoi que ce soit lié à la bibliothèques dans /usr/ssl. Il fonctionne..