Mimori's Algorithms Diary

Last Modified : 06/03 12:48
Access :
tds mode : [static,site,cache:on]

2003/05/01 (Thu)

#1 フレッツADSL 4ヶ月間無料キャンペーン

開通したのに登録のためのURLが届かないなーと思って問い合わせたら、 サービス変更の前に間違って新規の申し込みをしてしまった〜と信じていた フレッツADSL の申し込みが有効で、 そこに書いてあるURLを使えという返事が来た。

申請完了したので5月16日〜9月15日のプロバイダ料金は無料になるはず。裏ではNTTが払っているんだと思うけどね。

#2 [FreeBSD] フレッツグループアクセス

プロバイダ経由では固定IPがもらえなくなり、埼玉から東京に向かってフレッツグループアクセス経由でのVPN形成計画発動。 フレッツグループアクセス ライトはグループを作った時点で10アカウントもらえるが、 利用するためにはフレッツ回線に対してグループアカウントの割り当て作業を別途行う必要がある *1 。IDのデフォルトが「user02@tk??????.galight.flets」パスワードのデフォルトが「user02」とかなので、 セキュリティ的にそうなってないと困る。グループアカウントの割り当て作業用のパスワードは自分で決めるようになっている。

割り当て作業の後は普通にPPPoEの接続設定をして zebra.conf にルーティングを追加。

ip route 10.*.*.*/28 tun0

あとは適当にトンネル掘り。NTT信用することにして暗号化なしでもええかな。ビデオ見たいし(笑)


*1:グループアクセス用のアカウントでどこでもアクセスできる訳ではない

#3 ナナオの19インチ液晶とParheliaでトリプルディスプレイを構築!!

トリプルはやりすぎにしても、FlexScan L767は19インチで10万円弱と確かに安い。

で、会社のL465もそろそろ不具合起きるかもなーと修理に出すことにした。丁度七尾でうまい寿司食べてきたし(←関係なし) 代替機を送ってきて、その箱に利用中のモニターを入れて送り返すセンドバック方式。

#4 Galileo セカンドインプレッション

EPG+の番組データがなかなか来ないなーと悩みつつマニュアル読み。「番組表更新」ボタン発見。これか。

番組表を持ってきてやっとHDDレコーダとしての本領発揮。検索機能の強力さが impressの記事 の中心だったが、「番組ナビ」機能のキーワード登録で録画を選んでおくとキーワードに反応した番組を勝手に録画してくれるらしい。 ガンダムを登録しておけばガンダム関係の番組は全部録画だ。 あと各地でエアマスターが面白いという話を聞くので投入してみる。でも「演出:細田守」でひっかけるのは無理そう…

そして「ぼくの魔法使い」投入。本編だけじゃなくてプロモ番組がひっかかるぞ。こいつはいい感じ。

#5 7379歩

2003/05/02 (Fri)

#1 T Dragon Quest ゲームレビュー

人が集まりそうなイベントに向けてτドラゴンクエスト布教準備中。

TDQ情報集積所 という攻略サイトができているのは知らなかった。さすが名作。

#2 6255歩

2003/05/03 (Sat)

#1 Galileo

ファームウェアアップデートかかったら無線LANのトラブルは解消した。

#2 9750歩

2003/05/04 (Sun)

#1 9378歩

2003/05/06 (Tue)

#1 MultiPort USB Hub - Files for Windows 98/Me/2000/XP

ThinkPadオプションのMulti-Port USB Hub用ドライバ。 どちらかというとThinkPadのACアダプタにUSB Hubがついてきたという買い方をしているので、あまり活躍していない。

#2 8425歩

2003/05/07 (Wed)

#1 12370歩

2003/05/08 (Thu)

#1 lang/ezm3

最新の 5-current で ports/lang/ezm3 を make する際に、 CFLAGS に -O2 以上を指定してあると ... 死んでしまう。

これが必要なのは結局cvsupだけなのだが、pkgtools.conf の設定で -O2 を -O にする方法は分からなかった。

失敗した pkgtools.conf はこんな感じ。

  MAKE_ARGS = {
        'lang/ezm3'             => 'COPTFLAGS=-O CFLAGS=-O' ,
        'net/cvsup'             => 'COPTFLAGS=-O CFLAGS=-O -DWITHOUT_X11 -DPACKAGE_BUILDING -DSTATIC' ,
  }

env COPTFLAGS=-O CFLAGS=-O sudo /usr/local/sbin/portupgrade -ar も試してダメ。

一時的に make.conf を書き換えて対処した。

#2 VISA の V-Terminal

昨年度のポイントを行使して V-Terminal をもらった。パッケージは激しくしょぼい。

マニュアルにはWin95/98/Meと書いてあってわざわざWin98マシンに接続してみたが、CDROMの中にはWindows2000のドライバもある模様。 というかただのSmartCardリーダーで、MicrosoftのSmartCardSDKのライブラリをインストールしてるだけみたいだ。 で実際に利用するアプリケーションはWeb上のJavaアプレット。

何か使い道ないかな。

#3 ソニー、カメラ部分を本体から切り離せるビデオ会議システムを発売

こんなのに70万払うぐらいならFOMA買う。

ビデオ会議システムなんて実用性というよりは、会社の重役の部屋にステータスとして置くものなのかもしれん。

2003/05/09 (Fri)

#1 [FreeBSD] PPPoEとgifインターフェース

フレッツグループアクセスの片側がFreeBSDへの接続で、そこに向かってIPv6トンネルを作成しようとしたが、 昨年末の kame (racoon) と RTX1000 の相互接続 大失敗 と同じような感じで通信できない。

[NetBSD] IPv6 over IPv4 トンネル の場合の「gif0自体にトンネルの始点アドレスを振っておく」という対処もFreeBSDでは出来ず、 どうにもFreeBSDのgifインターフェースの挙動はよく分からん。

tcpdumpを取るとgifに向かって相手からのパケットがやってくるのに、こっちからのgifへのパケットがPPPoEのインターフェース にルーティングされない感じ。

@ NetBSDでやっても変わらない

gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 10.1.11.117 --> 10.1.11.119
        inet 10.1.11.117 -> 0.0.0.0 netmask 0xffffffff
        inet6 fe80::290:27ff:fe74:86cc%gif1 ->  prefixlen 64 scopeid 0x8
pppoe1: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1454
        inet 10.1.11.177 -> 10.128.0.2 netmask 0xffffffff
        inet6 fe80::290:27ff:fe74:86cc%pppoe1 ->  prefixlen 64 scopeid 0xa

の状態で、ping -I gif1 ff02::1 しても返事がない。ping打ちっぱなしで tcpdump -i pppoe1の結果が

18:00:02.021828 PPPoE  [ses 0x48b0] IPv6 114: fe80::290:27ff:fe74:86cc.ripng > ff02::9.ripng:  ripng-resp 3: 2001:c90::/32 (16)[|ripng]
18:00:14.493187 PPPoE  [ses 0x48b0] LCP 10: Echo-Req(53), Magic-Num=44c6606d
18:00:14.494077 PPPoE  [ses 0x48b0] LCP 10: Echo-Rep(53), Magic-Num=ebc2e2b5
18:00:20.033953 PPPoE  [ses 0x48b0] IPv6 114: fe80::290:27ff:fe74:86cc.ripng > ff02::9.ripng:  ripng-resp 3: 2001:c90::/32 (16)[|ripng]
18:00:21.588688 PPPoE  [ses 0x48b0] IP 94: 10.1.11.179 > 10.1.11.177: fe80::2a0:deff:fe11:e2cf.ripng > ff02::9.ripng:  ripng-resp 1:[|ripng]
18:00:34.495525 PPPoE  [ses 0x48b0] LCP 10: Echo-Req(54), Magic-Num=44c6606d
18:00:34.496311 PPPoE  [ses 0x48b0] LCP 10: Echo-Rep(54), Magic-Num=ebc2e2b5
18:00:44.496698 PPPoE  [ses 0x48b0] LCP 10: Echo-Req(55), Magic-Num=44c6606d
18:00:44.497752 PPPoE  [ses 0x48b0] LCP 10: Echo-Rep(55), Magic-Num=ebc2e2b5
18:00:50.047462 PPPoE  [ses 0x48b0] IPv6 114: fe80::290:27ff:fe74:86cc.ripng > ff02::9.ripng:  ripng-resp 3: 2001:c90::/32 (16)[|ripng]
18:00:51.637786 PPPoE  [ses 0x48b0] IP 94: 10.1.11.179 > 10.1.11.177: fe80::2a0:deff:fe11:e2cf.ripng > ff02::9.ripng:  ripng-resp 1:[|ripng]

相手からripngのパケット来てるのに明らかに出て行ってない。

@ zebra再起動

設定を保存して zebra 関係のプロセスを再起動したら出るようになった気がする。zebraは再起動が基本。

ping -I gif1 ff02::1 は相変わらず通らないが、 そういえばRTX1000は ff02::1 に返事しない仕様だった気がしてきた。ping6 2001:218:45e:c8::1 すると

19:11:07.340976 PPPoE  [ses 0x48b0] IP 78: 10.1.11.177 > 10.1.11.179: 2001:218:45e:0:230:48ff:fe51:573 > 2001:218:45e:c8::1: icmp6: echo request
19:11:07.356882 PPPoE  [ses 0x48b0] IP 58: 10.1.11.179 > 10.1.11.177: icmp: net 10.1.11.179 unreachable
19:11:07.580238 PPPoE  [ses 0x48b0] IP 94: 10.1.11.179 > 10.1.11.177: fe80::2a0:deff:fe11:e2cf.ripng > ff02::9.ripng:  ripng-resp 1:[|ripng]
19:11:08.341032 PPPoE  [ses 0x48b0] IP 78: 10.1.11.177 > 10.1.11.179: 2001:218:45e:0:230:48ff:fe51:573 > 2001:218:45e:c8::1: icmp6: echo request
19:11:08.356791 PPPoE  [ses 0x48b0] IP 58: 10.1.11.179 > 10.1.11.177: icmp: net 10.1.11.179 unreachable
19:11:09.341136 PPPoE  [ses 0x48b0] IP 78: 10.1.11.177 > 10.1.11.179: 2001:218:45e:0:230:48ff:fe51:573 > 2001:218:45e:c8::1: icmp6: echo request
19:11:09.357996 PPPoE  [ses 0x48b0] IP 58: 10.1.11.179 > 10.1.11.177: icmp: net 10.1.11.179 unreachable

こんな感じで出るようになってきたのでRTX1000側の設定の問題な雰囲気になってきた。

2003/05/10 (Sat)

#1 フレッツグループアクセス設定完了

外回りのIPSecトンネルを作ってた時代の設定が悪さしてた

/etc/ipsec.conf は以下の2行にして setkey -f /etc/ipsec.conf を実行してリセット。

flush;
spdflush;

/etc/ifconfig.gif1。A.A.A.A はフレッツグループアクセスのNetBSD側アドレス、B.B.B.BはRTX1000側アドレス。

create
inet A.A.A.A netmask 0xffffffff
tunnel A.A.A.A B.B.B.B
up

/usr/pkg/etc/zebra/ripngd.conf

hostname ripngd
password 8 ********
log stdout
service password-encryption
router ripng
 default-information originate
 network fxp1
 network fxp2
 network gif1

/usr/pkg/etc/zebra/zebra.conf

ip route 10.1.11.176/28 pppoe1
ip route 192.168.200.0/24 gif1

RTX1000の設定はipipトンネルを作ってそこにルーティングするだけ。NATなどの設定は全くしない。 ipv6のスタティックルートは一応書いておくけど、ripngもしゃべらせてみたり。

# RTX1000 Rev.7.01.08 (Tue Mar 18 18:56:49 2003)
ipv6 lan1 address 2001:***:***:***::1/64
ipv6 lan1 rtadv send 1
pp select 3
pp always-on on
pppoe use lan1
pp auth accept pap chap
pp auth myname user**@tk******.galight.flets ********
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp mtu 1454
pp enable 3
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint address B.B.B.B A.A.A.A
tunnel enable 1
ip route default gateway tunnel 1 metric 10
ip route 10.1.11.176/29 gateway pp 3
ipv6 route default gateway tunnel 1
ipv6 prefix 1 2001:***:***:***::/64
ipv6 rip use on

2003/05/11 (Sun)

#1 RapidSVN

SubversionのGUI。

#2 spamd

OpenBSDには標準で spamd とかついてくるのか。イカス。

ファイアウォールとして使うならNetBSDと大差なさそうだし作ってみようかと思った。 が PPPoE がFreeBSDと同様の userland ppp っぽいのが難点。

#3 ATI HDTV COMPONENT VIDEO ADAPTER

RADEON 8500以上の世代だったら大体使えそうな雰囲気。消費電力が少なくなっていそうな RADEON 9600 PRO とあわせて欲しくなってきた。

#4 spam情報(hart.co.jp)

しばらく RBLを ORDB+spamcop で運用していたが、どうにも多いので久々にチェックしたところ、OSIRUSOFT のRBLがイイらしいとのことで、spamcopと交換してみた。

/var/service/qmail-smtpd/run はこんな

#!/bin/sh
qroot=/var/qmail
pop5smtp=/local/bin/pop5smtp
smtpcdb=/local/etc/tcpcontrol/smtp.cdb
uid_qmaild=`id -u qmaild`
gid_qmaild=`id -g qmaild`     # group = nofiles
PATH=$qroot/bin:/usr/pkg/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH
hostname=unknown
if [ -f $qroot/control/me ]; then
        hostname=`head -1 $qroot/control/me`
fi
if [ -f $qroot/control/smtpd-ip ]; then
        smtpd_ip=`head -1 $qroot/control/smtpd-ip`
fi
if [ -n "$smtpcdb" -a -f $smtpcdb ]; then
        smtpcdbflag="-x $smtpcdb"
fi
# qmail smtpd start
if test -n "$smtpd_ip"
then
        exec env - PATH="$qroot/bin:/usr/pkg/bin:$PATH" \
        tcpserver -H -R -v $smtpcdbflag \
          -u $uid_qmaild -g $gid_qmaild $smtpd_ip smtp \
          rblsmtpd -r relays.ordb.org -r relays.osirusoft.com \
        $pop5smtp $qroot/bin/qmail-smtpd 2>&1
fi

あと以前設定したログの圧縮の設定で、t の位置が違っていてタイムスタンプが記録されていないのが判明。/var/service/qmail-smtpd/log/run :

#!/bin/sh
exec setuidgid qmails multilog t n30 s999999 !"/usr/bin/bzip2" ./main

@ ログ監視

210.225.145.210 からのメールが多くてうざい。 ORDBで検索 すると2年近く放置してある。

2003/05/12 (Mon)

#1 筆者にOfficeは必要か? (元麻布春男の週刊PCホットライン)

Officeスイートがタダ同然だった時代があったと思ったら、気がついてみればMicrosoftOffice を買おうとするとずいぶん高くつく時代。 会社的にはSolutionProviderだからどってことないけど、人には勧めにくいんだよなあ。

Wordは昔から癖ありすぎで、今こそ一太郎かもしれない。PowerPointはもともとインストールすらしてない。(PowerPointViewerは入れてある)

問題はExcelの代わりが無いこと。ただExcelって Excel95 で十分なんだな。逆に言えば Excel95 があまりによく出来すぎたソフトだった訳で。

#2 座標値を表示するJavaScript

IE4 以降限定(DHTML)

var mousex = 0;
var mousey = 0;
var mouseTXToffsetX = 12;
var mouseTXToffsetY = 0;
var mouseTXTrefresh = 200;
document.onmousemove=GetMousePos;

function GetMousePos(o) {
  mousex=document.body.scrollLeft+event.clientX;
  mousey=document.body.scrollTop+event.clientY;
}

function timeoutFunc() {
  var obj;
  obj = document.all("mouseTXT");
  obj.style.posLeft = mousex + mouseTXToffsetX;
  obj.style.posTop  = mousey + mouseTXToffsetY;
  obj.innerText = "(" + mousex + "," + mousey + ")"

  setTimeout('timeoutFunc()', mouseTXTrefresh);
}

setTimeout('timeoutFunc()', 2000);

本文のどっかに以下の1行を仕込んでおく。

 <DIV ID="mouseTXT" STYLE="position:absolute;left:0;top:0;visibility:visible;"></DIV>

#3 9747歩

2003/05/14 (Wed)

#1 IPSecurity (IIS)

J-PhoneサイトのメンテナンスでIISのsrcIPアドレス制限をちまちま書く。ドコモなら 2エントリしかない のに10エントリも書かされるのはイヤンだなと adsutil で自動化できないものかと調査。

cscript adsutil.vbs ENUM_ALL W3SVC とやるとプロパティが全部列挙されるはずが IPSecurity の値は「型が分からん」と文句を言って表示してくれない。 ググってMSのヘルプ以外で一番関係ありそうだったのは メーリングリストの投稿 だが、結局のところ構造体をバイナリとして格納している以上のことは分からず。

#2 Galileo

番組表の自動更新に成功する確率が低い。たぶんすべての機種で同じ時刻に更新しようとしてアクセス集中でコケてるような、という かつてパルディオEメールの自動メール受信でやったような現象と思われ。 せっかくキーワードに反応して自動録画してくれるはずなのに台無し。

ちなみに昨晩はエアマスターの日だったが、その時間帯は 名門!アサ秘ジャーナル の方が圧倒的に好みだというのがリアルタイムに見てて判明。

@ ムービースタイルで新しいケータイを模索する「FOMA P2102V」

Galileo はMS-MPEG4(ASFファイル)をSDカードに生成してくれる機能もあるので突如欲しくなった。

#3 9887歩

2003/05/15 (Thu)

#1 [FreeBSD] SpamAssasin

このへん とか このへん とか このへん を参考に。 sudo portinstall mail/p5-Mail-SpamAssassin でインストールはとりあえず完了。 *1

/usr/local/etc/mail/spamassassin/local.cf

rewrite_subject 1
ok_languages ja en
ok_locales ja en
required_hits 6
full RAZOR_CHECK
describe RAZOR_CHECK
score CASHCASHCASH 0.1
score UPPERCASE_50_75 0.5
score HTTP_CTRL_CHARS_HOST 0.5
score FROM_HAS_MIXED_NUMS 0.5
score DOUBLE_CAPSWORD 0.5
score HTTP_USERNAME_USED 0.5
score UPPERCASE_25_50 0.5
score CTYPE_JUST_HTML 3.0

score FROM_AND_TO_SAME 0.1
score DEAR_SOMEBODY 1.5
score DEAR_FRIEND 1.5

で、テストで spamassassin -t < [spamくさいメール] でちゃんと判別している雰囲気。

.qmail に |/usr/local/bin/spamassassin と書くだけじゃダメ。 ちょっとスクリプトを書いた。

#!/bin/sh
PATH=/usr/bin:/usr/local/bin:/bin
export PATH
tmpfile=`mktemp /var/tmp/spamassassin.XXXXXX` || exit 111
trap 'rm -f $tmpfile' 0 1 2 3 5 9 15
/usr/local/bin/spamassassin -e > $tmpfile
case $? in
0)
        # not spam. normal operation
        exit 0;
        ;;
*)
        case $# in
        0)
                ;;
        *)
                # forward spammed mail for 1st argument
                /var/qmail/bin/qmail-inject $1 < $tmpfile
        esac
        exit 99; # no more deliver in .qmail
esac

上記スクリプトを q-spamassassin とすると、.qmail に

# SPAMは問答無用で捨ててしまえ
|q-spamassassin
./Maildir/

または

# SPAMはとりあえず hoge-spam@hoge に転送しとくか
|q-spamassassin hoge-spam@hoge
./Maildir/

と書く。

実際には自分の .qmail は Maildir2 を追加して以下のようになっている。

# Maildir2 は自分用メールアーカイブ。半年〜1年に1度ぐらいCDRに焼いて消す
./Maildir2/
# SPAMはとりあえず hoge-spam@hoge に転送しとくか
|q-spamassassin hoge-spam@hoge
./Maildir/

@ SPAM TRAPPING

man spamassassin すると SPAM TRAPPING というイカす章がある。honey pot 仕掛けたら自動報告してしまうシステム。

Quite often, if you've been on the internet for a while, you'll have accumulated a few old email accounts that nowadays get nothing but spam. SpamAssassin lets you set them up as aliases, as follows: spamtrap1: """"| /path/to/spamassassin -r -w spamtrap1"""" This will add any incoming mail messages straight into spam-tracking databases, such as Vipul's Razor; send an explanatory reply message to the sender, from the spamtrap1 address; then drop the mail into the bit-bucket.

@ スパムの選り分け手法

まとまった読み物として便利。


*1:razor-agentsも勝手に入る

#2 出張の打診

明日大阪に出張に行かない?という電話が夕方あった。 今日の昼だったら 喜んで行った のに〜。

結局電話でトラブル解消したために行く必要はなくなった。誰かが勝手に接続したメルコの無線LANアクセスポイントと、デフォルトゲートウェイのIPアドレスが衝突したらしい。

#3 [FreeBSD] spamd (spamassassin)

spamd を使う方法に移行。spamd は例によって daemontools で起動する。spamd のポート番号のデフォルトは 783 に設定されているが、root権限で動かしたくないので 5783 を利用した。 *1 。run スクリプト:

#!/bin/sh
exec env PATH=/usr/local/bin:/usr/bin:/bin \
        setuidgid qmails \
        spamd -i 127.0.0.1 \
        -p 5783 \
        --syslog=stderr \
        --debug \
        2>&1

.qmail には以下のように記述。[バックアップを取りつつ spamフィルターを通したメールを $USER-second 宛に転送する。] *2

./Maildir-backup
|/usr/local/bin/spamc -d localhost -p 5783 -e /var/qmail/bin/qmail-inject $USER-second

.qmail-second には以下のように記述。[ヘッダーに X-Spam-Flag が存在していたら $USER-spam 宛に転送する。]

|/var/qmail/bin/condredirect $USER-spam /usr/local/bin/822field X-Spam-Flag
./Maildir/

.qmail-spam には以下のように記述。

./Maildir-spam/

@ local.cf 改良

なんか適当なサイト の設定をパクって local.cf を改良。閾値6点は厳しすぎかも。

# This is the right place to customize your installation of SpamAssassin.
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
###########################################################################
#
rewrite_subject 1
report_header 1
use_terse_report 1
#report_safe 1
required_hits 6
full RAZOR_CHECK
describe RAZOR_CHECK
score CASHCASHCASH 0.1
score UPPERCASE_50_75 0.5
score HTTP_CTRL_CHARS_HOST 0.5
score FROM_HAS_MIXED_NUMS 0.5
score DOUBLE_CAPSWORD 0.5
score HTTP_USERNAME_USED 0.5
score UPPERCASE_25_50 0.5
score CTYPE_JUST_HTML 3.0
# refer http://www.tanu.org/~sakane/doc/public/howto-spamassassin.html
score FROM_AND_TO_SAME 0.1
score DEAR_SOMEBODY 1.5
score DEAR_FRIEND 1.5
# refer http://hykw.webmasters.gr.jp/web/murmur/before/mur_0208.htm#0101
header ISO2022JP_CHARSET        Content-Type =~ /charset=['"]?iso-2022-jp['"]?/i
describe ISO2022JP_CHARSET      ISO-2022-JP message
score ISO2022JP_CHARSET         -0.182
header GB2312_CHARSET   Content-Type =~ /charset= ?['"]?GB2312['"]?/i
describe GB2312_CHARSET GB2312 message
score GB2312_CHARSET    10.0
header KS5601_CHARSET   Content-Type =~ /charset= ?['"]?ks_c_5601/i
describe KS5601_CHARSET KS_C_5601 message
score KS5601_CHARSET    10.0
header MISYOUDAKU       Subject =~ /L\$>5Bz9-9p\"\(/
describe MISYOUDAKU     Misyoudaku-Koukoku
score  MISYOUDAKU       7.00
header KOUKOKU          Subject =~ /(!\*|\033\$[B@])9-9p(!\*|\033\([BJ]!)/
describe KOUKOKU        !KOUKOKU!
score KOUKOKU           7.00
body HAISHINTEISHI      /G\[\?\.(..)*(Dd;_|ITMW)/
describe HAISHINTEISHI  Haishin Teishi
score HAISHINTEISHI     5.4
body KOUDOKUKAIJO       /9XFI(..)*2r=\|/
describe KOUDOKUKAIJO   Koudoku Kaijo
score KOUDOKUKAIJO      5.4
body MURYOU             /L5NA/
describe MURYOU         Muryou
score MURYOU            3.4
body ISO2022JP_BODY     /\033\$[B@]/
describe ISO2022JP_BODY ISO-2022-JP message
score ISO2022JP_BODY    -2.394
ok_languages ja en
ok_locales ja en
header X_MAILER         X-Mailer =~ /(GpsMailer|SpireMail|IM2000 Version|Pinta Magazine|MultiMail|BSMTP DLL|E-Magazine|Direct Email|Achi-Kochi Mail|MagicalMail|InternetPost for Active Platform|Web Based Pronto)/
describe X_MAILER       spammer's choice of X-Mailer
score X_MAILER          5.0
header X_MAILER_U       X-MAILER =~ /Mail Explorer For Internet /
describe X_MAILER_U     spammer's choice of X-MAILER
score X_MAILER_U        10.0
header X_MAIL_AGENT     X-Mail-Agent =~ /(Extra Japan)/
describe X_MAIL_AGENT   spammer's choice of X-Mail-Agent
score X_MAIL_AGENT      10.0
header REPLY_TO_REMOVE          Reply-To =~ /remove\@/
describe REPLY_TO_REMOVE        Reply-To set to remove@...
score REPLY_TO_REMOVE           5.0
################################################################
# some anti-virus stuff
################################################################
full UNSAFE_ATTACHMENT          /Content-(Disposition|Type):.+file.+="?.+\.(pif|com|scr|lnk|com|exe|vbs)"?/
describe UNSAFE_ATTACHMENT      unsafe attachment
score UNSAFE_ATTACHMENT         15
full MYPARTY            /^begin 666 www.myparty.yahoo.com/
describe MYPARTY        myparty (2002/1/29)
score MYPARTY           10
header FRETHEM_SUBJECT          Subject =~ /^Re:your password/
describe FRETHEM_SUBJECT        Subject is Re:your password (WORM_FRETHEM.O)
score FRETHEM_SUBJECT           10
full DOS_EXE            /TV.QAA.AAAAEAA.A\/\/8AALgAAAAAAAAAQAA.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/
describe DOS_EXE        DOS Executable
score DOS_EXE           15

*1:個人的にはUNIXドメインソケットもサポートしていると嬉しいなあ
*2:spamc が spamassassin と同じように本文のフィルター処理しつつ exit code を出してくれるとよいのだが…

#4 ベイジアンフィルター

Bogofilter が一番メジャー。Cで実装。しかし日本語を覚えさせるには nkf & kakasi で単語分割とかするものらしい。

GPLなRuby実装フィルター bsproc

bsfilter が一番よさげかなあ。データベースに何使ってるかと見てみたら、HashをMarshalで書き出してる…ぬー。

@ MeCab

kakasi,Chasenの3倍ぐらい速い形態素解析ルーチン。

これぐらい道具が揃うと1日で自分好みのベイジアンフィルター書けそうだなぁ(悩)

#5 NUnit入門 Test Firstのススメ

.Net開発が近づいている(気がする)のでメモ。

#6 TortoiseSVN

Windows用 Subversion フロントエンド。 ScreenShots の画面構成はかなりいい感じ。ただしドイツ語らしいのが難点。

@ TortoiseSVN 日本語訳ページ

すばらしい

#7 Subversion: 公式ガイド(日本語訳)

全部読んでしまった。

#8 6652歩

2003/05/16 (Fri)

#1 7125歩

2003/05/17 (Sat)

#1 Rinda

綴りはLindaのはずだけど RubyのLindaだから最初をRにしたんだろうなあ。

#2 証明書の自動発行(ブラウザに証明書要求を作らせる)

IEの証明書作成の際のCSPの設定とかする方法が軽く書いてある。

#3 tDiary 1.5.4 の FreeBSD の ports (一応)完了

だそうなのでちょっと使ってみた。 けど /usr/local/share/examples/tdiary/tdiary-FreeBSD.sh を眺めてウチはsuExec環境だから chmod o+rwx は要らんなあと思って、 結局自分の環境への設定は

cd /usr/local/share/examples/tdiary; mkdir ~/mimori.org/tdiary; pax -r -w -v . ~/mimori.org/tdiary

でコピーした後、tdiary.conf と .htaccess を編集して完了。.htaccess は例によってSSL証明書認証にするためこんな感じで。 *1 Linuxビボ〜ろく の mod_rewrite 拡張も入れてある。

Options +ExecCGI
AddHandler cgi-script .rb
DirectoryIndex index.rb
<Files "*.rhtml">
        deny from all
</Files>
<Files "tdiary.*">
        deny from all
</Files>
<IfModule !prefork.c>
  <Files update.rb>
    # apache 1.x
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
  </Files>
</IfModule>
<IfModule prefork.c>
  <Files update.rb>
    # apache 2.x
    SSLRequire %{SSL_CLIENT_I_DN_CN} eq "Hoge CA"
  </Files>
</IfModule>

RewriteEngine on
RewriteBase /~h/tdiary  
RewriteRule ([0-9]+)\.html$ index.rb?date=$1

tdiary.conf は @data_path だけ設定して後はWeb経由で設定するのがいいかも。

CVS(かSubversion)で使うための調査。#{@data_path}/2003/200305.td2 を編集すればいいのかなと思ったら月毎のファイルかぁ。 中身はMboxっぽい形式で直接編集するのは無理っぽい。 misc/postdiary.rb を見たら結局HTTP経由で update.rb に叩き込んでいるのが判明。 Basic認証用の生パスワードをファイルに置いておくぐらいなら、ruby update.rbで呼べばいい …と一瞬思ったが普通の環境だとapacheの権限で動くからおいそれと ruby update.rb すると危険か。

日毎のファイルをCVSに入れたら ruby update.rb で更新処理をするという感じかな。TDS形式をなんとなく変換するフィルターをついでに噛ませるとよいかも。 どうせTDSだって毎回更新のために make this とかしてた訳だし。


*1: 127.0.0.1 を通しているのは後述の CVS 経由更新のためのつもりだったが結局未使用。

#4 Change Key

NT/2000/XP の HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout にある Scancode Map を編集するフリーソフト。

@ 今回のDVORAK配列+α

キーボードドライバは例によって AX配列(英語101キーボード配列+右ALTは漢字キー)に設定。 主要部分の配列をDVORAKにしつつ、「ひらがな→Windowsキー」「無変換→左Ctrl」「前候補→右Shift」「左Ctrl→ESC」に割り当ててみた。 ついでにBackSpaceの左の[\|]キーもBackSpaceに割り当て。

[Fn][ESC][左Alt][左Ctrl][SPACE][右Shift][Windows][漢字][右Ctrl] がThinkPadキーボード最下段の状態。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver JPN"="kbdax2.dll"
"OverrideKeyboardType"=dword:00000007
"OverrideKeyboardSubtype"=dword:00000001
"OverrideKeyboardIdentifier"="AX_105KEY"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,28,00,00,00,1a,00,0c,00,1b,00,0d,00,\
  0e,00,7d,00,28,00,10,00,33,00,11,00,34,00,12,00,19,00,13,00,15,00,14,00,21,\
  00,15,00,22,00,16,00,2e,00,17,00,13,00,18,00,26,00,19,00,35,00,1a,00,0d,00,\
  1b,00,18,00,1f,00,12,00,20,00,16,00,21,00,17,00,22,00,20,00,23,00,23,00,24,\
  00,14,00,25,00,31,00,26,00,1f,00,27,00,0c,00,28,00,27,00,2c,00,10,00,2d,00,\
  24,00,2e,00,25,00,2f,00,2d,00,30,00,30,00,31,00,11,00,33,00,2f,00,34,00,2c,\
  00,35,00,36,00,73,00,01,00,1d,00,1d,00,7b,00,36,00,79,00,5b,e0,70,00,00,00,\
  00,00

#5 MS02-048 Certificate Enrollment Control の問題により、デジタル証明書が削除される (Q323172)

Microsoft証明書サービスを実行しているマシン上で、このパッチを当てておかないと新しめのWindowsOSで Certificate Enrollment Control (Xenroll.dll) のバージョンが合わなくてIEから証明書のインストールが利用できない。

WindowsUpdateに出てこないので注意。ていうか激しくはまった。 以前うまくいかなかったのも IIS Lockdown Tool のせいじゃなくてコイツのせいだったのかもしれぬ。

#6 tDiary とりあえず稼動

サイドバー対応のテーマってあんまりないんだな〜

CVS更新体制完成まであと一息というところで睡魔によりダウン。

#7 751歩

2003/05/18 (Sun)

#1 WindowsXP Tablet PC Edition

酔狂で入れてみた。基本的には WindowsXP Professional と同じで Tablet Service *1 とWindows Journal と付箋アプリが追加されているぐらいか。

手書きパッドの英語入力は良くできてる感じ。ひん曲がった筆記体文字をがんばって認識してくれる。 一方漢字入力の認識率は悪い。この英語と漢字に対する認識の仕方はPocketPCとは逆なのはどういうことか。


*1:文字入力支援と思われる

#2 プロキシの自動設定 apache2

プロセスは生きてるのに返事を返さないという状態に。InternetExplorerが使えないぐらいだったらプロキシを外す設定 *1 すればいいのだが、普通のWindowsファイル共有まで刺さって全くPCが使い物にならない。 IEのプロキシを外しているにもかかわらずだ。どっかにWeb共有のプロキシ設定レジストリがありそう。


*1:Lunascapeなら常時ツールバーに表示してるのでプロキシの変更は至極簡単

#3 zsh

cygwin上の tcsh って何もカスタマイズしてないも同然なので zsh を入れてみた。さてはて。

#4 11487歩

2003/05/19 (Mon)

#1 FOMA T2101V から mopera への接続

電話番号は *99***1# 。

#2 bsfilter の Hash を Marshal な話

bdb1(Berkeley DB)やGDBMのインターフェースってほとんどHashと同じなのに、 永続化にわざわざMarshal使うのは「もったいない」というある意味非富豪的発想によるものです。

今後独自のクラスの中にパラメーターが増えるような展開を考えているのであれば、Marshalの方がいいでしょうし…

あとどうせMarshalするなら PStore を使ってないのもちょっと不思議でした。PStoreの中でファイルロックの仕組みをせっかく用意してもらっているのに。

#3 PowerMac (ポリタンク以前) にHDD増設したい

という話を昨日してて、確信はないけど1万5千円ぐらいでFireWireカード、で適当に欲しい容量の外付けHDD買うのがいいんじゃないかねえ、とあいまいに答えたのでちょっと調査。 REX-PFW4H(ラトックシステム) 定価4400円。なんだWindowsマシンと同程度の値段じゃん。ていうかWindows兼用。 FireWire PCI Card for Mac(BELKIN) てのがGoogleでトップだったけど、値段の差が…

HDDはとりあえず にゅ〜iPod 推奨か?

REX-PFW4H を ヨドバシで調べる と 5月13日発売とか書いてある。

#4 paxのススメ

FreeBSD ハンドブック Chapter 9. バックアップ より。全部引用しちゃえ。

pax(1) は tar と cpio に対する IEEE/POSIX の回答です. 長年の間, 様々なバージョンの tar や cpio は, 互いにわずかながら非互換性を有していました. 各々をしらみ潰しに標準化する代わりに, POSIX は新しいアーカイブユーティリティを作ることにしました. pax は専用に開発された新しいフォーマットに加えて, いくつもの cpio や tar のフォーマットの読み書きに対応しようと試みています. コマンド群は tar よりも cpio の方にいくぶん似ています

@ cp -r

その昔 cp -r はシンボリックリンクや名前付きパイプを抱えていると危険なので使っちゃいけないコマンドだった。 man cp の COMPATIBILITY セクションに書いてあった。

Historic versions of the cp utility had a -r option. This implementation supports that option, however, its use is strongly discouraged, as it does not correctly copy special files, symbolic links or fifo's.

今の cp -pR は pax -r -w -pe と同じなのか。それだったら使っちゃうかもな〜

@ Packageを作ろう!(MacOS X Server編)

-traditonal もしくは -gnutarを指定しない場合、pax をもちいた cpio形式のアーカイブを行ないます。

MacOSXの標準もpaxらしい。

#5 NEC、デスクトップPC「VALUESTAR」を一新

VALUESTAR T はBSデジタルチューナー付きで直接録画可能。 16:9 で直接DVDが焼けるんだったら現状のコンシューマ機では唯一の選択肢なんじゃないか? とちょっとだけ夢ふくらんでみたり。

#6 A CUT ABOVE THE REST

ベッカムが髪型を変えたというニュースで「こんな髪型ベッカムしかできない」とニュースキャスターが言ってたんだけど、 NBAでは良く見るやんと調べて出てきたサイト。

あれは CORN ROWS というのか。日本語なら「モロコシ畑」

#7 7620歩

2003/05/20 (Tue)

#1 6168歩

2003/05/21 (Wed)

#1 tDiaryファイルのパーミッション設定

うちの場合 apache が suExec環境のため tDiary の動作は通常ユーザ権限になってから動く。 なのでtDiaryファイルの所有者・パーミッションに関しては「何もしない」

あえて設定するならディレクトリに対しては chmod u=rwx,go=rx <tDiaryディレクトリ> *1 、通常ファイルに対しては chmod u=rw,go=r <tDiaryファイル> *2 に設定する。 データディレクトリは他人に読まれたくないので chmod u=rwx,go= <データディレクトリ> *3 に設定する。

まとめ

chmod u=rwx,go=rx <tDiaryディレクトリ>
chmod u=rwx,go=  <データディレクトリ>

@ suExec環境でなく、インストール作業を root がやる場合

FreeBSDのportsからインストールされた apache は wwwユーザ/wwwグループで動いているのが普通なので、 wwwグループであることを利用することにするべし。

chmod ug=rwx,o=rx <tDiaryディレクトリ> # グループに対しての書き込み権限を追加
chown -R <ユーザID> <tDiaryディレクトリ>
chgrp -R www <tDiaryディレクトリ>

chmod ug=rwx,o=  <データディレクトリ> # グループに対しての書き込み権限を追加
chown -R <ユーザID> <データディレクトリ>
chgrp -R www <データディレクトリ>

@ suExec環境でなく、通常ユーザがやる場合

フツー 通常ユーザがwwwグループに入っていることは無いため自力で chgrp www することが出来ない。 なので chmod o+rwx ということになる。

@ これが問題なければ、send-prするつもり

↑とパーミッションについて様々考えたけど、とりあえずruby化が先なんじゃないかなとツッコミを入れてみた。

ユーザIDの取得は HOMEOWN=`id -u <ユーザ>`、グループIDの取得は HOMEGRP=`id -g <ユーザ>` で出来るのに、 何でホームディレクトリの取得コマンドがないのじゃー。 と思いつつシェルのマニュアルを眺めていたら、もしや"~ユーザ"を展開するのがスジ? 昔の /bin/sh では出来なかった気がするんだけど…

HOMEOWN=`id -u <ユーザ>`
HOMEGRP=`id -g <ユーザ>`
HOMEDIRC="~<ユーザ>/"

*1:いわゆる chmod 755 を分かりやすく? 書いてみた
*2:いわゆる chmod 644
*3:いわゆる chmod 700

#2 8140歩

2003/05/22 (Thu)

#1 メールアプリ「ケータイポストペット」がJ-SH53向けに登場

そろそろ発売の J-SH53。ここまでお手軽になればポスペも常用しそうな気がする。 メガピクセルカメラとも合わせて久々に欲しいと思わせる端末だ。

もう一点、軽く調べた範囲では不明だったが、SDカードのMPEG4動画が再生できるんだったら間違いなく買い。

#2 LBP-2410

カラーレーザープリンタもそろそろいいかなーと市価調べたら85000円じゃん。 いきなり買うことになりさう。

#3 Enhanced Graphics Driver for Wacom Penabled Tablet PCs

タブレットPC用ワコムドライバ。OSの機能とかち合わないような仕組みが追加されているらしい。

2じゃないintuosだとインストールさせてくれなかった。残念。

#4 スマートツールネットワーク株式会社

「スマートツールネットワーク株式会社」 から不正アクセスの件について問い合わせがあった方がもしいらっしゃったら、 無料で相談にお乗りしますので是非ご連絡下さい。

よろしくお願いします _o_

スマートツール ネットワーク 株式会社 クラッキングをしてきた訳では ありません。念のため。スマートツールネットワーク株式会社をアタックした 誰かがいるらしいです。

@ IP Spoofing

資料その1

IP Spoofingとは、IPアドレス偽装攻撃とも呼ばれ、基本的な手法の一つです。 これは、自IPアドレスを相手のIPアドレス等に偽装し攻撃を仕掛けたり、 Firewallを突破するという方法です。 単独で利用する場合、相手のホストがIPアドレスで接続先を制限している場合や、 相手のホストに侵入したとき、logなどに自IPアドレスが残されると困る場合などに使用されました。 この手法が考え出されたときには、このような使用がなされていましたが、 現在ではDoS攻撃に使用するなど、 他の攻撃手法の中で応用されています。

@ NTにおけるIPソースアドレス詐称

資料その2

#5 Subversion

Subversionでimportする際、空のディレクトリをimportすることはできない。

# 
cd /tmp
mkdir mytdiary
touch mytdiary/README
svn import -m'first import' svn://localhost/repos mytdiary trunk/mytdiary
rm -rf mytdiary
svn checkout svn://localhost/repos/trunk/mytdiary
(cd mytdairy; pax -r -w -v . ~/tdiary) # README以外空のディレクトリ情報を移動する
rm -rf mytdiary

自分で作った日毎のtdiaryファイルを Subversionリポジトリに投入する。

cd ~/tdiary
svn status README # 確認してみる
svn add dailyupdate tdiary.conf
svn commit -m'first import'
# tdiaryシステムが自動的に生成する対象の 2003 と cache ディレクトリは svn 管理から外す
# 一度 .cvsignore を作成するとよいらしい
echo 2003 > .cvsignore
echo cache >> .cvsignore 
svn propset svn:ignore -F .cvsignore .
svn add .cvsignore
svn commit -m'add .cvsignore and svn:ignore' .cvsignore
svn commit -m'add .cvsignore and svn:ignore' .
svn status --verbose # ローカルで保持している情報との差分表示
svn status --show-updates --verbose # リポジトリとの差分表示

@ WindowsでSubversion-0.22.2-setup(失敗)

svn コマンドを一度実行すると Document and Settings\<ユーザ名>\Application Data\Subversion\ に設定ファイルが生成される。

www.mimori.org:~svn/.ssh/authorized_keys には以下のように ssh-dss の前にコマンドを書いて svnserve がシェルとして実行されるようにしてしまう。

command="/usr/local/bin/svnserve -r /home/svn" ssh-dss AAAA.... (コメント)

適当にパスの通ったところに svnssh.sh

#!/bin/sh
exec ssh -l svn $*

Document and Settings\<ユーザ名>\Application Data\Subversion\servers

[groups]
sshgroup = *.mimori.org

[sshgroup]
svn-tunnel-agent = svnssh.sh

…とかいろいろやってみたけど、 最終的にうまくいかず

@ WindowsでSubversion-0.22.2-setup(成功しかけてやっぱり失敗)

CVSの時の :ext: と全く同じ様に自分のユーザ権限で直接リポジトリをいじれるようにしてしまった。

sudo pw groupmod svn -m h # svn グループに自分を追加。
sudo chmod -R g+w /home/svn/repos

Windowsの Document and Settings\<ユーザ名>\Application Data\Subversion\servers

[groups]
sshgroup = *.mimori.org

[sshgroup]
svn-tunnel-agent = ssh

svn checkout svn://www.mimori.org/home/svn/repos/trunk/mytdiary でチェックアウト完了。 *1

チェックアウト、コミットはうまくいったのに svn status --show-updates などのアップデート系コマンドを実行すると

svn: Network connection closed unexpectedly
svn: Connection closed unexpectedly

と言われてしまう。ssh経由でなくて svn://プロトコルを直接叩いても状況は変わらず。cmd.exe上で作業しても同じ状況。 どうもWindows版Subversionのネットワーク系バグっぽい。 これはちょっとWindows側はSubversionに移行できんな。

バイナリパッケージでなくて cygwin でコンパイルすると状況が変わるかなあ。明日やってみよう。 それでダメなら当面CVSでtDiary運用だな。いじょ。

@ Subversion File Shareing

やめるつもりが本家チェックするとWindows用 svn-0.23.0 が出てた。 svn-x.yy.z-setup.exe じゃなくて svn-win32-0.23.0.zip を使うとうまくいきそうだぞ。PATHは自分で設定するべし。


*1:ssh-agent 環境で作業しているのでパスワードは聞かれない

#6 8142歩

2003/05/23 (Fri)

#1 J-SH53 先行発売

結局いかず。なんとなく夏ごろに3G端末にしなきゃいけなくなりそうな雰囲気もあるし。

#2 zsh その後

TABでの補完が、「候補が複数あってもとりあえず出してしまう」仕様で、 rm -rf の後でTABを押した時に危険を感じた。かなーり冷や汗が。 rm の引数では補完しない設定にしたいところ。

@ zshのおぼえがき (3)

.zsh* がとりあえず人のものを持ってきただけで、cygwin用というよりはUNIX用なので整理に向けた資料探し。

設定ファイル評価の順番は /etc/zshenv .zshenv、/etc/zprofile、.zprofile、/etc/zshrc、.zshrc、/etc/zlogin、.zlogin、.zlogout で、zsh -f で起動した場合でも /etc/zshenv だけは評価される。

@ zsh に関するドキュメント(翻訳)

ここのドキュメントは zsh3.0.x で、現行のは 4.0.x だけど参考にはなる、と思う。暇を見つけて読むべし

@ zsh カスタマイズ(娘々日記)

LS_COLORSをググったらひっかかった。最初にここの設定を参考にすればよかった。

#3 Subversion on Cygwin

FreeBSD同様 パッケージでない自力makeしたものは /local に置く方針で。

Cygwin版 Subversionの作成。Cygwinでは gcc, make, autoconf, bison, libtool, libssl-devel, libxml2 をインストールしておく。

@ BerkeleyDB 4.0.14 の作成

SleepyCat から BerkeleyDB 4.0.14 をダウンロード。 *1 以下のスクリプトを利用して構築。完成したら build_unix ディレクトリ内にて make install。

#!/bin/sh
cd build_unix

env CFLAGS="-O2 -pipe" ../dist/configure \
  --prefix=/local

make

@ Neon-0.23.9

Neon から Neon-0.23.9 をダウンロード。 以下のスクリプトを利用して構築。完成したら make install。

#!/bin/sh
env CFLAGS="-O2 -pipe" ./configure \
  --prefix=/local \
  --with-ssl \

#   --with-socks \ # うまくいかなかった
make

@ Subversion-0.23.0

以下のスクリプトを利用して構築。

/sh
env CFLAGS="-O2 -pipe" ./configure \
  --prefix=/local \
  --with-neon=/local \
  --with-berkeley-db=/local \
  --with-zlib \
make

完成したら make install INSTALL=/bin/install。 INSTALL変数を指定しないでデフォルトのインストーラ install-sh を使うと実行ファイルに拡張子 .exe がついているのを認識せず失敗する。


*1: FreeBSDのportsでSubversionを作っていれば /usr/ports/distfiles/bdb/ にソースがある

#4 jless on Cygwin

Cygwin で libncurses-devel をインストールしておく。

FreeBSDの /usr/ports/japanese/less で make だけしてパッチ当て済みソースを生成して、Windowsにもってくる。

#!/bin/sh
make distclean
env CC=gcc CFLAGS="-O2 -pipe" ./configure \
  --prefix=/local \
  --with-cs-regex

make

#5 Subversion + ssh

sshのトンネリングプログラムとして利用 にある方法がどうしてもうまくいかない。クライアント側のserversファイルの記述については例が載っているけど、サーバ側の設定例と 実際の svn コマンドの実行状況がさっぱりなくて難儀。

OpenI18N IIIMF project だと

ssh -L 9000:localhost:8081 svn.openi18n.org

でトンネル作って作業しろと書いてある。

subversionのメーリングリスト でも結構sshの利用についてはトラブルがあるらしく、ぱっと見だけでもかなりの数のメールがある。

@ Re: ra_svn over ssh broken. (subversionメーリングリスト)

There has been a change in the way one uses ra_svn over ssh; see the log message for rev 5754 or the last part of INSTALL. (Basically, you say "svn+ssh://hostname/path" instead of using .subversion/servers to specify tunnel agents for particular hosts.)

今月に入って仕様が変わったのか! どうもサンプルの ~/.subversion/servers からエントリが消えてると思った。

svn checkout svn+ssh://www.mimori.org/home/svn/repos/trunk/ でチェックアウトできた。svn status --show-updates --verbose もちゃんと動く。やた〜。 この指定方法は svnserve を使うわけではないので、CVSにおける -d :ext:<ホスト名>:<リポジトリディレクトリ> と全く同じように使える。

@ SSL証明書

serversファイルを見ると

###   ssl-authorities-file     File listing known and trusted CAs
###   ssl-ignore-unknown-ca    Allow untrusted server certificates
###   ssl-ignore-invalid-date  Allow expired/postdated certificates
###   ssl-ignore-host-mismatch Allow certificates for other servers
###   ssl-client-cert-file     Client certificate file location
###   ssl-client-cert-type     Can be either 'pem' or 'pkcs12'
###   ssl-client-key-file      Client Key location, if not in cert
###   ssl-client-cert-password Client Key password, if needed.

とSSLのクライアント証明書が指定できるようになったらしい。

#6 TortoiseSVN

explorerに似たインターフェースじゃなくて、 explorerを拡張するプログラムだった。

@ Is new SVN+SSH repository browsing supported?

一昨日メーリングリストに投稿されてた。svn+ssh: はなるべく早く実装したいと思っているそうだ。

現状で httpsプロトコルは扱えるみたい だが証明書をどう指定するのかは不明。

#7 spam発信側のベイジアンフィルター対策

AriaxaFewkrpaaljca
Iveaprq
Q2

みたいな意味不明文字列が埋まったメールが最近増えたなーと思ってたら、ベイジアンフィルター対策のような気がする。 HTMLメールの最初のパートに意味不明文字列だけ、本文は2番目のパートのHTMLメールみたいな。

ベイジアンフィルター側も単語辞書使って「辞書にない単語は無視」みたいな実装になるんだろうなあ。

#8 DivX再生環境構築

真空波動研 + K-Lite Codec Pack

#9 ATL 3.0 ウィンドウ クラス: 入門

WindosのVC++アプリで別に大したことをする訳でもないのに、コンソールアプリは嫌だなあ *1 という場合は ATL を使うのが軽くてナイスな感じ。


*1: cmdの黒い画面は顧客に激しく嫌われる傾向あり

#10 MCSA on Microsoft Windows 2000 Server

今日 70-218 を受験してきた。ネットワーク系のトラブルシューティングと、ActiveDirectoryのポリシー関係の設計が主な範囲。今までで一番楽勝だった。

Windows 2000トラックのMCSA資格を2003年6月末までに取得いただいた方には、アップグレード試験の支援をいたします。

残るは 70-215(Windows2000Server) だけだー。

#11 CSS でイケてるデザインサイトリンク集(サムネイル版)

tDiaryのテーマもこの形式で閲覧したい。

#12 Ultr@VNC Release Candidate 1.07

の漢字キー対応版。個人的には101キーボードドライバで生活してるから関係ないんだけど。

#13 SUPERFLAT MONOGRAM

祝!テレビ放映。ヴィトンビルに入らずに済んだよ! ネットって素晴らしい。

ディアボロモンの記憶が、頭の中にどーんと浮かんできてしまって、怖かった〜

#14 Hikiトップページ

Ruby+Amritaで開発されているWikiエンジンHiki。ついに本気で立ち上げたい Wiki 発見。今週末に上げられるかな。

#15 FreeBSD 5.1 Release Process

もう5.1-BETA2まで来てたのか。6月中旬までには 5.1R になるかしらん。

#16 7948歩

2003/05/24 (Sat)

#1 [FreeBSD] subversion-0.23.1_1

Enable building of the mod_dav_svn module if MOD_DAV_SVN is defined. This enables integration of subversion with the Apache 2.0 Web server.

apache2に対する mod_dav_svn 作成自動化キター。

/usr/local/etc/pkgtools.conf に以下の行を追加して、portupgrade -f devel/subversion 実行。

  MAKE_ARGS = {
        'devel/subversion'      => 'WITH_MOD_DAV_SVN=yes' ,
  }

#2 10169歩

2003/05/25 (Sun)

#1 Subversion リポジトリの復旧

svnユーザで動いている svnserve 経由での update と自分のアカウントで ssh 経由の更新をした後、 svnserve経由のupdateをもう一度しようとしたら「データベース壊れた」メッセージ登場。

ssh経由での更新によって、データベースファイルの一部でgroupの書き込みパーミッション落ちていたのが原因。 自分のアカウントで svnadmin recover の後、chmod g+w で復旧。

#2 subversion + ssh + scponly (失敗)

scponlyのrsyncオプションをちょっといじって、subversion+ssh のサーバ側シェルを scponly にする実験。

svn+ssh://svn@www.mimori.org/home/svn/repos/trunk とやってもサーバ側のユーザとして svn を渡してくれない *1 ようで失敗。 svn+ssh実行中にサーバ側のコマンドを調べると 'svnserve -t' で受けているのが判明。


*1:ssh -l svn でログインしてくれない

#3 Subversion + apache2

apache2付属のWebDAVには無かった、HTTPのREPORTコマンドに対するアクセス権の設定が必要。更新に対しては MKACTIVITY CHECKOUT MERGE も。

subversion不徹底入門WEB+DB PRESS Vol.7 WebDAVバージョニング実装 Subversion も参考にapache2の設定をした。

##### Subversion Repository (WebDAV)
<Location /repos>
    DAV svn
    SVNPath "/home/svn/repos"
    SSLRequire %{SSL_CLIENT_I_DN_CN} eq "Hoge CA" \
               or %{REMOTE_ADDR} =~ m/^192\.168\.[0-9]+\.[0-9]+$/ \
               or %{REMOTE_ADDR} =~ m/^2001:218:45e:[0-9a-f]*:[0-9a-f]*:[0-9a-f]
*:[0-9a-f]*:[0-9a-f]*$/
    <Limit GET PROPFIND OPTIONS REPORT>
	# 読み出し可能な条件をここに書く
        Order allow,deny    
        Allow from all
    </Limit>
    <Limit HEAD PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK MKACTIVITY CHECKOUT MERGE>
	# 書き込み可能な条件をここに書く
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET PROPFIND OPTIONS REPORT HEAD PUT POST DELETE PROPPATCH MKCO
L COPY MOVE LOCK UNLOCK MKACTIVITY CHECKOUT MERGE>
	# 知らない HTTP コマンドは全部拒否
        Order deny,allow
        Deny from all
    </LimitExcept>
</Location>

@ クライアント証明書

何の設定もせずWindows上のsvn で https://www.mimori.org.../repos/trunk をチェックアウトしようとしたら「client certificate name?」と証明書の在り処を聞いてきた。

クライアント証明書を実際に作って ~/.subversion/servers に以下の設定を追加 *1

[groups]
mimori = *.mimori.org

[mimori]
ssl-authorities-file = /home/h/.ssh/ca-bundle.crt
# ssl-ignore-unknown-ca    Allow untrusted server certificates
# ssl-ignore-invalid-date  Allow expired/postdated certificates
# ssl-ignore-host-mismatch Allow certificates for other servers
ssl-client-cert-file = /home/h/.ssh/alex2.example.com.cer
ssl-client-cert-type = pem
ssl-client-key-file  = /home/h/.ssh/alex2.example.com.key
# ssl-client-cert-password Client Key password, if needed.

秘密鍵にパスワードを設定してあれば聞いてくるし、設定してなければ何も聞かずやってくれる。

TortoiseSVNでこの手の設定をするところは未だ不明だが、とりあえずダイアログで証明書の場所を聞いてくる。素晴らしい。 これで svn+https 生活決定〜〜

@ svn+https で commit 失敗

Windowsからのcommitができない。当初はフレッツのMTU問題でひっかかっているのかと思ったが、直結環境でも状況が変わらないので Windows の実装に問題があるっぽい。


*1:証明書は暗号化ファイルシステムにしている関係で .ssh に置いている

#4 Rubyで超お手軽SNMP! (s2nmp)

このライブラリの特徴は、すべてRuby で記述されていることです。ですから、 UCD-SNMP 等の他のライブラリを必要としません。

素敵。ただし SNMPv1 しか対応していない雰囲気が漂う(未検証)

net-snmpエージェント上げるときはなるべく SNMPv1拒否で設定してるけど、実際ルータとかの情報得る時にはSNMPv1の方が多いんだよなあ。

#5 4648歩

2003/05/26 (Mon)

#1 Subversion 特殊な属性

$Rev$みたいなキーワード置換をするためには、svn:keyword 属性を設定する必要がある。

ファイルの実行属性は svn:executable に保存されている。chmod -x <somefile> に相当するコマンドは svn propdel svn:executable <somefile>

#2 tDiary 移行ほぼ完了

こっちの日記は5月いっぱいで終了予定です

#3 8177歩

2003/05/27 (Tue)

#1 [FreeBSD] クロスコンパイル

PC9801なWebサーバが今までファイアウォールで隔離していたのが、ネットワーク構成が変わって ssh で直接入れる構成になってさすがにOSのアップグレードしないとまずかろう。 と思いつつPentium133MHzで1.6GBのHDDと厳しいマシンリソース。

PCATアーキテクチャ上でPC98アーキテクチャのクロスコンパイルをするスクリプトを作って、別のマシンでコンパイルしてみる。

#!/bin/sh
TARGET=pc98
export TARGET
TARGET_ARCH=i386
export TARGET_ARCH
make buildworld
make buildkernel

一応通ったけど buildworldの結果を、NFSマウントして installworld するという目論見に失敗。

@ distcc

遅いPC98からコンパイラはdistccで他のマシンを利用してみる。/etc/make.conf に以下の行を追加

CC="/usr/local/bin/distcc cc"
CXX="/usr/local/bin/distcc cc"

buildworld を実行させるためのスクリプト:

#!/bin/sh
DISTCC_HOSTS="10.0.0.888 10.0.0.999"
export DISTCC_HOSTS
TARGET=pc98
export TARGET
TARGET_ARCH=i386
export TARGET_ARCH
date
make -j2 buildworld
date
make -j2 buildkernel
date

distcc: command not found というエラーでうまくいかないなあ。apacheのコンパイルを ./configure から始めるんならうまくいくのだが。

#2 OpenBSD pf ported to FreeBSD 5.0/5.1

FreeBSDでのALTQについての言及もあるので、パケットフィルタリング+帯域制限を ipfilter のような書式で書きたくなったら 採用してみるのもいいかも。

#3 FreeBSD 5.1 Release Process

cvsupしたらスケジュール通りRELEASE_5_1_0 タグが打たれてた。5.1Rまでカウントダウン…ていうかアナウンス前に5.1Rにしてみるか。

…と思ったらportsにしか打たれてないや。うにゃ。

#4 14160歩

2003/05/28 (Wed)

#1 ASP.NET クイック スタート チュートリアル

メモ

「サーバー側のデータ アクセス」に接続文字列のサンプルがある。

server=(local)\NetSDK;database=pubs;Trusted_Connection=yes

SQL接続文字列で、信頼関係接続の利用は Trusted_Connection=yes であったか。

#2 7155歩

2003/05/29 (Thu)

#1 5064歩

2003/05/30 (Fri)

#1 14873歩

2003/05/31 (Sat)

#1 tDiaryへ移行しました

6月以降はtDiaryにトラブルがない限り更新しない予定です。

#2 10696歩


ジャンプ 検索
年月日 :
カテゴリー :
Title only
Ignore case
コメント
ハンドル : 名前記録
一言 :

[Management] [TdfEditor] [LogAnalyse]
Powered by Tomsoft Diary System 1.6.2
Copyright(C) 2003 by KAMIYA Satosi [Mail] <mimoriso@anet.ne.jp>. All rights reserved. このサイトはリンク上等です。