〜2003年10月中旬〜
1週間使った XFce4だと、IceWMのKeyWinPrevとKeyWinRaiseに相当する機能が見当たらないので、 IceWMに戻す。ついでに1.2.13をmake。
先月と今月分のruby-talkのhamとspamをsa-learnに食わせて学習させた。 それはいいとして、 news gatewayから流れてくる古い記事を拒否したらループしてるようで、 結果としてnews gatewayが止まった状態になってる。 いろいろ格闘してみたが(たまに失敗して通しちゃったり)、 どうにもならない。 daveさんに英語で説明できないので、とりあえずここに書いとこう。
fml 4.0.3でcfにHOOKを書いて拒否しないで捨てる方法があるのかな。 $START_HOOKを使って早い段階で$DO_NOTHINGしてみてもやはりループする。
$OLDEST_POST_DAYS = 30; $START_HOOK = q# require 'libmti.pl'; if ($OLDEST_POST_DAYS && &Date2UnixTime(GET_ORIGINAL_HEADER_FIELD_VALUE("Date")) < time - 86400*$OLDEST_POST_DAYS) { $DO_NOTHING = 1; } #;
exitすれば流石に終わるかと思ったがだめだった。うーむ。
$CHECK_MESSAGE_ID = 0にして様子を見てたら、1時間半程経った後、
03/10/12 03:48:32 reject mail from root@root.com (root@root.com)
を最後にループはおさまった気配。とりあえず寝る。
起きた。おさまってない。がっくり。
23:59:55を最後に突然おさまる。と思ったら01:00:58に再開。 いや、ループしてない。進んでる。やっと解決か? その後3/31までの記事で止まった。不気味な沈黙。 あ、4/1の記事が来てしまった。けど1通来て続きが来ない。 やっとdaveさん、気づいたか?
Changes: This fixes a crash/lockup bug present in versions 1.14, 1.15, and 1.16. All users of those versions who use the DHCP facilities of dnsmasq should upgrade.
gccのbootstrapでcacheしてどうする。
runtime libraryはRuby 1.8に含まれているので--without=raccrtを指定。
% mkdir cygwin; cd cygwin % i386-cygwin-ruby ../setup.rb config --without=raccrt \ --ruby-path=/usr/local/bin/ruby % i386-cygwin-ruby ../setup.rb setup % i386-cygwin-ruby ../setup.rb install
djgpp版もracc/parse.rbで吸収されるので同じ指定でいい。
更に環境変数PATHEXTに.rbを追加すればhelloで実行可能。
C:\tmp>hello.rb Hello, World! C:\tmp>hello 'hello' is not recognized as an internal or external command, operable program or batch file. C:\tmp>set PATHEXT PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH C:\tmp>set PATHEXT=%PATHEXT%;.RB C:\tmp>hello Hello, World!
結局3/3から3/6までの記事を繰り返し延々と送り続ける挙動になった。 つまりそれ以上進まないので、止まった状態。
入った。
Dateを3月にしてruby-talkに送ってみたら、無事に無視された。 ってことはnews gateway自体暴走しているとしか思えない。
rules/を見ると
header DATE_IN_PAST_96_XX eval:check_for_shifted_date('undef', '-96') describe DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date
という感じで判断できるようだ。 で、実際にruby-talkで流れてしまった記事を見ると確かに DATE_IN_PAST_96_XXがついてた。 ブロックされないのはスコアが低いわけか。 1年ずれてる人は結構いるしね。
procmailは嫌われてるねえ。 これがわかりやすいかと言えば大して違いはないと感じる。 SpamAssassinと組み合わせるのなら、 どちらもPerlで書かれているから相性はいいのかもしれない。
10/10に出ていたらしい。 それ以前に1.11.7と1.11.8がリリースされていたことに全く気づいてない。
赤羽、別所、千倉、土井垣、江本、船越、蒲生、H、井堀、J、軽井沢夫人だよなあ。 全11話だし。
Changes: Python bindings were added. Some of the magic definitions were fixed along with several minor bugs.
% mkdir linux; cd linux % CFLAGS=-Os CXXFLAGS=-Os CC=/usr/bin/gcc ../configure \ --enable-languages=c++ --with-system-zlib \ --enable-sjlj-exceptions --enable-threads \ --disable-version-specific-runtime-libs --disable-nls \ --without-included-gettext --without-catgets --disable-shared % make CFLAGS=-Os LIBCFLAGS=-Os LIBCXXFLAGS=-Os \ STAGE1_CFLAGS=-Os BOOT_CFLAGS=-Os bootstrap
更新。
(4.2.0) * More stuff than I have time to document * Bugfixes * call-gap filtering * wwv and chu refclock improvements * OpenSSL integration
make install modules_installに20分かかった。そろそろ2.6.0-testも試すかな。
VMWareのゲストOSであまりXを使うことがないのでXは入れてないんだけど、 vmware-toolsをインストールするときにXがないとエラーになってしまう。 試しにmkdir /etc/X11してから./install.pl otherを実行したら通った。 psしてみると
/etc/vmware-tools/vmware-guestd --background /var/run/vmware-guestd.pid
と実行されてるようだ。 これがないとsuspend/resumeしたときに本体のクロックと同期しない。 再起動してこれが動いてなかったら、rc.localあたりにでも追加しよう。
それにしても、一向に治まる気配がない。 まだ1日10通前後来る。
そろそろGCCもDJGPPのクロス対応してるかと思ったら、 全く何もしてなかった。とりあえず3.3.1の対応版のソースでクロス環境を作ろう。
というわけで、Ruby 1.8用の0.4.11だ。 --enable-win32apiつきでextconf.rbを実行。