2

heartbleed パッチ ( 1.0.1g ) を使用して、Web サーバーを最新の openssl に更新しようとしています。openssl.org から tarball を取得しました。いつものことを言った./configure; make; make install。.so ファイルを作成するように言わなければconfig sharedなりませんでした (デフォルトでは .a のみを生成します)。新しい .so を指すように /usr/lib64 のリンクを更新しました -

現在、httpd は次のエラーで実行に失敗しています:

/usr/sbin/httpd: symbol lookup error: /usr/lib64/libssl.so.1: undefined symbol: EVP_idea_cbc

nm -g | grep idea言います:U EVP_idea_cbc

...そのため、シンボルについて知っていますが、シンボルは未定義です。

Openssl のドキュメントには、特許 (明らかに 2012 年に失効した) のため、IDEA はデフォルトで無効になっていると書かれています。無効にする方法については詳しく説明していますが、有効にする方法については説明していません。さらに、彼らはそれがデフォルトで無効になっていると言います.

Apache httpd はシンボルを要求し、シンボルがないと起動しません。

「構成共有有効化アイデア」と言ってみましたが、構成スクリプトは満足していますが、ビルド後もシンボルは未定義です。ビルド出力をファイルにパイプしましたが、crypto/idea ファイルがコンパイルされています。

で始まるすべてのシンボルEVP_*は未定義です...それらはまた未定義ですlibssl.a...だから、間違ったIDEAツリーを吠えているのでしょうか?

EVP_*だから私の質問は、これらのシンボルを有効にするにはどうすればよいですか?

4

1 に答える 1