トップ 最新

2004-03-01 7876歩

λ [AX10] カーネル交換

dmesgを見る限りTUN/TAPデバイスを有効にしたカーネルで起動成功。
mv /boot/vmlinuz /boot/vmlinuz.old
cp arch/i386/boot/bzImage /boot/vmlinuz
lilo -P fix

ハードディスクを交換している場合は最後のliloが重要だ。

…う、音が出なくなった。何が悪いんじゃー。

ダウンロードしたkernel.tar.gzに含まれていた .config ファイルで CONFIG_SOUND_VIA82CXXXが有効になってないのが原因。 一番最初に make oldconfig した時に新しいデバイスを見つけてキー入力を要求してきた時に イヤな予感はしてたんだが。OpenBlocksみたいには .config は公開してないでつか。

このサウンドドライバをモジュール形式でなくてカーネル組込みにしようとするとなぜかコンパイルエラー。 回避するには Re: Problems compiling 2.4.18-pre6 のパッチを当てる。このメールスレッド情報によるとDebian Woodyでインストールされたbinutilsのバージョンが悪いらしい?

これで音も出るようになった。ただこの最後の最後でliloの実行忘れて、HDD抜いてKNOPPIXからliloを実行するはめに。 作業の流れは CD-ROM起動でハードディスクからファイルを救出 に習って行った。AX10上では/dev/hdcだがKNOPPIX上では/dev/hdaというところがミソ。 利用したlilo.confは以下の通り。

#prompt
#timeout=50
default=linux
boot=/dev/hda3
map=/boot/map
install=/boot/boot-text.b
# message=/boot/message
lba32

image=/boot/vmlinuz
        label=linux
        read-only
        root=/dev/hdc3
        append="mem=119m"

λ Flets.Net活用術 それから

今日は3拠点目の設定。相手はRT57i。設定方法はRTX1000と全く同じだった。 暗号化しないIPv4overIPv6トンネルルータとしてはコストパフォーマンス最高!

けどRT57iの立ち位置って微妙っていうか売りにくいらしい。コンシューマー向けにしては高いもんなあ。

スループットはRTX1000より約7%落ちる感じ。


2004-03-02 7253歩

λ B.ROOT-SERVERS.NET 更新作業

FreeBSD 5.2.1-RELEASE上だと/usr/src/etc/named/named.rootに最新ファイルがあるので、 bind向けにはそれをばらまく。

djbdnsのdnscache用には以下の内容をroot/servers/@に設定。 M.ROOT-SERVERS.NETが最優先なのでほとんど意味なしだが。

202.12.27.33
198.32.64.12
193.0.14.129
192.58.128.30
192.36.148.17
128.63.2.53
192.112.36.4
192.5.5.241
192.203.230.10
128.8.10.90
192.33.4.12
192.228.79.201
198.41.0.4

λ [FreeBSD] portupgradeがうまくいかない

/usr/local/bin/rubyがruby18になったのが原因だろうけど、 ruby-bdb1の更新でコケる。なかなか難儀だ。

どっか真っ新なシステムでパッケージ化してある程度手でアップデートしないとだめか?

/usr/ports/UPDATING

来た。これだ!

λ Flets.Net スループット

同一電話局でBfletsベーシック2回線の間でスループットのテスト。 環境は両端ともPen4-1.6GHzのFreeBSD-5.2.1R

ping6は1.5msで、300MBytesのFTP転送で平均67〜74Mbpsとか出る。 直結だとはええなあ。


2004-03-03 7873歩

λ [FreeBSD] Ruby 1.8系に更新

/usr/ports/UPDATINGを元に、1台目のマシンではportupgrade -pでパッケージを作って、 2台目以降はパッケージを利用しながら更新。なぜかerubyのみ失敗した。

pkg_delete portupgrade-\*
pkg_add http://freebsd.example.com/pkg/All/portupgrade-20040208.tgz
portupgrade -Pfr lang/ruby16
portupgrade -Pf lang/ruby18
portupgrade -Pf textproc/eruby
pkg_deinstall -ri lang/ruby16

これだけだとHikiが動かなくなったが、自作PunyCodeライブラリを入れ直したら修復した。

ruby-curlがBROKENで日記が更新できなくなった方が痛い。 SSL経由にしていたのをやめて普通に Net::HTTP クラスを使って更新することにした。

あと最近4.8-RELEASEなマシンが4.9-RELEASEで作ったパッケージを読んでくれないので、 全般に4.9に更新しようかなと思ってるところ。

λ SD-Video

Sharp Galileoで作成したMPEG4な320x240動画が、V601SHで再生できているわけだが、 どういう仕様か調べたらここにあるSD-Videoそのもの。

一番の問題は音声の G.726(ADPCM) で、こいつのフリーなエンコーダが存在しない。 またADPCMに苦しめられるかよ!とか思う。

λ [Mac] QT MPEG4 Exporter

MacOSXで3GPPな動画にするんだったらこれか?

λ namazu修復

ここのnamazu検索のリンクが長らく不正だったのを直した。.namazurcが mknmzrcと別の設定でしかも置く場所まで違うというのが設定ミスの元。

せめて修正時に気付けるように、同じ場所に置いて.namazurcはシンボリックリンクに変更した。


2004-03-04 8860歩

λ 住民基本台帳カード と 電子証明書 発行

市役所に行く用事が出来たついでに発行してきた。所要時間はあわせて40分ぐらい。

カード発行申請書には印鑑を押す欄が存在したが「持ってない」と言ったらその欄は放置で進行。 自署と免許証のコピーつけてるのに、認印押しても何の認証にもならんしな。 実印でもない限り欄そのものが無意味だ。

窓口利用のためのパスワード入力は、デビットカードみたいな端末に4桁の数字を入力した。 この端末のつながっている先はただのFMV bibloノートで、 カード発行自体のイベントはこれぐらいだった。

次に電子証明書を発行しようとすると、 『名前のこの文字は、住民基本台帳上では[この文字]なんですが、 電子証明書には登録できないので[これ]か[これ]のどちらかを選んで下さい』と、 住民基本台帳文字?とJIS第2水準文字の対応表を見せられる。表っていうかかなりブ厚い本。 これはなかなかの資料だ。

鍵ペア発行は、先ほどのパスワード入力端末とは全く独立していて銀行ATMのような立派な機械。 パスワードを入力する時、担当の人はちゃんと『パスワード入力操作は見れないので』と後ろに 下がってくれた。 この時のパスワードは英大文字と数字で桁数不明だが、 後でマニュアルを読むと自分のPCでも変更可能らしいので仮パスワードとして多少簡単なもので良いと思われる。

あとは『カードリーダーを買ってこのソフトをインストールして下さい』と資料を渡されて終了。 待ち時間の間、目の前でPowerBookG4を使っていたけど、Macで使えませんとは言われなかった^^;


2004-03-05 10538歩

λ 影舞 on Ruby 1.8

動かなくなってた。PStoreにキャッシュするあたりでコケてるらしい。

影舞本家を参照して、 CVSからバグ修正版をもってきて更新したら直った。

bin,lib,resource,htmlの下はCVSワークスペース状態にしてしまって、 次回以降は自動更新できるようスクリプトを作成した。

echo CVS password: anonymous
cvs -d :pserver:anonymous@jump.daifukuya.com:/cvs login
(cd bin; cvs update -P)
(cd lib; cvs update -P)
(cd resource; cvs update -P)
(cd html; cvs update -P)

λ [FreeBSD] サポート期限

RELENG_4_8のサポート期限は今月末まで(予定)。やはり4.8なシステムを早いとこアップグレードせんと。

本日のツッコミ(全1件) [ツッコミを入れる]

λ iteb [ここ数日の index.rdf 内の link が 192.168 で始まるようになっています。]


2004-03-06 6385歩

λ cafemimo

一番は Island Hope And Tears に感動。 全体にいい雰囲気だった〜


2004-03-08 4340歩

λ [tDiary] http://192.168.ほげ に向かって更新すると

itebさんのツッコミ で、http://192.168.ほげ に向かって更新するとRSSのリンクのホスト部がそのようになってしまう現象が判明。 ありがとうございます。

λ FOMA bluetoothアダプタ モニター

どうも抽選から外れたっぽい。


2004-03-09 6451歩

λ 無題

今年年賀メールをもらった数少ない同じ年の知人の訃報が届く。

祈る間すらなかった。ただ混乱と悲しさの波間を漂うのみ。


2004-03-10 12914歩

λ DoCoMo WORLDサービス

「FOMAカード(青色)」をご利用のお客さまにつきましては、無料でWORLD WING対応の「FOMAカード(緑色)」と交換させていただきますので、最寄のドコモショップ等へご来店ください。

WORLD WINGさえ申し込めば交換がタダになるのか?


2004-03-12 9451歩

λ PPPoE接続とPPTPのRASサーバの設定

mpdにPPPoE接続とPPTPサーバ両方をさせる設定例。


2004-03-13 6211歩

λ [FreeBSD] mpd で PPTP 設定

mpd.links

pptp2:
      set link type pptp
      set pptp mode passive
      set pptp enable incoming
      set pptp disable originate
pptp3:
      set link type pptp
      set pptp mode passive
      set pptp enable incoming
      set pptp disable originate

mpd.conf

pptp2:
      new -i ng2 pptp2 pptp2
      set ipcp ranges サーバの社内側IP/32 クライアント側IP1/32
      load pptp_standard
pptp3:
      new -i ng3 pptp3 pptp3
      set ipcp ranges サーバの社内側IP/32 クライアント側IP2/32
      load pptp_standard
pptp_standard:
      set iface disable on-demand
      set iface enable proxy-arp
      set iface idle 600
      set bundle no multilink
      set link yes acfcomp protocomp
      set link no pap chap
      set link enable pap
      set link enable chap
      set link mtu 1280
      set link mru 1280
      set link keep-alive 10 60
      set ipcp yes vjcomp
      set ipcp dns 社内DNSサーバのIP
      set ipcp nbns 社内WINSサーバのIP
      set bundle enable compression
      set bundle yes crypt-reqd
      set ccp yes mppc
      set ccp no mpp-compress
      set ccp yes mpp-e128
      set ccp yes mpp-stateless

ハマリポイントは複数の暗号化方式を要求すると失敗するというところ。

接続に失敗していた時に syslogでdaemon facilityのログを取るようにして調査すると、 CHAPはSUCCESSで通過しているのが確認でき、 CCPやIPCP関係でnakやらrejをくらっていたので、そのへんに焦点を絞って調べを進めた。 最終的な解決にはFreeBSD-users のメールが参考になった。

昨日のサイトの例だと mpp-e40 と mpp-e128 がyesで並んでいるのはマズい感じなんだけど、 どうなんだろうか。 別の例 では mpp-e40 と mpp-e128 をaccept(=受け入れるけど要求はしない)で記述してある。

ちなみにPPP的にはCCP:圧縮レイヤーで暗号化をしているけど、 それとは別にEncryption Layerがあって全然関係ないのがまぎらわしい。

λ [FreeBSD] mpd + pf で複数セッション

ISPとフレッツスクエアの2つのセッションのうち、 フレッツスクエアが先に接続してしまうと mpd の linkup スクリプト中にある pfctl -F all -f pf.rulesコマンドで止まってしまい、 ISPに接続してくれないという現象が発生した。

pfctlを呼ぶところは sleep 入れつつバックグラウンドに回すことで とりあえず回避。 PPTPの実験でmpdを再起動しまくっていたが一応その間は問題が出ていない。


2004-03-14

λ GNU radius における Authentication with Scheme

へんてこりんなradius認証をする仕事が来るかもというので、GNU radiusの仕掛けを調査。 Schemeで認証のための関数を書けるというのは結構おもろい。 RADIUSが元々[属性-値]のかたまりを受渡すプロトコルなので、 それをcons pairのリストとして表現するというあたりも非常に直観的。

このGNU radiusのマニュアル、 radiusのマニュアルとして今まで見た中で一番まとまってる気がする。

とはいえSchemeで書いたらメンテナンスできる人ほとんどいねーよなあ。 このページのサンプルでもいきなりlambda連発してるし。


2004-03-15 9899歩

λ [FreeBSD] Courier-IMAP / qmail

えふきむさん日記の通り3.xになって設定そのままだと動かなくなった。 元々大した設定はしてないとはいえ面倒だなあ…

/usr/local/etc/rc.d/の起動スクリプトを新しいスクリプトで上書き、 /usr/local/etc/courier-imap/imapd,/usr/local/etc/courier-imap/imapd-sslを 新しいサンプルをベースに設定しなおし。 前者は IMAPDSTART=YES を書いただけ。 後者も IMAPDSTART=YES と証明書の指定 TLS_CERTFILE, TLS_TRUSTCERTS以外はデフォルトのまんまにしてしまった。

qmailの/var/qmail/control上書き事件は以前もくらっていたけど、 RCSでちゃんとチェックインしている分には co -u /var/qmail/control/[a-z]* で復活できる。…と思って油断してたら1台だけ作業し忘れて、知人から 「ループでエラーメールが返ってきたんだけど」という電話をもらってしまった。うう恥ずかしい。

qmailは自動更新の対象にするものでもないと判断して、 片っ端から /usr/local/etc/pkgtools.conf に以下の行を追加した。

HOLD_PKGS = [
  'mail/qmail',
]

λ Moon Child

初めて見たStudio Life公演。 寝不足で超絶寝むかったにもかかわらず、全編ずーっと引き込まれっぱなし。

いつもお笑い比率の高い演劇ばかり見てるだけに、シリアスで3時間みっちりだとものすごく重たい。 けど充実感のあるお話だった。とにかくものすごい密度の濃い話だった。

劇場に入って舞台上を見た印象はシンプルなのに、舞台上に映像やライティングを重ねて幻想的な雰囲気の絵作りをしていた。 音楽も合わせて良くも悪くも少女漫画っぽいなーと。劇団新感線が少年漫画であるならば。 でまあ僕の場合少女漫画っぽさは大好きで、男性役者が現代の女性を演じていてもすんなり受け入れてしまうけど。 …客の女性比率は今までで一番高かった気がする。新感線の比ではない。

密度が濃くてもわかりやすくて、「もう一度あそこ観ないと分かんない」なんてことはない。本当に良く出来ていると思った。 次回作もちょっと興味を持ってみたり。


2004-03-16 6747歩

λ [Mac] Subversion with carbon Emacs

psvn.elで日本語で書いたログを確認すると文字化けが発生。

(set-default-coding-systems 'utf-8-unix)

とデフォルトをUTF8にしてしまえばちゃんと読めるんだけど、 Subversionの取扱い時にデフォルトを無視してUTF8を指定する方法はどうやるんだろう。 svnプロセス実行時のcoding-systemのような気はするが。

ちなみにこの日本語で書いたログはWindowsのTortoiseSVN(on Windows2000)で入力したもの。

λ ミスサイゴン キャストスケジュール

筧利夫+高橋由美子で行けそうなのは 8/16 と 9/12 ぐらい。

λ [FreeBSD] 5.2.1-RELEASE-p2

前回のFreeBSD-SA-04:04.tcpに対するちょっとした修正。あわせてRELENG_5_1に対してのパッチも作成された。 カーネル入れ換えだけでよい。


2004-03-17 5531歩

λ [FreeBSD] ViewCVSのインストール

まずPYTHON付きのSubversionを入れる。/usr/local/etc/pkgtools.conf は以下の設定。

MAKE_ARGS = {
      'devel/subversion'      => 'WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes WITH_APACHE2_APR=yes NOPORTDOCS=yes -DBATCH' ,
      'devel/swig13'          => 'SWIG_LANGUAGES="perl ruby python" WANT_SWIG_PYTHON=yes WANT_SWIG_PERL=yes WANT_SWIG_RUBY=yes' ,
}

ViewCVSのCVS開発版をもってきて、viewcvs-installコマンドで適当な所にインストール。 設定ファイルのviewcvs.confは以下の3行のみ変更した。

svn_roots = svnroot0: /home/svn/repos
default_root = svnroot0
mime_types_file = /usr/local/etc/apache2/mime.types

default_rootに指定するのは、svn_rootsやcvs_rootsで自分が指定した名前。これを理解するのに手間取った。

あとは www/cgi/viewcvs.cgi がCGIとして動作するようにApacheを設定するのみだ。とりあえずmod_pythonは不要。 日本語ログ部分が文字化けしてたので、Apache2の設定にAddDefaultCharset UTF-8を追加した。

ScriptAlias /svn/ "/home/svn/viewcvs/www/cgi/"
<Directory "/home/svn/viewcvs/www/cgi">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
  AddDefaultCharset UTF-8
</Directory>

作業手順は影舞とかなり似たようなな雰囲気で、未だにPYTHONの文法すら覚えてないけど全然困らなかった。

しかしこうやってリポジトリを参照できるようになると、ログメッセージをまじめに書いてないのがバレバレ(自分的に)。

λ [AX10] カーネル入れ換えその後

電波経由のEPG取得に失敗するようになっていたが、EPGの設定をやり直したら受信するようになった模様。 UserModeLinux方面は進んでいない。

λ [Mac] OSX 10.3.3 update

特に問題は起きなかった。/etc/fstabなんて触らないよ。


2004-03-18

λ [FreeBSD] FreeBSD-SA-04:05.openssl

OpenSSL祭り。

λ [FreeBSD] 最近のportupgrade方法

親マシンでportupgrade -arp→勝手にパッケージ出来る。

子マシンでportupgrade -arPP(親のパッケージ参照強制)してから、 portupgrade -arpで出来たパッケージを親にscpで転送。

とゆーのを速いマシンから順番にやれば、gettext祭りでも大したことはない。


2004-03-19 5478歩

λ トム・デマルコ講演の個人的メモ

この中で一言選ぶとしたら「やらないことの決断の方が重要」だろう。

講演の対象はどちらかというと組織とか会社だと思うけど、個人にあてはめて言うなら 引越しの時に「何を捨てていくか」で自分のアイデンティティが決まるのではないか。

λ IIsIPSecurity.IPGrant

IISで送信元IPアドレスでアクセス許可を設定するためのプログラムインターフェースとサンプル。

Windows2003用のドキュメントだけどWindows2000でもサンプルほぼそのままで使えた。 これでauのめんどくさいアクセスリストをスクリプトで設定できるぞ。 アプリケーション名がAppFriendlyNameで取れるから、それで識別して一気にやっつけるか。

λ psvn.el の設定

Emacsのvcを使ってログを見ると文字化けしていたのを svn プロセス呼ぶ時にUTF8指定することによって改善した。.emacs.el の該当部分:

;;; Subversion
(load-library "psvn")
(setq process-coding-system-alist (cons '("svn" . utf-8) process-coding-system-alist))

バッファの漢字コードがSJISだと「β」が読めなかったりするが、多分これは別の問題だろう。

psvn.elの最新版はリポジトリから取得した。

λ 「ハックを記録するとノウハウ流出の危機!」

「その公式をあてはめれば解ける」ということが予測できた時点で問題解決の9割は終わってるわけで。 マニュアルなりgoogleなりからソコに辿り着く部分のノウハウは記録してないし、その部分のノウハウはハックと呼ばれないと思う。

もう一つ例をあげるなら、Microsoft TechNetにたくさんの解決方法が載ってるけど、 その解決方法を知っているという価値は低くもなんともない。

高校時代に「知識には3種類ある」と言われた覚えがあるけど、「直接知っていること」「どこに書いてあるか知っていること」とあと何だっけ?「誰が知っているか」だったかなあ。

λ [Mac] Mail.app 1.3.4 (OSX 10.3.3 update)

今まで「迷惑メール」ボタンを押すと100%落ちていたのが、落ちなくなった。

代わりにSafariが連続して落ちたりしているが…

本日のツッコミ(全1件) [ツッコミを入れる]

λ otsune [うう、文章に頭脳が付いていかず。 なんとか読み取ってみました。 >その部分のノウハウはハックと呼ばれないと思う とか..]


2004-03-20 8906歩

λ AX300でDVD作成

個人的にはPSXより好印象。CMこそ自分で焼く価値があると思ってるので前後のカットさえ出来れば十分だ。

λ Logging packets to network devices

ipfilterの機能でパケットのログを別インターフェースに投げる設定例。

分かってみれば当たり前だがマッチしたルールでのみ適用されるので、 普通にフィルタリングルールを書いている場合には、pass hogeな行にいちいちdup-toを記述する必要がある。 ルールの先頭に1,2行書いておけばよいというわけではない。

Ethernet的にパケットが飛びさえすればよいので、受け側のMACアドレスに偽IPアドレスを static arp で設定して、 dup-toで出すこっち側インターフェースも偽IPアドレスと同じネットワークアドレスを振ると吉、 と書いてあるのだろう。create a static arp cache for a meaningless IP#ってのは。

ちなみに実験はipfilterでなくて、pfで行った。


2004-03-21 2992歩

λ apache-2.0.49

野良ビルドしているとこ(このサイトとか)はさっさと更新。portsなところはports待ちで。

これでhttpd中に記録されているopensslのバージョンもy更新される。

λ [FreeBSD] zebraをjail中で動かしてみる実験

zebra自体は多少文句言いつつ動いていたような気もするが、OSPFのマルチキャスト通信が全然ダメ。 やっぱ無理かー。

λ [FreeBSD] quagga

まずportsで作れなかった。なんだかautomakeでコケる。これが不幸の始まりだった。

以下の指定でビルド

#!/bin/sh
./configure --prefix=/local --localstatedir=/var/run/quagga \
  --enable-user=quagga --enable-group=quagga \
  --enable-pam
make

実行時のユーザ権限がquaggaになるせいで、設定ファイルとpidファイルの所有者をquaggaに変更するのはすぐに分かったが、 プロセス間通信に使うUNIXドメインソケットの生成に失敗しててかなり悩んだ。 UNIXドメインソケットは configure の --localstatedir で指定したディレクトリの下に zserv.api という名前で出来る。 が、pidファイルと違ってあらかじめ作っておくというわけにはいかないので、 結局ディレクトリそのものをquagga権限から読み書きできるようにした。

最終的な zebra 起動用 run スクリプトは以下の通り。

#!/bin/sh
localstatedir=/var/run/quagga
mkdir $localstatedir
chown quagga $localstatedir
chmod 700 $localstatedir
exec 2>&1
exec softlimit -c 0 \
      envdir ./env \
      /local/sbin/zebra -k -f zebra.conf

λ [FreeBSD] IPv4 over IPv6 トンネル上の OSPF

前提:FreeBSDとRTX1000間でFlets.Netを使ってトンネルを掘っている環境。

FreeBSD側では、gifインターフェースのdestination側アドレスが、 OSPFのどのネットワークに属しているか教えてやるとOSPFが有効になる。 RTX1000はipipトンネルの端点に直接IPを振れないようで、lan1アドレスがそのまま利用されていた。

FreeBSD:/etc/rc.conf

ifconfig_gif1="inet 192.168.255.255 netmask 0xffffffff [RTX1000のlan1アドレス]"

FreeBSD:ospfd.conf

interface gif1
 ip ospf network point-to-point
router ospf
 network [RTX1000のlan1アドレス]/32

RTX1000側はほぼYAMAHAのドキュメント通りで、 追加した設定はこんだけ。

ip lan1 ospf area backbone
tunnel select 1
  ip tunnel ospf area backbone
ospf use on
ospf area backbone
ospf configure refresh

設定完了後OSPFのパケットが流れてるかどうかは tcpdump -i gif1 host 224.0.0.5 で確認した。

λ [FreeBSD] RIPng によるIPv6ルーティングの設定

Flets.Netなトンネル上を利用しているので、 Flets.Net自体のIPv6ルーティングを上書きされると大変なことになる 。

ripng.conf

router ripng
 network gif1
 distribute-list prefix local-only in gif1
ipv6 prefix-list local-only deny 2001:c90::/32 le 64
ipv6 prefix-list local-only permit 2001:218:45e::/48 le 64
ipv6 prefix-list local-only deny any

ipv6 prefix-listの後ろにあるle 64は、「/64以下のプレフィックス長にマッチしろ」という意味。 IPv6ネットワークだったら大概 le 64 をつけることになるだろう。 そうじゃないと正確に /32 や /48 に一致するルーティングがやってきた場合にしかマッチしない。

「ipv6 prefix-listにおける any は ::0/0 le 128 と同じ」いう説明を見付けるまで何のことやら分からんかった。


2004-03-22 7309歩

λ [Mac] Safari IPv6

Safariってタブブラウザだったのか! (今さら気付いた)

IPv6サポートは、DNSに両方のエントリがある場合はIPv4優先でIPv4で接続失敗したら失敗で終了、というのがデフォルトの動作。 IPv6優先にする方法はmacosxhintsに書いてあった。

  • ターミナルから defaults write com.apple.Safari IncludeDebugMenu 1 と入れてDebugメニューを有効にする
  • Debugメニューの Supported Protocols にある http: (Simple Loader) のチェックを外す

これでSafariから http://www.kame.net の亀が踊る。

…けど再起動したら戻ってしまった。デフォルトの動作を変える方法はどうやるんだ。

λ FreeRADIUS 外部プログラムによる認証

オライリーのRADIUS本は、 FreeRADIUSベースで説明をしている役に立つ本だった。 が、外部プログラムによる認証については結局何も触れられていない。ソースとにらめっこしながら外部プログラムによる認証の実験をした。

今回は認証するだけなので、認証に成功した場合にユーザによってRADIUS属性を追加したりするような処理はしない。 位置的にはPAPやCHAPと同じような処理をさせる設定にした。

radiusd.confに以下の部分を追加。

modules {
      ...
      exec hogeauth {
              wait = yes
              program = "/local/bin/hogeauth"
              input_pairs = request
      }
}
authenticate {
      ...
      Auth-Type HOGEAUTH {
              hogeauth
      }
}

usersの先頭に以下の部分を追加。

DEFAULT Auth-Type := HOGEAUTH
      Service-Type = Framed-User,
      Framed-Protocol = PPP,
      Framed-IP-Address = 255.255.255.254,
      Framed-IP-Netmask = 255.255.255.255,
      Idle-Timeout = 3600
      Fall-Through = Yes (失敗した場合に別の認証方式も試す場合)

/local/bin/hogeauthはとりあえずリクエストの内容をログに取るだけ。

#!/usr/bin/perl
open OFP,">>/tmp/hogeauth.log";
foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    print OFP "${var}\t${val}\n";
}
print OFP "\n";
close OFP;
exit(0); # success
# exit(1); # fail

取ったログを調べると、以下のようにクオートされた文字列が渡されていた。

USER_NAME	"id"
USER_PASSWORD	"password"

というわけでこのような場合の外部プログラムの仕様は以下のようになっているようだ。

  • 環境変数 USER_NAME にダブルクオートに囲まれたユーザ名が入っている
  • 環境変数 USER_PASSWORD にダブルクオートに囲まれたパスワードが入っている
  • これらの値としてダブルクオートが含まれていても、余分なエスケープは行われない。単純に両端のダブルクオートを外せばよい。
  • 返り値が0なら成功、0以外なら失敗
  • 標準出力等への出力は無視される
  • ある瞬間に実行されるのは1プロセスのみ。リクエストはキューイングされていて順番にやってくる。(捌き切れないとどんどん溜まる)

Apacheにおけるmod_perlみたいなのもある。rlm_perl Documentation


2004-03-23 9927歩

λ 初心

終電を逃して知人の車を借りて帰宅することにしたら。

まさか 左ハンドルのマニュアル車 を運転する機会が来ようとはー。 あらゆる操作が頭で考えながらでないと出来なくて、初心者の時はこうだったなー、と思い出した。初心者マーク欲しかった。

そして右後方の車両感覚が分からず、右への車線変更が恐かった。特に首都高に入った直後の合流はクラクション鳴らされちゃったよ。すまぬ…

λ チャイルドブランドの強さ

自分の人生も、目の前の社会も、確率的に眺められるようになると。 それは現実なので[ただのゲーム]ではないのだけど、大きな物語では語り得ない違った世界に見えてくる。ような気がする。 明日死ぬかもしれないというのを受け入れつつ、でも多分死なないということを思いながら、僕はどうすればよいのだろう。

そして、年寄りは不誠実です。

年金は「若者がお年寄に感謝して生活を支えてあげるもの」と最初から説明していれば、 将来受け取れないからなどという理由で払わなくならないだろうに。と思うんだけど。 しかもそういう仕組みであるという前提だったら、毎年なにがしかの経済成長を前提としなくても成り立つはずなんじゃないのかなあ。

[自分が払った金額以上が必ず返ってくる]というソンナムリナ期待を実現させるために、 経済成長を強要され地球が破壊していくのはかなわない。 しかし経済成長なくして国は立ち行かないと政治家や官僚は言う。


2004-03-24 5858歩

λ Fiddler

HTTP Debugging Proxy

POSTデータのログが簡単に取れるのが大変ありがたい。


2004-03-25 14608歩

λ ケータイメールのアドレス、使えない記号は?

使えるのはハイフン、アンダーバー、ピリオドのみだ。auはアンダーバーも使えない。

λ Build Your Own Configure Script

automake, autoconf の使い方。


2004-03-26 15097歩

λ Tribute to 岩田さん

岩田さんに出逢って、いつしか僕も野郎の身でありながら、やおい道に足を踏み入れてしまったのだけれど。 特定のジャンルに傾倒してやっと岩田さんにそのジャンルでだけ追いつけるかな、とそういう感じでした。 ともかく面白さを理解できるようになり、リアル腐女子の方々に「脳ミソ腐女子認定」してもらえるようになったのは嬉しかった。 まんがを読む感性を育てる道標として岩田さんがいなければこうはならなかったでしょう。

本業の方でも、現役のシステムエンジニアで、横からいくらかサポートするだけでしたが、 それでもあるべきシステムに向かって計画・構築・運用までやろうとする姿が垣間見えたものです。 (まだIP-VPNがこうも流行る前に)会社のネットワークを専用線網からIP-VPN網に切り換えるというので、 切り替えの日の一晩一緒に作業をしたことがありました。 さまざまなトラブルを乗り越えて、いくつか不具合はあるもののなんとか仮運用まで持っていくことに成功して、 一緒にファミレスへ朝食を食べに行った日のことが懐しい。 こんなエピソードは多分他からは出てこないと思うので書き記してみました。

いつも全力だった岩田さんなので、最期の時は幸せだったんじゃないかと、僕には自然と思え、 涙が出ようと笑顔で見送ろうと思いながらこの数日を過しました。


2004-03-27 15536歩

λ フォント埋め込み機能を備えたフリーのPDF文書作成ソフト「PrimoPDF」

SourceNext[いきなりPDF]のフリーソフト版(あるいは敵)? いきなりPDFはWindowsXPのリモートデスクトップ経由でさえ出力させてくれなかったりして制限が厳しい。

まあPDF自体の仕様は公開されてるから当然こうなるよね。


2004-03-29 9063歩

λ [FreeBSD] ClamAV + qmail-scanner

個人宛でウィルスが来ても別に気にならんが、管理しているメーリングリストに流れるのはアレなので入れることにした。

  • bash2が必要
  • qmail-scannerがsuidperlを必要とする。portsでperl5.8や5.6を入れている環境の場合、/usr/local/binをPATHの中で優先させておく
  • perl5.6で /usr/local/bin/suidperl が存在していたけどうまく動かず。ENABLE_SUIDPERL付きの perl5.8 に差し替え。

qmail-scannerが一時的に展開したファイルが読めないことがある。添付ファイル関係?少なくとも感染していないplain/textなメールだったらエラーにならない。 maillogに残るエラーメッセージは以下の通り。

clamuko: corrupt or unknown clamd scanner error or memory/resource/perms problem - exit status 2 

デバッグモードで動かすと、qmail-scanner から clamdscan を呼ぶところでコケているのが判明し、 /usr/local/bin/qmail-scanner.plを直接編集して clamdscanの代わりにclamscanを使うとエラーが出なくなった。(常駐デーモン使わないので遅くなると思うけど、当面追いつかないということはなさそう)

clamavとqscandのuid,gidを同じにしてみたけど状況は変わらず。

λ [FreeBSD] FreeBSD-SA-04:04.tcp をあてたら遅くなった

かなり忙しいWebサーバがぶらさがっているファイアウォールにFreeBSD-SA-04:04.tcpを適用 したところ、 明らかにパフォーマンスが低下した。

sshで接続して作業をすると時折表示が止まったりするので、パケロスしているような雰囲気。 今回思い当たる原因は FreeBSD-SA-04:04.tcp ぐらいだと思ったので、 このSAのパッチファイルを読んでカーネル変数 net.inet.tcp.reass.maxsegments の値が怪しいとにらんだ。 初期状態では 416 とかになっていた。 ノリとしては kern.ipc.somaxconn みたいなもんだろうと思われるので、いかにも少ない感じ。

早速値を増やそうと思ったが、ReadOnlyのため sysctl コマンドで書き込むことができず、 /boot/loader.confに以下の行を追加して再起動した。

net.inet.tcp.reass.maxsegments="4096"

ここに指定する数値は、ipfstat -sでActiveなセッション数が見えたので、それよりちょっと大きめの数字を設定。 正しい計算の方法は分からんが。とりあえずこれでパフォーマンスは以前のように復活した?

本日のツッコミ(全2件) [ツッコミを入れる]

λ hodaka [qmailscannerのエラーですが、clamav.confのUserをqscandにすれば解決するようです。]

λ 上美谷 [「clamavとqscandのuid,gidを同じにしてみた」のところと 効果は同じだと思うのですが… バージョンが..]


2004-03-30 6811歩

λ [FreeBSD] FreeBSD-SA-04:06.ipv6

カーネル入れ替えと、cd /usr/src/include; sudo make install

λ イワえもんってどんな人?

メモ(…と流すにはいろいろアレなんだけど)

λ [Mac] GNU screen生活

WindowsではVeraTerm(旧Guevara)を使っていればウィンドウがちらばらなくて済むんだけど、 MacOSXのTerminalだと散らばり気味だったので使ってみた。確かに便利そげ。

起動にはssh-agent screenとか叫ぶのがよいのだろうか。

本日のツッコミ(全2件) [ツッコミを入れる]

λ ryo [iTerm(だっけか)良いですよ。タブ対応のターミナルです。 日本語EUCもおっけーですし。]

λ 上美谷 [確かにタブ対応はよさそうですね。試してみます]


2004-03-31 7133歩


2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

using plugin: amazon calendar2 category html_anchor makelirs makerss recent_comment3 recent_trackback3 squeeze tb-send tb-show recent_list

Copyright(C) 2003-2007 by KAMIYA Satosi (上美谷 智史) All rights reserved.
gmail 無断リンク上等! ただし自動的に捕捉されます。