M's Diary -- 2002年1月分 --

Last-modified: Thu, 26 Dec 2002 13:41:37 JST
powered by tds-1.7.4 [static,cache:on]
前月 2002/1 翌月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

2002年 1月 1日 (火)

謹賀新年

明けましておめでとうございます。

今日の出来事

_ アップデート

各マシンの FreeBSD を最新の 5-current や 4-stable にアップデート。 ノートの 5-current をアップデートしたら xdm からログインできなくなった。 PAM 回り が原因。ちょうどいい機会なので XFree86 を手始めにいろいろ入れ直す。

_ CCS

NHK 教育の再放送見損ねた (;_;)。

_ 補完

NEWS-8 の日の日記を補完。


2002年 1月 2日 (水)

FreeBSD

_ ppp (続)

前の続き。 1/1 時点の 4.5-PRERELEASE の kernel でも NG。梅本さんのところほど 頻繁ではないけれど、やっぱり問題が発生する。

寝ている間や外出時だと対応できないので、 ping で接続状態をチェックして NG なら ppp を kill してから起動し直すスクリプトを作成。 2 分毎に cron で回すことで対症療法を行うことにした。

_ modula-3

reichanet ネタ。 lang/ezm3登場。 commit log と pkg-descr の内容が笑える。 CVSup だけ使う人のための modula-3 処理系らしい :-)

_ ppp (続)

cron で ppp チェックスクリプトを回しはじめたけど、問題の現象は起きないな。 たまにしか起きないからテストが難しいぞ :-)


2002年 1月 3日 (木)

CVSup

昨日書いたezm3 話の続き。 jdp のメールをみて苦笑。

Date: Wed, 02 Jan 2002 08:59:51 -0800 (PST) From: John Polstra <jdp@polstra.com> To: hubs@freebsd.org Subject: New more portable Modula-3 for building CVSup [途中略] It is my belief that if you follow the simple instructions exactly, you will be able to install ezm3 on any of the supported systems in a single try. No muss, no fuss, no patching, no 25 MB downloads. Please give it a try, and let me know about any problems you run into. Thanks, John "I hate distributing CVSup binaries" Polstra

最後の John "I hate distributing CVSup binaries" Polstraというのが特に印象的 :-)。

_ バイナリ

今度の ezm3 で作った CVSup は、 modula-3 関係のライブラリだけ static link されるので *1なかなか良い。いままで static link されたバイナリには libc とかまで static link されていたからね。

ということで、 FreeBSD 用の CVSup バイナリの新しいやつ:

NetBSD 用のはそのうち作る予定。


*1:modula-3 の dynamic library がインストールされないため。


2002年 1月 5日 (土)

enkai-core 新年会

_ 準備

昼過ぎくらいに沖縄の空港にいる 江州さんから電話。綱島の駅で待ち合わせることに決定。

南武線経由で綱島の駅へ。改札口を出て電話しようとしたらちょうど江州さんが 出てくるところだった。タクシーで江州さん宅へ。準備をちょっと手伝ってから 買い出しへ。

近くの酒屋 *1。日本酒の品揃えがかなり良くて、酒好きには危険な店だ :-)。 ワインも揃っているらしいのだが、私はワインは知らないのでパス。

とつまみを買って帰還。

_ 宴会

後発組が綱島駅からタクシーに乗って到着。部屋がわからないので私が外に出て 誘導。ちょっと迷って混乱。後発組が買ってきた分があるので酒がさらに増える。

ワインで乾杯。江州さんの沖縄そば、 yuko さんのおでん、こがさんの鳥手羽など 美味しいつまみがいっぱい。いろいろな話をしながら楽しむ。 最初ちょっと余計かと思っていた酒がぜんぶ空いてしまった。

_

終電を逃してしまった私と (う) さんが残留。泡盛をちびちび飲みながら CD や DVD を鑑賞。眠くなってきたので就寝。


*1:お酒のアトリエ“吉祥”。この日記を書くときに検索してみると、 していた。


2002年 1月 6日 (日)

今日の出来事

_

7:30 くらいに起床。テレビ朝日の日曜日朝はなかなか変な番組ばっかりやってる とかいろいろ。綱島駅まで江州さんに送ってもらう。

_ 補完

昨日の日記を補完。

FreeBSD

_ locale rename

*.EUC -> *.euc* への locale rename が MFC。 4.5-RELEASE 直前のこの時期に MFC するのはちょっと...。


2002年 1月 7日 (月)

FreeBSD

_ locale rename (続)

結局、 4-STABLE への変更は backout されることになった模様。

とはいえ、次の次である 4.6-RELEASE までには MFC される可能性が非常に 大きいので、 ports 等の対応を進めなきゃ。


2002年 1月 8日 (火)

FreeBSD

_ locale rename (続)

いろいろと議論が続く。

となるかもしれない。

今日の出来事

_ 酒リスト

江州さんが調べてくれたので 新年会の時のリストを訂正。


2002年 1月 9日 (水)

FreeBSD

_ locale rename (続)

結局、 EUC 関係だけ backout された。

Web 日記から

はかますきーさんの こちらのネタ。最寄り駅はだいたい検討がついた *1のだが、「快速を使って乗り換え一回で戻れたことがある」というのがちょっと 不思議。検索してみたのだが、快速は「ホリデー快速甲州号」 *2のことかな。初夏くらいの土休日に武蔵野線と中央線経由で大宮と甲府を 結んでいた臨時快速。とすると乗り換え駅は甲府。

ただ、この列車は一昨年まで運転されてたみたいだけど、 去年は設定されてなかったと思う。


*1:回答を Web に書くのは躊躇したのでメールした。
*2:を参照


2002年 1月 10日 (木)

FreeBSD

_ ppp (続)

ここから延々と続いているネタ。最近だと こちら

サーバを今日の 4.5-RC に上げてみた。ときどき PPPoE のコネクションが 切れるのだが、その際には

Jan 10 23:30:41 ppp[XXX]: tun0: Phase: Received NGM_PPPOE_CLOSE (hook "tun0") 
Jan 10 23:30:41 ppp[XXX]: tun0: Phase: deflink: Device disconnected 
Jan 10 23:30:41 ppp[XXX]: tun0: CCP: deflink: State change Stopped --> Closed 
Jan 10 23:30:41 ppp[XXX]: tun0: CCP: deflink: State change Closed --> Initial 
Jan 10 23:30:41 ppp[XXX]: tun0: Phase: deflink: open -> lcp 
Jan 10 23:30:41 ppp[XXX]: tun0: IPCP: deflink: LayerDown: XXX.XXX.XXX.XXX
[snip]
Jan 10 23:30:41 ppp[XXX]: tun0: Phase: deflink: Enter pause (3) for redialing. 
Jan 10 23:30:44 ppp[XXX]: tun0: Phase: deflink: Connected! 
Jan 10 23:30:44 ppp[XXX]: tun0: Phase: deflink: opening -> dial 
Jan 10 23:30:44 ppp[XXX]: tun0: Phase: deflink: dial -> carrier 
Jan 10 23:30:45 ppp[XXX]: tun0: Phase: Received NGM_PPPOE_SUCCESS (hook "tun0") 
Jan 10 23:30:45 ppp[XXX]: tun0: Phase: deflink: carrier -> login 
[snip]
Jan 10 23:30:46 ppp[XXX]: tun0: IPCP: deflink: LayerUp. 
Jan 10 23:30:46 ppp[XXX]: tun0: IPCP: myaddr XXX.XXX.XXX.XXX hisaddr = XXX.XXX.XXX.XXX 

という感じで再接続しにいくようになった。

どうしてこうなったのか理由は検証していない *1けど、前に比べたら良くなったかな。


*1:ちょうど今日の朝に Flets ADSL のメンテナンス工事があったので、 Flets ADSL 側に設定変更があってそれが影響しているのかもしれない。

今日の出来事

_ SPAM 業者保護育成

するための省令改正が決まったらしい ( 経済産業省の PDF)。 Subject: に !連絡方法無!とさえ明記すれば、 SPAM 受け取り拒否の窓口を設ける必要がない。 相手の意向に関係なく勝手に送りつけ続ける行為に 経済産業省がお墨付きを与えたわけですね。手元の端末で読まずに捨てることは可能だけど、携帯電話や PHS で 「受信するのにお金がかかる」という問題は相変わらず。

電話会社側で特定 Subject: のメールをフィルターするようなサービスも 考えられるけど、こんなフィルターしにくい文字列 *1にしているところは明らかに SPAM 業者保護育成が目的だからだろうな。


*1:文字コードを変えたり MIME encoding するパターンを変えたりして 何種類ものパターンが簡単に作れそう。


2002年 1月 17日 (木)

FreeBSD

_ ppp (続)

これの続き。

Jan 16 16:00:01 ppp[XXXX]: tun0: Phase: deflink: write (1): Message too long 

というエラーが出て ppp が異常終了する原因がとりあえず判明。

_ 原因

これは src/usr.sbin/ppp/physical.cの 810 行め付近の

ssize_t
physical_Write(struct physical *p, const void *buf, size_t nbytes)
{
  log_DumpBuff(LogPHYSICAL, "write", buf, nbytes);

  if (p->handler && p->handler->write)
    return (*p->handler->write)(p, buf, nbytes);

  return write(p->fd, buf, nbytes);
}

の write が失敗するために発生している。ここは PPP で接続先にデータを送る 書き込みをする部分。エラーになるデータを dump してみると

00 21 60 06 62 c2 00 20 06 40 3f fe 05 05 20 22  .!`.b.. .@?... " 
00 00 00 00 00 00 00 00 00 01 20 01 02 18 04 99  .......... ..... 
00 01 00 00 00 00 00 00 00 02 00 50 0d d5 ac 44  ...........P...D 
35 29 44 e3 14 c1 80 11 81 c4 08 fd 00 00 01 01  5)D............. 
08 0a 00 1b b3 63 00 30 63 3a 63 2e              .....c.0c:c.

のようになっている。これは PPP のカプセル化されたデータ (RFC 1548)。 最初の 00 21 が protocol field で、以降のデータが IP であることを示している。

次の 60 以降が IP パケットだが、 6 で始まることから明らかに IPv6。

IPv4 Header Format (RFC 791)

    0                   1                   2                   3   
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version|  IHL  |Type of Service|          Total Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IPv6 Header Format (RFC2460)

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version| Traffic Class |           Flow Label                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IPv4 Header で Total Length が格納されているところは IPv6 Heaer だと Flow Label となっている。 PPP は Flow Label のデータを IP パケット長 と勘違いし、巨大な IP パケットを送り出そうとしているらしい。でも、 PPPoE では MTU 以上の大きさは送れないので write が失敗している。

physical.c の physical_Write() の引数 nbytes には Flow Label から計算される 値が入っているのを確認できた。

_ とりあえずの対策

tun0 から IPv6 パケットが出ていこうとするのが原因なので、これをフィルター すれば良い。

# ip6fw add deny log all from any to any via tun0

を行えばよい。10 時間ほどテストしたがこれで大丈夫みたい。

状態が悪いときには 2 〜 3 分に 1 回 ppp がエラー終了していたので、 対策できてよかった。

同じ例が報告されてないのが不思議だった点も納得。 12 月下旬以降の 4-STABLE kernel なマシンを PPPoE な IPv6 ルータとして使っている人が非常に少数派という だけなのだろう :-)。

_

kernel 内部のコード *1のどの変更が原因かはまだ調べてない。

謎は、なぜ tun0 から IPv6 パケットが出ていこうとするのかということ。 IPv6 の default route は gif0 に向いているので tun0 から出るのは明らかに変。 ip6fw でフィルターしたログを調べてみても gif0 から出ていくべきパケット ばかり。


*1:に書いたが、問題が発生するようになったのは去年の 12/12 と 12/23 の間。 /usr/sbin/ppp のコードは変化してない。

最近の出来事

_ 買ったもの


2002年 1月 18日 (金)

今日の出来事

_ 買い物

SD は龍池さんと波田野さんが記事書いてる。浅見さんは多忙で core を辞任したことを自分で書いてる。 SD の連載も近くやめるみたい。

(1/19 追加: typo 修正しました。指摘ありがとうございました)

_ ビデオ

録画していたビデオを鑑賞。主題歌が KEY の折戸氏作曲, I've アレンジだというので おねがいティーチャーを見てみたんだけど、うーんこういう話ですか (^_^;;。

FreeBSD

_ IPv6, ppp

問題は二つ。

  1. (default route が向いている) gif0 ではなく tun0 から IPv6 パケットが が出ていこうとする。
  2. その IPv6 パケットが原因で ppp が即死する。

某所の IRC で聞いてみた結果、前者は以前から発生していた模様。 12/12 から 12/23 の間に 4-STABLE に加えられた変更で後者が発生するように なったみたい。


2002年 1月 20日 (日)

昨日の出来事

_ CBUG 新年会

at 調布。一次会は洋風居酒屋だった。飲み放題コースを頼んだのだけど 注文してからテーブルに届くまでの RTT が極端に長い店で駄目。

二次会は南口に移動して別の居酒屋。ここで 五反田さんが合流。

23 時過ぎくらいに解散。一次会からかなり飛ばしていたのかけっこう酔ったよ。 帰宅してからしばらく IRC して就寝。


2002年 1月 23日 (水)

最近の出来事

_ 忙しい

本業方面がけっこう大変。


2002年 1月 27日 (日)

最近の出来事

_ 1/25 (金)

肉体会へ。忘年会のような特別なイベントでもないのに 20 名以上集まりますか。 いつも通り肉をいっぱい食べて帰還。

NetBSD

_ snapshots

久しぶりに作成。


2002年 1月 28日 (月)

最近の出来事

_ 多忙

思わぬ用事が多発して、反応が大幅に遅れています。ごめんなさい。


2002年 1月 29日 (火)

今日の出来事

_ 買い物

amazon.co.jp に注文してたのが届いた。

Shooting Star のほうは amazon.co.jp のミュージック CD HOT 100 で 2 位を 続けているよ。すごいと言うべきなのか、 amazon.co.jp の利用者が偏っている と言うべきなのか。

_ メール処理中

ちょっと読まないうちに未読がすごい数になってるよ (;_;)。


2002年 1月 30日 (水)

Flets ADSL 8M

今日の昼過ぎに工事。電話がちょっと鳴った *1と思ったら ADSL の接続が切れ、数分後には 8M で接続できた *2。速度は

1.5M 8M
下り 1200 kb/s 2600 kb/s
上り 440 kb/s 640 kb/s

といった感じ。


*1:電話局での回線切り替えを始めたためだろう。
*2: NTT レンタルのモデムは 1.5M / 8M 共用なので、あらかじめ新しいモデムに 交換しておいた。


2002年 1月 31日 (木)

NetBSD

日本のサーバにミラーされてきている CVS リポジトリが変。 cvsup.jp.NetBSD.orgから CVS リポジトリを取ろうとするとエラーになる。 cvsweb.NetBSD.orgも一部のファイルが見れない。

今日の出来事

_ 買い物

近所の本屋にて。


以上、18日分です。