優雅な生活の設計と実装

The Design and Implementation of the Gracious Days


LAST MODIFIED: 2008/12/31 17:23:56 UTC

新しい秩序の確立は、他の何にも増して難しく、
成功する可能性が低く、危険な事業である。
改革者は旧秩序から利益を得ている
全ての者を敵にまわし、
新秩序から利益を受けるはずの者からは
及び腰の支持しか集められない。
--- Niccolo Machiavelli, The Prince

この種の「保護」は初心者を保護するかも知れないが、
熟練ユーザを窮地に追い込むことになる。
というのは、何が親切であり、何が適切でないかかという
オペレーティングシステムの考え方の裏をかくことばかりに
かなりの労力を費やさなければならないからである。
--- A.S.Tannenbaum, Modern Operating Systems


不定期更新の日記です。ディスクスペースの関係上、 あまりに古くなったものは順次消していきます。 この日記の更新は、今野さんの *BSD Diary Links から取得することが可能です。

December 2008

感想はこちらまで (内容は匿名のメールで送られます)

コメント:

注: お返事が必要な場合は直接メールください。 ただし、確実にお返事するかどうかはわかりませんのであしからず。

発売中:「Absolute BSD〜FreeBSDシステム管理とチューニング」
[book image] [→ 書籍情報]
[→ amazon.co.jp]
[→ cbook24.com]
[→ 関連する日記のエントリ (09/24)]

Monday, December 22

*

Sunday, December 21

* end of year

もう年末。

* 7.1-RELEASE

7.1-RELEASE はいつ出るのか、という話。 何で止まっているかというと、セキュリティ絡みの話です。 その他の技術的な問題は 11 月中に解決し、 年内にはリリースできる見込みだったのですが、 その問題の解決まで出せないことになりました。

今のところの目標は、1月第2週です。 package の再構築が必要になるような問題ではない (はず) なので、 問題に対処でき次第、なるべく早く対応しましょう、というところ。 中間に 7.1-RC2 を出す予定ですが、7.1-RC1 からはバグ修正以外の変更を入れないので、 形としてはこれがリリースとほぼ同等のものになります。

* japanese/*

昔から気になっていた日本語入力の ports に関する修正を入れてみた。

いろいろ理由があって、 未だに FreeWnn や kinput2 を使っているマシンがあるのだけど、 このあたりのソフトウェアはみんな INADDR_ANY で TCP ソケットを listen する。ローカルでしか使わないのに、外からつつける状態になっているのは、 かなり気持ちが悪いなあ、と。

まず FreeWnn。基本的には UNIX ドメインソケットを使うようにすれば良いのだけど、 クライアントによっては対応していなかったりするので、127.0.0.1 に listen できるようにしてみる。具体的には "-a ADDR" というオプションと、 jserverrc に "listenaddr ADDR" という記述子を追加して、デフォルトを 127.0.0.1 にすることにした。ソースを眺めていたら -f オプションの処理部分にバッファオーバフローしそうなところがあったのでついでに修正。

次に Canna。デーモンとライブラリを分けるために、ports を分割。 クライアントはライブラリのみ依存するように変更。 デフォルトで UNIX ドメインソケットを使うので特に問題はないのだけど、 ソケットファイルがあるディレクトリが何故か 0777 になっているので、 0755 にする。

最後は SJ3。Canna と同じようにデーモンとライブラリを分離。 serverrc に "servername ADDR" という記述子を追加し、 INADDR_ANY で listen しているところを、servername で指定したアドレスで listen するように変更。 serverrc には、ポート番号が指定できる等の記述 (portname や portnumber) があるものの、 コードを見るかぎりは、まったく対応がとれていない。そのへん修正。

全部を動作確認していたところ、kinput2 も TCP で listen しているのを発見。どうも、プロトコル的には kinput2 がサーバになるような使い方ができるらしい。 普通は使わないし、使ったとしても実質的にローカルでしか使えないものなので、 INADDR_ANY ではなく localhost に listen するように変更。 かつ、TCP 対応を OPTIONS にしてデフォルトで off にしておく。

ついでに IPv6 対応も入れたいとこだけど、 修正範囲が大きくなりすぎるので、とりあえずパス。 これで機能を犠牲にしないで、外からつつけない状態をつくれたかと。

と思ったら、Emacs から FreeWnn に UNIX ドメインソケット経由ではアクセスできないことに気づく。 editors/tamago にパッチをあてて、UNIX ドメインソケットに対応させる。 ソケットファイル名を取得する方法がないので、$JSERVER と wnn-judpath を見るようにして、かつデフォルトを /tmp/jd_sockV4 に設定。

しかし、このへんのプログラムには、ちょっと気づくだけでも、 セキュリティホールがたくさんあって嫌な感じ。 今どきは SCIM とか UIM とか IIIMF とか、 別のものしか使われてないのかしらん。

* FreeBSD の書籍

日本語の書籍があんまりないよね、という話ですが、 やっぱり書籍業界全体で販売数が減っているので、 なかなか難しいところのようです。

さしあたり、 Designing BSD RootkitsAbsolute FreeBSD, 2nd Edition の翻訳をやっています。前者はカーネルプログラミングの本、後者はシステム管理の本で、 2004 年に出した「Absolute BSD〜FreeBSDシステム管理とチューニング」の改訂版になります。 売れないとあとが続かないので、出たらぜひご協力のほどを :)

* AsiaBSDCon 2009

来年 3 月も、もちろんやります。日程は 2009/3/12-15 です。

今回は、話が高度すぎ & 英語だからついていけないよう、 という人でも楽しめる企画を入れることを考えています。

感想はこちらまで (内容は匿名のメールで送られます)

コメント:

注: お返事が必要な場合は直接メールください。 ただし、確実にお返事するかどうかはわかりませんのであしからず。