動的リンクシンボルが勝手に消えたり移動したりするの,いいかげんやめてほしいよね……。
まぁ,しょせん GNU の連中にそんな品質管理を要求する方が無理なんだろうけど。
akane:~> w3m w3m: relocation error: w3m: symbol __libc_stack_end, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference
しかし,意外に NPTL と Linuxthreads の互換性は高いようだ。
Apache 2.0.50 や JDK 1.4.2 は,リコンパイルなしにそのまま動作している。
/lib/libpthread-0.10.so /lib/libpthread-2.3.3.so* /lib/libpthread.so -> libpthread.so.0* /lib/libpthread.so.0 -> libpthread-2.3.3.so*
NPTL つきで glibc 2.3.3 をコンパイル・インストールすると上のようなファイル構成になる。 glibc 2.3.2+linuxthreads でコンパイルした Apache などは
libpthread.so.0 => //lib/libpthread.so.0 (0x402c4000)
に dynamic link されているが,NPTL の libpthread-2.3.3.so で正常に動いているようだ。
スレッドつきでコンパイルした named(bind)や,自作のプログラムなども正常に動作しているので, 互換性はそこそこ期待してもよさそうだ。
glibc 2.3.3 を入れたのは NPTL を使いたいからではなくて,samba 3 系列を使うため。
2.2 系列が今年の10月で(セキュリティ修正を含め)リリースされなくなるということなので, セキュリティホールの出た 2.2.9 から,この際 samba 3.0 系列に移行しようと思ったわけ。
samba 3.0 系列を実用的に使う手段としては,2.3.2 にパッチを当てるとか libiconv を入れるといった方法も あるのだが,
ということで,正攻法で 2.3.3 を入れることにした。といっても,cvs 版しかないんだよねぇ。
正式版 glibc は2003年3月の 2.3.2 のまま止まっている。最近あちこちの Linux ディストリビュータから リリースされている glibc-2.3.3 は,cvs から持ってこられたもの(2003年12月くらいがベース?)。
Linux: so what's happening? というページを 見つけたのだが,どうも glibc 2.3.3 は "released" になっていて,2.3.4 と名乗るシンボルも含まれるようになっている のに,全く正式版 2.3.3 がリリースされる気配はないらしい。GNU の glibc のページも,2.3.2 が正式版と書いてあるまま になっている。
glibc-2.3.3 からは cvs が正式版になったという本当か嘘かわからないようなことを書いているページもあって,いったい どうなっているのかさっぱり不明。これだから(ry
だいたい,実質的に Linux でのみ使われているライブラリで(Hurd?それは OS 自体が実質的に使われていないよね?) スレッドライブラリなんていう基幹部分を入れ替えるということになったら, スレッドライブラリのマージは 2.4 系列にしつつ,2.3 を維持しようとか考えるのが妥当なリリース管理 なんじゃないだろうか。linuxthreads の add-on ディレクトリは残されてはいるけどさ。
で,samba 3.0.5 を make check すると,まともに通過しないんだよねぇ。しかもロケールが絡んでそうないやな FAIL が……。
python stf/standardcheck.py; \
if test -n ""; then \
python stf/pythoncheck.py; \
fi
StrCaseCmp OK
strstr_m FAIL
-----------------------------------------------------------------
Traceback (most recent call last):
File "stf/comfychair.py", line 325, in runtests
File "stf/strings.py", line 138, in runtest
File "stf/strings.py", line 100, in run_strstr
File "stf/comfychair.py", line 194, in runcmd
File "stf/comfychair.py", line 245, in runcmd_unchecked
AssertionError: 't_strstr "hello" "goodbye"' terminated with signal 11
test_log:
Run command: t_strstr "hello" "hello"
Wait status: 0x0 (exit code 0, signal 0)
stdout:
hello
stderr:
-----------------------------------------------------------------
PushUCS2_Tests OK
NoArgs OK
OneArg OK
SmbdDest OK
NmbdDest NOTRUN, not implemented
WinbinddDest NOTRUN, not implemented
PidDest OK
SelfDest OK
BadDest OK
BadCmd OK
Debug OK
ForceElection OK
SamSync OK
SamRepl OK
DmallocMark OK
DmallocChanged OK
Shutdown OK
DrvUpgrade OK
CloseShare OK
Ping OK
Debuglevel OK
PrintNotify OK
Profile OK
ProfileLevel OK
TimeoutArg OK
ConfigFileArg OK
BogusArg OK
snprintf_Test OK
最近は check 用のスクリプトを Python で書いたりするんだねぇ。
3.0.5 がかような感じで make check 通過しないので,2.2.10-ja を入れてしのいでいるわけだが……。その 2.2.10-ja も β版ということなのかもしれないが,samba.gr.jp には samba 2.2.9 の セキュリティホール情報までは載っているものの,2.2.10-ja がこっそり出ていることは全く載っていない。
ちゃんと管理してほしい……。
glibc-2.3.3 の正式版が出ないとかいっていたら,8/3 付けで出たようだ……。
この日記の各月ごとのページに,月一覧へのリンクがない理由:
それは,SERE0/1/2 ごとに分岐するような JSP コードを先頭に入れるのが美しくないから。
まぁ,しかし確かに言われてみるとあった方がいいかもしれないので,include を使って入れてみることにした。
「かもしれない」理由:
Becky! がいつのまにか POP3S + SMTPS に 対応していることに気づく。こっそりスプラッシュ画面も変わってるし。
SCHANNEL API でがんばって SSL 対応した作者は偉いと思うけど,遅すぎた感がありまくり。 SCHANNEL API で実装するのが面倒なのは経験済みなのでよく知っているけど……。
なにはともあれ,めでたいので akane の Postfix も STARTTLS に対応させてみた。
STARTTLS への対応自体は難しくない。ただ,非公式のパッチが必要。作業内容は Postfix で TLS というページに詳しいが,パッチのパッケージに同梱されているドキュメントを読んでも問題ないだろう。
上のページは SSL で待機する daemon (smtps)も起動しているので,そのへんをごっそり削れば STARTTLS のみになる。
Postfix 周りで検索していて見つけた これの 2.5 だけど……。主張はよくわかるんだけど……。
パスワード総当たり攻撃を受けるというのは明示的に攻撃対象にされてるということで,通常はどうしようもないんじゃないだろうか。パスワードの強度を上げたところで DoS アタックなのは防ぎようがないし。
SMTP Auth をどうにかしても,POP3 や IMAP のサーバが立ってたら終わりなんだし。
*-MD5 にしたところで,パスワードの強度は変わらないだろうしなぁ(8文字より長いパスワードが使える,ということなら PLAIN でも別パスワードファイルを作ればできるだろうし)。
午前2時過ぎ現在。




こちらは独自路線。

そろそろやばそう……。
3w-xxxx: scsi0: AEN: INFO: Verify started: Unit #0. 3w-xxxx: scsi0: AEN: ERROR: Verify failed: Port #0. 3w-xxxx: scsi0: AEN: INFO: Initialization started: Unit #0.
詳細はというと,
Aug 8 03:00:07 akane 3w-xxxx[4615]: INFORMATION: Verify started on unit 0 on c ontroller ID:0. (0x29) Aug 8 03:12:40 akane 3w-xxxx[25263]: ERROR: Verify failed on unit 0 on control ler ID:0. due to parity mismatch. Check drives for media errors. (0x2a)
交換用の HDD をキャプチャテンポラリから解放して,入れ替えるべきだなぁ……。
5月だかにも Verify Error 出ていた気がするし。しかし,損傷が発生しているのはどちらのボリュームなんだろうか。Verify Error だけではなんともいえないのだが……。
今年の夏は HDD が3台損傷したというのか? もはや,このくそ暑い夏にエアコン使わない家族が悪いとしかいいようがない。
英語版作ってみた (ぉ
年々英語力が低下してるのを実感する……。
今日はとてもいいことがありました(非公開)
京都駅前地下街。
予算がかかったのは理解する。だがしかし,でかでかとプレートを出すようなことなのか……?
京阿月(ポルタ店) のかき氷は相変わらずおいしい。
京しぐれ(780円,かき氷+抹茶シロップ+練乳+抹茶アイスクリーム)と抹茶金時(680円,かき氷+抹茶シロップ)で 100円の差がいまいち感じられないのが謎だが……。
東本願寺では,本堂全改修工事のため,いまなら1万円で瓦にあなたの名前が入ります。
JR-ISETAN で弁当を買って東京へ帰還。
Suica 定期券を ICOCA エリアで使ってきた結果。

新大阪駅でチャージ,新大阪 - 吹田,吹田 - 京都 が全て「未登録駅」になっているのは,PaSoRi に付属してる ビューワが非対応なだけだと思うが……。
Microsoft の Caller ID と,SPF を統合した形で Sender ID が IETF で審議され始めた,と Microsoft が アナウンスしたのは記憶に新しいところだが,SPF についての日本語ドキュメントが google で引っかからないので 少し調べてみた。以下の説明は主に SPF のサイト を参考にしている。
まず,SPF と Caller ID の統合について。IETF でどうなっているか調べたわけではないが,おおよそこういう感じらしい。
MS が hotmail に搭載しているのは Caller ID なのかもしれないが,一般に普及しているのは SPF である。
次に,各種 MTA のサポート状況について。
つまり,MTA 側ではサポートがおおよそ整っていることになる。
次に,DNS サーバのサポート状況について。
従って,DNS 側も問題なし(Microsoft の DNS サーバでも,きっとサポートされるんだろう(?))。
SPF の仕組みについて。
あるドメイン(example.com とする)について,こんな感じの DNS 定義があったとする。
example.com. IN TXT "v=spf1 mx"
v=spf1 は SPF のバージョン番号,mx は "example.com" の MX レコードで示されるアドレス(SMTP 受信サーバのアドレス)を 公式なメール送出ホストとすることを表す。
従って,DNS に
@ IN MX 10 ns.example.com. ns A 1.2.3.4
と記述されていた場合,『@example.com のメールアドレスをエンベロープFromに持つメールは,IPv4 アドレス 1.2.3.4 から しか送出されることはない』という表明になる。
(念のために書いておくと,「エンベロープFrom」とは,SMTP プロトコルで MAIL FROM コマンドで指定する From アドレス のこと。いわゆる「メールヘッダ」中の From: 行のことではない。同様に,SMTP プロトコル の RCPT TO コマンドで 指定する To アドレスのことを「エンベロープTo」という。)
では,エンベロープFrom が hogehoge@example.com のメールを受信した MTA は,SPF レコードをどのように活用して spam 判定をするのだろうか?
ここでいくつかの罠が考えられる。
まず,spam 業者が独自ドメインを取って SPF レコードを spam 送信マシンの IP アドレスに設定した場合。
新規にドメインを取得し続ければ排除されずに済むが,現在ほどお手軽に spam を送ることはできなくなると 思われる。
次に,example.com の公式メールサーバでない IP アドレスから,@example.com のメールアドレスでメールを送信するような場合について。
これは,example.com の DNS に SPF レコードが記述されているために起きる問題で,example.com の MTA サーバが SPF を 利用する場合はもちろん問題にならない。症状としては,『自分の送ったメールが SPF 対応の MTA を利用している相手に 届かない(蹴られる)』といったことが起きる。
『そういうことはするな』以外にどうしようもない。以下のように対処する。
自ドメイン(example.com)ドメインを利用しているユーザについて,必ずドメインの公式 SMTP サーバからメールを送出するように周知徹底する必要がある。
最後に,メール転送について。
現行の SMTP では,SPF が導入されるとメール転送はできない 。
例えば,
といったことが起きてしまう。
この問題を回避するには,SRS という方式 を転送時に使う必要がある。
現行の MTA は,メール転送時にエンベロープFrom を書き換えず,オリジナルのまま転送する。そうではなく,転送する人の転送するサーバでのメールアドレス(== オリジナルのエンベロープTo)に書き換えればいいという単純な話である。実装も楽勝と思われる。
単純な話ではあるが,SRS でない MTA がほとんどであるうちは SPF が実用にならないということを意味する。主要 MTA に SRS が取り込まれてデフォルトで on になり,普及が完了するまでにどれくらいの時間がかかるだろうか……。
あえて書かない(非公開)
Sonybank の口座を放置していたら,ポスペ4匹のやるきが全くなくなっていた。
オプションを調べていて,ImageConverter.exe 中にこんな文字列を見つけたのだが……。
GIF_LIBRARY IBMPC Version 4.0, Gershon Elber, Jul 25 2000, 15:57:49 (C) Copyright 1989 Gershon Elber, Non commercial use only.
SONY,大丈夫か?
exe ファイルを読むのはリバースエンジニアリング禁止条項に引っかかるから見つかるはずがない,とでもいうことだろうか。
テキストエディタで読むのはRE禁止条項に引っかかったりはしないよね?
あとわかるところでは,
libpng:
libpng version 1.0.3 - January 14, 1999 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Copyright (c) 1996, 1997 Andreas Dilger Copyright (c) 1998, 1999, Glenn Randers-Pehrson
zlib?
deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly
zlib?
inflate 1.1.4 Copyright 1995-2002 Mark Adler
Independent JPEG Group の Release 6b:
27-Mar-1998 Copyright (C) 1998, Thomas G. Lane
TIFF ライブラリ?
SGILog
.prc ファイル(画像?)を読むための libprc というものも入っているようだが,SONY 製かもしれない。
ヘルプファイルには,libtiff と libpng,zlib のコピーライト表示はあった。
SONY は自社でまともなメディアアクセスライブラリを開発してないのか?