2011-04-14 (Thu)

_ [debian] openssl 1.0.0 vs w3m

libssl1.0.0 でビルドされた w3m が入ってきた。その後から例えば encrypted.google.com のような https なサイトを開こうとすると、

unable to get local issuer certificate

となるようになった。strace で見てみると、/etc/ssl/certs/578d5c04.0 を開こうとしていたがそんなものはない。試しに libssl0.9.8 でビルドされた w3m を strace しつつ encrypted.google.com に接続してみると、そちらは /etc/ssl/certs/594f1775.0 を開いていた。 いろいろぐぐっていたら、OpenSSL-1.0.0 でのハッシュリンク使用は要注意 というそのものズバリな解説を発見。

このハッシュリンクを作成したディレクトリ、OpenSSLのバージョンを更新する際でも再作成せずにそのまま使用される方も多いと思いますが、OpenSSL-1.0.0 からは再作成したほうがよさそうです。 公式サイトのアナウンスで出ている主な変更点リストを見てもわからないのですが、ハッシュ計算のアルゴリズムが変更になっています。

例えば、こんな感じで 0.9.8系までと 1.0.0系で違うハッシュ値が計算されています。

ref. OpenSSL-1.0.0 でのハッシュリンク使用は要注意

そういうことか。確かに、

% ls -l /etc/ssl/certs | grep Equifax_Secure_CA.pem
lrwxrwxrwx 1 root root     21 2009-07-09 15:23 594f1775.0 -> Equifax_Secure_CA.pem
lrwxrwxrwx 1 root root     56 2009-02-17 00:39 Equifax_Secure_CA.pem -> /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
%

というリンクになっていて、ハッシュ値を計算してみると、

% openssl x509 -noout -hash -in /etc/ssl/certsEquifax_Secure_CA.pem                                       
578d5c04
% openssl x509 -noout -subject_hash_old -in /etc/ssl/certs/Equifax_Secure_CA.pem                                       
594f1775
% 

となった。ここまであからさまなのは BTS されてるかな、と探してみたら、ちゃんとあった。> #611102 #622679 入ってるのは openssl 1.0.0d-1 で、ちょうど openssl 1.0.0d-2 で対処されるということになっていたので降りてくるのを待ってみる。 降りてきたのをさっそく入れてみるけど、変化ない。特に /etc/ssl/certs 以下に変わりなし。対処された c_rehash を呼んでる update-ca-certificates を実行しても、/etc/ssl/certs にファイルが追加・削除されたわけではないので、

# update-ca-certificates
Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
updating keystore /etc/ssl/certs/java/cacerts...
done.
done.
#

更新されず。仕方ないので、

# cd /etc/ssl/certs/
# /usr/bin/c_rehash .
Doing .
        :
Equifax_Secure_CA.pem => 578d5c04.0
Equifax_Secure_CA.pem => 594f1775.0
        :
#

手動で更新した。これで w3m も大丈夫になった。

2011-04-12 (Tue)

_ [debian] mono 2.10.1-4

入れてみた。

Dropped all CLI 1.0 library and C# 1.0 compiler packages as Mono 2.10 no longer supports the 1.0 runtime, added new packages for all CLI 4.0 libraries and the C# 4.0 compiler and made C# 4.0 the new default C# compiler. All CLI 2.0 library packages are left for ABI and backwards compatibility.

ref. /usr/share/doc/mono-runtime/changelog.Debian.gz

ということで、libmono-corlib1.0-cil libmono-i18n-west1.0-cil libmono-i18n1.0-cil などが削除された。いつも確認に使ってるアプリの動作に影響はなさそう。

2011-04-11 (Mon)

_ [debian] 久々 uim メンテ

#556514 で言われてる binutils-gold って何ぞやと探してみると、「金」じゃなくて「何とかLD」らしい。何の略なのか書いてないけど。> gold (linker) ということで binutils-gold を入れてビルドしてみると、1.5.6 はそこで言われているように失敗して、1.6.1 は問題なかった。どこかで対処されたんだろうと思って SVN を見てみると、r6148 で修正されてたようだ。 ということで #556514 には fixed-in-experimental をつけた。

_ [debian] 続・tdiary: new upstream 2.2.2 was released

3.0.1 がパッケージングされて close された。> #542801

_ [debian] udev 167-2

ref. /usr/share/doc/udev/changelog.Debian.gz

ということで、/run directory が実体で存在していても大丈夫になったようだ。