トップ «前の日記(2005-12-04 (Sun)) 最新 次の日記(2005-12-13 (Tue))» 編集

ふたつの川うるおう日記


2005-12-07 (Wed)

_ [Server] Apache 2.2 -lssl -lcrypto

古いSSLライブラリにリンクされる件、解決しました。というか、A氏のお力、ありがとうm(_ _)m。

問題の箇所は、configureして生成されるhttpd-2.2.0/build/config_vars.mk内のEXTRA_LIBSとSSL_LIBSでした。Apache 2.0.xでは、SSL_LIBSというのが無くて、EXTRA_LIBSに-lssl -lcryptoも入っていたのが、2.2.xからSSL_LIBSに-lssl -lcryptoが入るようになっていて、このSSL_LIBSはmod_sslをコンパイルする時のみに使われるものの、それ以外の本体やモジュールでは参照されていませんでした。

なわけで、とりあえずの解決策としては、configureした後に下記のように修正してコンパイルすればOK。

vi build/config_vars.mk

EXTRA_LIBS = -lm
↓
EXTRA_LIBS = -lm $(SSL_LIBS)
  • 結果
Server: Apache/2.2.0 (Unix) mod_ssl/2.2.0 OpenSSL/0.9.8a DAV/2 PHP/5.1.1 SVN/1.2.3

ldd mod_ssl.soするとちゃんと新しいSSLモジュールをリンクしているのに、本体がリンクしている古いバージョンを返していたので、このServerTokenは、モジュールが情報取ってそれを本体に渡してるのではなくて、少なくともmod_sslの場合は、本体のリンクしているライブラリバージョンを返すんですね。

というわけで、trunkに修正が反映されていないようなので、Bugzillaに登録しようと思います。

ただ、今Apacheのサーバ落ちてるみたいだけどね・・・。

[追記]: 投げました。ASF Bugzilla Bug 37823: The openssl library linked is different between httpd and mod_ssl

| Bookmark:
[]

| Return to page top | Vicuna CMS - WordPress Theme - Vicuna Ninja Style for tDiary |