Last Modified : | 01/20 20:10 |
Access : | |
tds mode : | [static,site,cache:on] |
VisualC++でコンパイルする際は、strncasecmp を strnicmp 関数にする必要がある。といっても w95 判定のみなので個人的には削っても関係なし。 また、WideCharToMultiByte, MultiByteToWideChar が元々WINAPIを直接呼び出すよう実装していたところ無理やり関数を上書きして使っているところでこける。 Win2000/XP環境であればWINAPIを直接呼べばいいだけの話なので、上書き関数を実装しているところを削除すればOK。 また、PuTTY自体のソースツリーにIPv6パッチが取り込まれているのだがこちらは全くうまくいかない。そもそも FIXME とだけ書いてあって絶対にコンパイル通らないところすらあったし。ただしバイナリを配っているサイトは google で探せばすぐに見つかる。
MicroSoftIPv6化するためのガイド によるとまずはWinsock2ベースにする必要がありそうで、PuTTYもmakefileに COMPAT=/DWINSOCK_TWO を指定すれば使うようなことが書いてある。 これを指定すると windows.c と scp.c のコンパイル時にこけるのだが、windows.h より前に winsock2.h をインクルードすればOK。
#ifndef AUTO_WINSOCK #ifdef WINSOCK_TWO #include <winsock2.h> #else #include <winsock.h> #endif #endif #include <windows.h>
でIPv6化についてはコンパイルだけは通るようにしたけど簡単にはつながらず。まじめにコーディングが必要な雰囲気。
SEL?の選択をなんとかすればドッチーモ64kにつなぐのもできそうだ。萌え〜 これまたゴマ粒電子工作なり。
1Mbpsで配信されるキューピー3分クッキングを見ながら、税金の無駄遣いを感じてみたり。 IPv6接続は会社のOCN。
これからnamedの設定しなきゃ逆順にしたエントリ作るのめんどいなー。 と思った時点ですでにnamedが「そんなの知らねえ」とログを吐いてくれていたのでコピペで済んだ。逆引き作成支援ツールがどっかにはあると思うが。
Impressのv6ポータルサイト。のようだがSKKとIPv6とどういう関係が…趣味? Apache1.2.23用のIPv6パッチがどうしても見つからず、どうやらApache2.x系列に飛び込めという方針のような雰囲気。 まあログの形式が変わってしまったりListenの形式が変わって httpd.conf がv4だけ環境でも互換じゃないという問題もあるからApache2.x系列でv6専用バイナリ作るのもいいか。
CSSファイルを外部化していろいろいじる。カレンダーのところのフォントだけはどうにもならず、直接ソース変更して class=calendar を追加。 Scheduleのところの list-style-type を指定するのにも class を指定したかったのだが、なぜか template.ph で指定しているところを変更しても反映しない。 その割には同一ファイルの別の場所を変更すると反映する要素もあったりするので何か指定方法が変だろう、とは思うのだが追うのはあきらめて大雑把に UL 要素全部のlist-style-type を指定して逃げる。先頭に黒丸のリストって大体においてかっこ悪いし。
パッチなしで IPv6 + SSL がさくっと完成。素晴らしい。modperl 2.0beta もあるようだしテストテスト。
OpenBlocksのおと(http://www.mimori.org/~h/openblocks/vtun.html) は以前 http://www.mimori.org/~h/vtun.htmlに置いてあったのだが、バイナリファイルを置くにあたってディレクトリを作って移動。その際面倒がってシンボリックリンクでどちらからでも参照できるようにしていたのだが、 バイナリファイルのダウンロードパスは相対パスで記述していたため、旧URLからだとダウンロードできないことがアクセス解析で判明。 google でやってきていた人すみません…チョー手抜きな「移動しました」HTMLファイルを作成して対応。
TDSにはカテゴリをつけて検索しやすくできる機能があるのだが、どうカテゴリ化してよいのやら悩み続けている。 静的モードの理由の1つが google に見つけてもらうためだし、こんなとこに人力使わなくてもなあ、と思ってるのも気が進まない原因。 どっちかというと namazu 対応サイトにした方が超整理法的な解決でいいんじゃないかと。ただジャンプのカテゴリ指定がなあ…
こういう税金利用は歓迎。しかしこの話題にして連絡先にメールアドレスがないのはどうか? (原文ではカギカッコが半角だった…)
SunOS5=Solaris 周りの修正が中心かな。機能的には H.323 proxy の追加がでかい。
以前のv6パッチだと Listen ディレクティブにおいてIPアドレスとポート番号をスペースで区切る(通常はコロン)ように変更されていたのだが、 2.0.32はコロンのまま。マニュアルの Listen のところに表記法についての記載がなかったので直接ソースを読んで調査。 IPv6 アドレスは必ず[]で囲む。すべてのIPv6アドレスのポート80で待つのであれば
Listen [::]:80
となる。
RTA54iでの接続を試したらそのままで通った。やはりIDがhi-hoに登録されてなかっただけらしい。
TV操作機能があるが選択できるメーカーが東芝のみ。うちのTVはSONY製なので全く役に立たない。 いきなりネットワーク経由で「心理テスト」なるメッセージが飛んできた。不思議なり。次に来たのは天気予報。
ベースノードとHUB間にCISCOの AIR-PWRINJ1 なる機械がはさまっている。電源ユニットの方がでかい謎の機械だが、 Connecting Cables on 350 Series Access Points(http://www.cisco.com/univercd/cc/td/doc/product/wireless/airo_350/accsspts/ap350hig/ap350ch2.htm#xtocid683510) を見る限り、単にCAT5ケーブルのどこかに電源を供給するだけのもののようだ。もちろん普通のEther機器をつないだ場合のフェールセーフ機構が入っているんだろうが… 普通にACアダプタつないだ方がましなんじゃ?
録画予約しかできない。「ビデオの電源を入れる」とか「チャンネル変える」とかの単体の操作がしたいんだけど…… そして録画予約ではBSチャンネルから地上波チャンネルへの切り替えに失敗。
時刻合わせのインターフェースが全くないところを見るとNTPあたりで同期してると思うのだが、v6で公開されているサイトがあるのかな。 パケットモニターしてえ。RTA54iのLAN側HUBってダムHUBだったかな。
Apache 1.x ではユーザディレクトリURLの中に /~ があるかどうかで処理を分岐していたのが どうもこの処理が実装されていないらしい。ということで suEXEC が期待通りに動かない。 これでは既存のサイトの移行は出来ないなあ。
--with-suexec-docroot=/home を指定して /home 以下なら全部通すようにしてしまう。 よほど間抜けな httpd.conf を書かない限りは大丈夫だと思うのだが。
どっちかというとローカルユーザが直接 suexec をたたいて悪さしようとするのが問題なのか。
勝手にHTTPヘッダの中に charset=ISO-8859-1 がくっついてくる。やめてー
httpd.conf に
AddDefaultCharset ISO-8859-1
と書いてあったのが原因。サーバ全体として何を指定するのかはかなり悩ましい。日本語環境だととりあえず削除かなあ。 .htaccess に AddDefaultCharset EUC-JP と書いておくのはよさそう。
AddHandler server-parsed .html の代わりに AddOutputFilter INCLUDES .html を指定する。 DirectoryIndex index.html で指定された時に、ディレクトリアクセスに対する index.html へのSSIは適用されなかった。 リダイレクトで飛ばしてしまうか。
主に tcpserver をIPv6化するためのパッチ rules ファイルには単純に
::1:allow fe80:::allow 2001:218:45e::allow
のように記述する。基本的に先頭からの文字列の比較なのだが、 省略可能な0は省略した形式で記述する。IPv4で可能だった数値による範囲指定はできない模様。
どちらかというとハリポタに否定的な意見しか聞こえてきてなかったので今まで読む気がしてなかったのだが、この感じからすると読むと面白く読めそうだ。 ハリポタ・指輪物語ともこれから映画が続く訳で、3年後までの間ある程度「作られたファンタジーブーム」が来ることは間違いない。 そんな中でジブリが作る映画がどうなるかは結構楽しみ。
現存するすべてのパッチを当てていても、 ActiveX,Java,JavaScriptを切っていても「回避方法なし」の恐ろしいセキュリティホール。しばらくネスケで暮らすかな…
cvsup が modula-3 で開発されていたのが災いしてどうもないようだ。でもって cvsup[356].jp.freebsd.org の方はv6アドレスが振られてはいるが、port 5999 では待っていない。
PocketPC用のターミナルとしてはこいつがいいんじゃないかという噂。説明に「ターミナルソフト」の文字が入っていないのがミソ。つーか検索しずらい。 でもって PortForwarder を使えば一応SSHで暗号化した通信可能らしい。SSHターミナルじゃなくてSSHポートフォワーディング+telnetだが。
stone みたいなパケット中継プログラムでIPv6/IPv4両対応。困った時に使うかも。
で google を検索したはずなのにトップで出てきたのは ruby …いっそrubyに移行しろっつーことか? 使ってるモジュール調査したところ、CGI, Time::Local, GetOpt::Std, File::Basename, File::Path, FileHandle, Fcntl(ロック用), Jcode。 んー楽勝で全部揃っている雰囲気。まだ2000行ぐらいしかないソースだしなあ。(除く JavaScript) そういや cosax ってばイテレータ処理のかたまりみたいなもんだし、 ちゃんと設計すればかなーりびゅーちほーなコードになるはずだ。なんか燃えてきたぞ。
一応値段なりぐらいに面白かった。インプモン(ベルゼブモン)とクルモンがもうちょっとからんでくれる方がよかったな。 あと、二手に分かれたテイマーズが合流するあたりをもうちょっと盛り上げる演出はなかったもんかなあ。あるいはパラサイモンがヤッターワン(仮称)に寄生してみるとか。
Allow などの引数にするIP表記文字列をパースするのは srclib/apr/network_io/unix/sa_common.c の apr_ipsubnet_create 関数を確認したところ、/ の前の文字列に対して直接 apr_inet_pton を呼んでいる。すなわち、 IPv6アドレスを []で囲んではいけない。
<Proxy *> Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 10.0.0.0/8 Allow from 172.16.0.0/12 Allow from 192.168.0.0/16 Allow from 2001:218:45e::0/48 </Proxy>
事務局側からアクセスのためのURLが届いた。
IPv4インターネット側からのアクセスURLは次のようになります。
という文面なんで、やはりDoCoMoから直接IPv6へのアクセスはできないようだ。IPv6 である必然性がますます薄く感じるんだけどー J-SKYからはアクセスできません、とマニュアルに明記してあったのでアクセスしてみると、「応答できません」という反応。 User-Agent に対して何か処理してるのかな。 テレ東を録画予約したと思わせてBS1の録画するか(笑)NFLとオリンピックが終わってNLB開始まではNBAざんまいだ。
AUTO-PROXY-CONFIG で検索すると出てくる<DHCPの設定に残ってたから 以前は自分の日記からたどっていたがURLが変更になっている。 こいつでIPv6関連の設定をどうやるかが分からん。IEAK6を持ってきたが何も新しい情報はなし。
JavaScript または JScript を使った自動プロキシ ファイルの例 にIPv4時代の例が置いてあるが、なんにしてもデバッグのしようがないのがなー。プロキシ先のポート番号をエラー番号に見立てて、パケットモニターするとかか?
2.4系カーネルで帯域制限・IPv6・multicast その他もろもろのドキュメント総本山。
diffserv サービスごとに帯域制限をかけるためのドキュメント? カーネル構築のオプション設定は参考になる。ただし Network Options → QoS and/or fair queueing → TBF queueを追加しておくこと。
上記diffservに置いてある iptables2 をOpenBlockSS環境でコンパイルすると失敗した。…ってFTPで直接見にいったら2.2.4用やん。ということで、 iproute2-2.4.7-now-ss010824.tar.gz(ftp://ftp.infoscience.co.jp/pub/linux/ip-routing/iproute2-2.4.7-now-ss010824.tar.gz) を持ってきて無事コンパイル完了。iproute2 ってringに置いて…ないなあ。
Linux Advanced Routing & Traffic Control HOWTO の Simple, classless Queueing Disciplines がインターフェースに対する単純な帯域制限のドキュメント。
tc qdisc add dev eth0 root tbf rate 64kbit latency 50ms buffer 10000
変更したい場合は add のところを change にする。削除は以下の通り。
tc qdisc delete dev eth0 root tbf
とりあえず OpenBlockSS用カーネル+ ramdisk の/sbin に tc他 iproute2 コマンドを置いたファームウェアを zImage.initrd.treeboot.vtun_qos に置いてある。
ここではカーネル再構築時に QoS 以下のオプションを全部ONにする、と書いてあってカーネルオプションが足りてないのが判明。
BSD系のリンクと例も載っている。Linux関連のリンクはすでに全て閲覧済みであった。
HTB Linux queuing IPアドレスベースのやり方も書いてある。パッチも新しい。
IPv6モニター事務局から参加者向けアナウンス用MLに、参加者からメールを出すと配布されてしまうのが発覚。まーどうせそれなりの技術者ばかりと思ってるので別にいいんですが。で
はどうなってるのかなとちょいと調査。
% dig v6pc.jp mx ; <<>> DiG 8.3 <<>> v6pc.jp mx ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 6 ;; QUERY SECTION: ;; v6pc.jp, type = MX, class = IN ;; ANSWER SECTION: v6pc.jp. 1D IN MX 10 v6pc.jp. ;; AUTHORITY SECTION: v6pc.jp. 1D IN NS ns1.v6pc.jp. v6pc.jp. 1D IN NS ns2.v6pc.jp. v6pc.jp. 1D IN NS ns-tk061.ocn.ad.jp. ;; ADDITIONAL SECTION: v6pc.jp. 1D IN AAAA 2001:218:1f02::11 v6pc.jp. 1D IN A 211.132.186.249 ns1.v6pc.jp. 1D IN AAAA 2001:218:1f02::10 ns1.v6pc.jp. 1D IN A 211.11.175.130 ns2.v6pc.jp. 1D IN A 211.11.175.132 ns-tk061.ocn.ad.jp. 11h20m15s IN A 202.234.233.103 ;; Total query time: 19 msec ;; FROM: ******** to SERVER: default -- 192.168.1.3 ;; WHEN: Wed Mar 6 01:59:47 2002 ;; MSG SIZE sent: 25 rcvd: 227 % telnet -6 v6pc.jp 25 Trying 2001:218:1f02::11... telnet: connect to address 2001:218:1f02::11: Connection refused telnet: Unable to connect to remote host
だめぢゃん。
タブブラウザDonutRにしてからGoogleツールバーがなくなったのが痛いなーと思ってた。日記閲覧者のログを見てたらLunascapeなるブラウザがあるのが判明。 検索機能がかなりツボな雰囲気なため移行決定。あとお気に入りごとにJavaScript設定とかできるらしい。HotMailやMSNはJavaScriptないと見れないからなーあとcosax ^^;
というのもあったけど、カスタマイズ重視、レジストリ使わなそげなため却下。ターミナルサービス生活してるとレジストリじゃないとね。(メーラはALMailだが)
BSD系での帯域制限に使うdummynet。ip_filterと共存できるかどうかは不明。 共存ぐらいは出来ると思うが。ただどっちが先に適用されるかはやってみないと分からない。
この例を見てたら、ipfw 使えばソースアドレスによるルーティングが出来ることに気づいた。 1台のマシンからBフレッツ2セッションを張った場合、2つのセッションのどちらから来たとしても 通常はデフォルトルートに流れてしまう。 route コマンドで設定できるルーティングはどうがんばっても「宛先」ベースであり、 どっちのセッションから来たか(マシンから出るパケットのルーティング的にはソースアドレス)で判断することは出来ない。 RIPを使おうがOSPFを使おうが状況は変わらず。BGPは分からないけどだめそげ。
で、ipfwコマンドならソースアドレスで行き先のインターフェース指定できるように読める。 このインターフェースに対してip_filterベースのNATがかけられるかどうかが課題だ。
帯域制限に関するすべての状態は、インターフェース毎に独立して保持されている。
tc qdisc del dev eth0 > /dev/null 2>&1 tc class del dev eth0 > /dev/null 2>&1 tc filter del dev eth0 > /dev/null 2>&1 tc qdisc del dev eth1 > /dev/null 2>&1 tc class del dev eth1 > /dev/null 2>&1 tc filter del dev eth1 > /dev/null 2>&1 # eth0 tc qdisc add dev eth0 root handle 1: htb default 99 # デフォルトのクラスは 1:99 になる tc class add dev eth0 parent 1: classid 1:1 htb rate 90000kbps burst 12k # 全体は90M tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10000kbps burst 12k # 優先パケット tc class add dev eth0 parent 1:1 classid 1:99 htb rate 8kbps burst 12k # デフォルト # 優先パケットの定義 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 161 0xffff flowid 1:10 tc qdisc add dev eth0 parent 1:10 handle 11: sfq perturb 10 tc qdisc add dev eth0 parent 1:99 handle 91: sfq perturb 10 # eth1 tc qdisc add dev eth1 root handle 2: htb default 99 # デフォルトのクラスは 2:99 になる tc class add dev eth1 parent 2: classid 2:1 htb rate 90000kbps burst 12k # 全体は90M tc class add dev eth1 parent 2:1 classid 2:10 htb rate 10000kbps burst 12k # 優先パケット tc class add dev eth1 parent 2:1 classid 2:99 htb rate 8kbps burst 12k # デフォルト # 優先パケットの定義 tc filter add dev eth1 protocol ip parent 2:0 prio 2 u32 match ip dport 161 0xffff flowid 2:10 tc filter add dev eth1 protocol ip parent 2:0 prio 2 u32 match ip sport 80 0xffff flowid 2:10 tc filter add dev eth1 protocol ip parent 2:0 prio 2 u32 match ip sport 22 0xffff flowid 2:10 tc filter add dev eth1 protocol ip parent 2:0 prio 2 u32 match ip sport 23 0xffff flowid 2:10 tc qdisc add dev eth1 parent 2:10 handle 12: sfq perturb 10 tc qdisc add dev eth1 parent 2:99 handle 92: sfq perturb 10 # tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip protocol 108 0xff flowid 1:10 # プロトコル番号(ICMP/OSPF)ベース # tc filter add dev eth1 protocol ip parent 2:0 prio 2 u32 match ip src 192.168.251.248/29 flowid 2:10 # 送信元IPアドレス # tc filter add dev eth1 protocol ip parent 2:0 prio 2 u32 match ip dst 192.168.251.248/29 flowid 2:10 # 送信先IPアドレス
状況を見るには以下の通りだが、tc filter show の表示は定義で利用したのとかなり違うのでわかりずらい。
tc -s qdisc show dev eth0 tc -s class show dev eth0 tc filter show dev eth0
-s オプションはトラフィックを監視できるので便利。
ほとんど徹夜&昼ご飯抜きで体調最悪。あおり文句通りの抱腹絶倒笑殺劇(生ロックバンド付)だったらそれでもOKだと思っていたのだが…
なんにしてもシェイクスピアなぞ読んだことがないので、何のパロディか分からないまま矢継ぎ早に場面が展開し、ストーリーがさっぱり分からん〜と感じたのでかなり睡眠。 音楽もせっかくの生演奏がしっくり来ることがなく、いんど屋敷の時のギターにーちゃんキックはかっこよかったなーなどと思い出していたり。 更に席が狭い上に4時間という時間も苦しいので、現状では15日のチケットは捨てたい気分だったりなんかしてー
ld.so.1 のダイナミックリクへのパスが /usr/local/obS/lib/ld.so.1 と絶対パスで埋め込まれてしまう。 ldconfigの結果などは ld.so が検索するものなので、まずこれが読み込めないことには手も足も出ない。 従って、/usr/local に自分でマウントするような環境ではバイナリが実行できなかったりする。 セルフコンパイル環境であれば、通常これは /lib/ld.so.1 にリンクされる。 setuid, setgid プログラムの場合 LD_LIBRARY_PATH が無視されるという状況もあり、かなりどうにもならない。 そういう意味では Solaris の解決策(-R でダイナミックリンクへの検索パス集合を指定する)はよく出来ているかなあ。知らないと最初に困るけど。
クロスコンパイル環境において、/usr/local/obS/lib/ld.so.1 を指定しているのは /usr/local/obS/gcc/lib/gcc-lib/powerpc-unknown-linux-gnu/2.95.3/specsであるが、リンク時に ld.so.1 を参照しようとするので、CPUアーキテクチャが異なる場合はやっかいだ。
みたいな感じになるのだろうか。
うちの場合PPC iMacだから、/usr/local/obS/gcc/lib/gcc-lib/powerpc-unknown-linux-gnu/2.95.3/specs を書き換えて完了。
もともと/lib がないので直接ここに置けばOKすな。ただし現状ではクロスコンパイル環境を作ろうとして失敗した経験しかない…
たまーにフロッピーもCDROMもないマシンを作りたくなり、そういう時に役に立ちそうなネットワークブートの話。 ブートしてしまえばこっちのもんだ。
sshで1段トンネルを作ってから外に出ないといけない環境で日記の更新(CVS over ssh)について、 一時的に ~/.ssh/config を変更することによって対応できた。CVS_RSH スクリプトをかぶせる時に、sshのオプションでこのファイルを指定できるとよいのだが。
Host www.mimori.org HostName localhost Port 8022 CheckHostIP no
OpenSSHのセキュリティホール。FreeBSDでも早速パッチが出ているのであわてて手近のマシンすべてのインストール作業実行。
NTPパケットを multicast で送信してアバウトにクライアントを同期させたいと思っていたのだが、デバッグモードで動かしてたら 結局 multicast アドレスとパケットのやり取りをするのであって パケットもらうだけというわけではないらしい。これだと普通に server 指定するのとトラフィック的にはあまり変わらないような。 確かに NTP on multicast の利点として「設定が環境依存でない」というのしか見なかったかもしれない。それだったらDNSで ntp.ほげ を作っておくだけで十分。
transmit: at 327 192.168.0.5->224.0.1.1 mode 3 receive: at 331 224.0.1.1<-192.168.0.1 mode 5 code 5 auth_agekeys: at 360 keys 1 expired 0 transmit: at 393 192.168.0.5->224.0.1.1 mode 3 receive: at 397 224.0.1.1<-192.168.0.1 mode 5 code 5 auth_agekeys: at 420 keys 1 expired 0
SNAPで配布してないのは KAME Project に書いてある通りだが、ftpしに行ってみたら STABLE, RELEASE のディレクトリが閉じられている。 確かにパッチ当ててまでv6化するぐらいなら 4.x に上げた方がましかも。
とあるrootサーバへの問い合わせのうち、7%がプライベートIPでかわいそう、らしい。 なのでこんなのとか。DUMMYファイルにはSOAとNSレコードだけ書いてある。
zone "8.e.f.ip6.int" { type master; file "master/DUMMY";}; zone "10.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.16.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.17.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.18.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.19.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.20.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.21.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.22.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.23.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.24.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.25.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.26.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.27.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.28.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.29.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.30.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "172.31.in-addr.arpa" { type master; file "master/DUMMY"; }; zone "168.192.in-addr.arpa" { type master; file "master/DUMMY"; };
IPv6のlocalhost足しとかなきゃ。
「設定ファイルは CGI スクリプトの出力を利用すると、より便利になるでしょう」…すっかり忘れておりました。 発信元のブラウザがIPv6だったら全部特定のマシンのproxy使うとかそのぐらいかな。
ChangeLog は 2001/10/13 からスタートのかなり新しいモジュール。ruby本読んでてCでモジュール作るのはかなり楽勝だなーと思ってたのでやる人いると思ったが。
ここまであれば証明書ベースで認証する中継サーバ書くのはかなり楽かな?
分散ruby 面白そうだがやはりSSL化は必須であろうー
Snifferみたいなやつでフリーのパケットキャプチャソフト。Vecterで探した時はシェアウェアしかなかったんで。 IPv6対応、フィルターの書き方が tcpdump 方式のテキストといい感じ。
パケットキャプチャするのにIPv6スタック関係ないと思ってたけど、アドレス文字列の変換に必要だった。
MFCの CSocket を定義している SOCKCORE.CPP を winsock2 ベースに書き換えてやれば MFCベースのアプリケーションがかなり楽にv6化できると思われる。 やりたいのは GPGrelay だけだったんだけど、ソース追ってたらそういう結論に。
メニューは英語なのにリソースのlocaleがドイツ語だ…マルチランゲージなリソースにもしてみたいかも。
これで ip_filter ベースの発信元アドレスによるインターフェース(複数のpppセッションを張った時の経路)の選択ができそう。
OpenBlocksメーリングリストで FreeBSD-current でのクロスコンパイル環境の作り方が投稿されていたので 実験してみた。
glibc の configure で config-name.h 作成されるようなのだが、作成されず途中で止まってしまった。 config-name.in を見ると重要じゃないらしいので、手で作ってみる。
/* @configure_input@ -*- C -*- This is used only by the generic `uname' function for systems with no real `uname' call. If this data is not correct, it does not matter much. */ #define UNAME_SYSNAME "Linux" #define UNAME_RELEASE "2.4.10" #define UNAME_VERSION "2.4.10" #define UNAME_MACHINE "powerpc-linux"
また、uname の挙動と関係ありそうだったので、GNU Shellutils を入れておいた。 portsより misc/sh-utils-2.0 をインストール。
しかしそれでもうまくいかない。別のところに問題がありそうだ。
近所の映画館で最終上映21:30開始0:38終了といういかにも人が少なそうな回があったので行ってみる。夕飯を食べた後の若者集団が数グループとがらがら。 やはりエンディングテロップが始まった時の「え、うそ!?」「まじかよー」の声を聞くのが楽しい(笑)ハリポタじゃないんだからさー第一部に終わりっぽい終わりがあるわけなかろう。
字幕については、韋駄天があまりに強烈で他には記憶なし。僕にとっては馳夫さんだけど、原書で育った井辻朱美さんなんかは馳夫に違和感感じるという話もあるし、 ことファンタジーについては原作と翻訳で別の世界が広がるというのもアリではないかと。
ストーリーとしては「旅の仲間」という副題がすっとんだのもうなずける。ホビット達が馳夫さんと最初会った時はかなり疑心暗鬼に接していたのが、旅を続けるにつれ強い信頼で結ばれるようになったり、 ロバのビルとサムの話も全然ない。ビルとモリアの入り口で別れを惜しむ場面、いきなり「こんな優秀なロバ」になっていたのは唐突すぎ。 ゴラスとギムリが民族の対立を超えて無二の親友になる流れもなし。ロリエンでギムリ側は若干喧嘩腰だったけど…この場面目隠ししないし。
「指輪物語」としては一つの指輪に対する表現がものすごくよくできていて文句なし。いきなりサルマンとガンダルフの戦いに持ち込んだところもうまかったんではないかと。 やはり映画は画面は派手じゃないとねという意思が伝わってくる。おそらく残りの2作もフロド・サム・ゴクリ3人旅はそこそこに、ゴンドール王英雄物語が大半を占めると予想。 3人旅の方さすがにシェロブとの対決は絶対あると思うが(エレンディルの星もらった話だけ不自然に残ってたし ^^;)、イシリエンでファラミアと会うかどうかは怪しいかな。
OpenBlocksユーザメーリングリストにも流したが、素にかなり近いFreeBSD-4.5Rで戦った時のメモ。
ホスト FreeBSD に GNU sed, awk がインストールされている必要がある。 せっかくなので日本語処理付の ja-sed-3.02_1, ja-gawk-3.0.6 をインストールした。 PATHは /usr/local/bin を最優先に。
現在ports の devel/gettext は 0.10.35 だが、glibc-2.2.4 は 0.10.36 以上を要求している。 そのため、 devel/gettext-devel をインストール。 また、configure がこの msgfmt を見つけられるよう以下のリンクを作成しておく
# cd /usr/local/bin; ln -s msgfmt-new gmsgfmt
こいつがないとCPU/OSのアーキテクチャを誤認識して、sysdeps/generic/uname.c をコンパイルしようとして config-name.h が無いと言ってみたり、 i386用の sysdeps/unix/fork.S をコンパイルしようとして失敗してみたりするようだ。
config-name.h については、config-name.in を読むとにてきとーに作っても通るみたいな雰囲気があったので、手で config-name.h を書いたりしてかなり時間を食った。
うちのFreeBSDには半自動的に入っているので確認してないがたぶん必要
glibc-linuxthread-2.2.4 の展開は glibc-2.2.4 の下へ行う
まずぷらっとホーム提供のカーネルソースを linux/ に展開する。 (このソースはクロスコンパイルできるような変更が行われている) また、bashが /usr/local/bin/bash にインストールされているとして linux/ に移動した後、以下のスクリプトを起動
#!/bin/sh PATH=$PWD:$PATH ln -s /usr/local/bin/bash sh gmake distclean cp ../linux-2.4.10-plathome-011119.config .config gmake oldconfig gmake dep
うちではiMacで活躍していたディレクトリをrsyncで持ってきたので make distclean が必要だった。
fbsd5="i386-freebsd5" を fbsd5="i386-freebsd" に書き換えた。参照している側を書き換える方が変数名的には美しいが。
#!/bin/sh crossroot="/local/ppc" linux="powerpc-linux" export CFLAGS="-O2 -pipe" \ CC=${crossroot}/bin/${linux}-gcc \ AS=${crossroot}/bin/${linux}-as \ LD=${crossroot}/bin/${linux}-ld \ NM=${crossroot}/bin/${linux}-nm \ AR=${crossroot}/bin/${linux}-ar \ RANLIB=${crossroot}/bin/${linux}-ranlib ./configure make
include への通し方がどうもおかしく現状では通らない。今後の検討課題。
当面の目的は ReiserFS か ext3 FS にして電源をいきなり切っても大丈夫にしたいということだったのだが、 PPC向けにパッチの当たった ReiserFS が本家kernelに取り込まれたタイミングがぷらっとカーネルより後なのでかなりやっかい。 Warning:'HOLON' is reserved. HOLON Linux で売り物として出すらしいから、この件に関しては自分でやるよりお金払ってもいいかなと思いつつあったり… 少なくとも HOLON Linux 並みたいに5000円切るような値段だったら文句なし。
CSocketをクラスの定義(=ヘッダー)はそのままで、実装の .obj をリンクするだけでIPv6対応にしてしまおうという計画を進行させた。 なによりもまず、プリコンパイルヘッダーを外さないとなにも進まないのに気づくのにちょっと時間がかかる。
stdafx.h を先に読むと勝手に winsock.h を含まれてしまって winsock2.h とコンフリクト、 winsock2.h を先に読むと windows.h がコンフリクトと困ったものだ。 winsock.h を読まれても中身をスキップするよう無理やりこんな感じにした。
// trap winsock.h #define _WINSOCKAPI_ #include <afxwin.h> #define USE_WINSOCK2 #ifdef USE_WINSOCK2 #define WIN32_LEAN_AND_MEAN #include <winsock2.h> #include <ws2tcpip.h> #ifndef IPPROTO_IPV6 #include <tpipv6.h> // For IPv6 Tech Preview. #endif #pragma comment(lib, "ws2_32.lib") #else #include <winsock.h> #pragma comment(lib, "wsock32.lib") #endif
これを適用するのは SOCKCORE.CPP のみ。
AFXSOCK.H のこの部分。一応 Socket(...) は公開関数として実装されているが、マニュアルでは公開されておらず、Create(...) 経由でソケットを作成することになっている。 *1 そして Create は nAddressFormat を指定していないというのが判明。
BOOL Socket(int nSocketType=SOCK_STREAM, long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE, int nProtocolType = 0, int nAddressFormat = PF_INET);
IPv6→IPv4のフォールバック機構を Create(...) と Listen(...)/Connect(...) をからませて実装するといいのかな?
フォールバック機構を作りたいのだが、CSocketのヘッダーはそのままでかぶせるという方針上、自分でインスタンス変数を増やすようなことができない。
IPv4のportは、ヘッダーの構成から16bitが最大。というより、TCP/UDPは IPv4/IPv6 より上のレイヤーなのでそのもののプロトコルに変更はない。 でもって、SOCKCORE.CPPのportに対する型はUINTを使っており、これはWin95以上であれば32bitであることが保障されているので、 上位16bitを使ってIPv6/IPv4の場合分けをして、関数間でなんとかすることとする。
上位16bitが0の場合は IPv4 としておけばbackward compatibility は保たれるはず。
MD5 (GPGrelay-ipv6.zip) = ecffd7d06a9a788d8b8376fe233a47e9 のバージョンはバグのため更新されています。
完成〜Releaseフォルダの中に実行ファイルがある。動作確認は現在のところWindowsXPのみ。
実行時、GPGrelayが待っているIPアドレスは 127.0.0.1 固定、すなわちIPv4固定。 *1 GPGrelay から外へのアクセスは IPv6 優先。AAAAとAレコードが両方設定されていて、IPv6がつながらないホストへの接続は現在未確認。
また、このソース中の SOCKCORE.CPP を CSocket を利用して作られたMFCネットワークアプリに持っていけば IPv6化 されるはず *2 上記のメモの通り、プリコンパイルヘッダーを使わないようにプロジェクトを設定する必要がある。 Listenにおいては、IPアドレスを何も指定しないとIPv6優先になってしまう仕様す。
社内でドメインコントロールを行っているマシンの整備をするにあたってしばらく電源断をする必要があったのだが、 FSMO(特にNT PDCエミュレーション)があまり長い時間止まっていると業務に支障をきたすので 別のドメインコントローラに移動。
はっきりいって Active Direcotry の管理でいちばんやっかいなのはFSMOだと思う。
同じホスト名でIPv4、IPv6ともにアドレスが振ってある時のフォールバック処理はうまくいってない。 Listen の時は CAsyncSocket::Create の中でフォールバックが完結しているが、 Connect の時は CAsyncSocket::Create とは別に CAsyncSocket::Connect をライブラリの外から呼ぶため。 状態を保持できないのでかなり苦しい。
…TeraTermの挙動思い出して確認。socket() の時に PF_UNSPEC を指定すればいいんじゃん。 あとは getaddrinfo で複数のエントリが返ってきた時の処理だけかな。
やっぱだめ。普通は getaddrinfo でプロトコルファミリーを得た後に socket() を呼ぶものらしいが、CAsyncSocketは逆なので…
自分で管理しているとOpenBlocks のファームウェア(約6.5M)をちょっと変更する度に置いてもさっぱり減らない10GBoverなのに、 そこそこ面白い日記をつけている人がニフチーの10MB制限で写真が置けないというのを読むと悲しくなったり。
しかし自分で管理しているとこはニフチー程のサービスクオリティはないからなあ…うむぅ。IPアドレス結構頻繁に変わるし。
CGI等に Expires: ヘッダーを書かせてやれば、mod_proxy で生成したページのキャッシングができるかもしれんなー これとロードバランスを組み合わせるとかなり高度なチューニングができるかもしれん。
MD5 (GPGrelay-ipv6.zip) = 4c3e399063fc7c6c0a43754599bd70e6
Connect の時にIPv6→IPv4にフォールバックするバージョン。 内部的には
という仕様になっている。この過程で関連付けられたソケットが変わる可能性があるので、呼び出し側が直接操作するようなソースの場合問題が起きるかも。
あと、IPv6アドレスがDNSで取得できるが、接続できない(パケットが帰ってこない)場合は、二回接続を試すために待たされる時間も倍になってしまう(仕様、クリティカルじゃないので当面無視)
相変わらず SendTo については未テスト。getaddrinfo で取得できた最初の接続先にしか飛ばさないのでかなりだめっぽい。かといって全ての接続先にパケット飛ばしてしまっていいものなんだろうか… Aレコードが複数ある時はたぶん最初の1箇所だけだよなあ。UDPである以上アプリケーション依存だし。かなり悩ましい。
マイクロソフトのインターネット・セキュリティ更新プログラムを装ったウィルス。 どっちかというとあまり外に公開してないメールアドレスにやたらと届く。
freeradius-0.3 だとダメなので、 freeradius-0.4 にアップグレード。RADIUSプロトコルは外にさらしてないので緊急性は低い。
OpenRadius つーのもあるらしい。
SSLの中だけにかなりやばげ。だけどめんどくさいな…
いままでモジュールじゃない Apache-SSL つかっててアップグレードしずらかったので、がんばって mod_ssl に移行するか。
SSLのプロトコルの制限のため使えない。
にアップデートしたら pnmtops が生成したPSファイルの中に setpagedevice コマンドをはいてくれて、OKI MicroLine 2030N で印刷できない。 -nosetpageオプションを付ければOK。
PSプリンタがエラーの時に、エラーメッセージを印刷しないといけないのはなんとかならんものか? と思ったので買ってこの方数ヶ月封も開けてなかったネットワークソフトウェアCDROMから管理ツールをインストール。 でもやっぱりエラーの表示できなかった。
FreeBSD bktr ドライバで使えそうなカード。約6000円
rubyベースで美しそうな雰囲気だけどいまさら移るのもなあ。今だからこそという話もあるが。 いまいち日記フォーマットのトリックにはなじまないかも。自分には書いている内容からしてTDSの NEW*の楽さ加減がよい。
ユーザーの入力データを元に動的な Web ページを生成するコードが、入力にスクリプトが含まれていないことを確実にするために、常に入力データをフィルタする必要がある。
自分の書いたスクリプトに関して、基本的に今まで見栄えの変更は 全く不許可というスタンスで<>の入力はそのままエスケープしてたので大丈夫そうな雰囲気。
対応したらしい。現状FreeBSD 上では prefork MPM しか使えないので十分。experimental な作業は Apache2 ベースで進めたいなーと思ってたところなので願ったり叶ったり。 とはいえしばらくは CGI 経由でいいであろう。
CGIと書いてあるけど、ユーザから見るとActiveServerPageそのものだけどスクリプティングエンジンは ruby みたいな、のチュートリアル。
識別子の先頭の文字に対して特別な処理をしているのはしょうがないとして、残りは日本語で書けてもいいんじゃないかと思ったけどダメだった。
def aブロック呼び出し yield yield end aブロック呼び出し { puts "In the block" }
細かい仕様の変更をする度に痛い目を見ては、テスト仕様書は書かないとなー(コーディングの仕様書を書く気はせんが)できれば自動化できるとハッピーと 思っていたので これだ!という開発手法。最大の問題は単独のプロジェクトに割けるメンバーが4人もいないというところだ…
RFC2712 Kerberosをベースとした認証方式をTLSで使用するために必要な暗号スイートを追加する あたりにIEは準拠してるのかな?要調査
10日経ってやはり良くなってたす。後半が15分縮まってるのに象徴されてるようにずいぶんとテンポというか間の取り方がいい感じに。 歌そのものがけだるい系が大半なのがどうしようもないんだけど…
あと初回見た時の最大の難点は、左寄りの席でバンドメンバーが見えなかったこと。効果音入れる時のドラムスティックが目に入るかどうかでかなり緊張感が違う。 普段の新感線公演だったら拍子木「カン」のところが、スネアの「スタン」というのにも慣れたし。 でもギター・ベースだけじゃなくてドラム・キーボードももっと目立つ見えるところで演奏して欲しかったなー。いんど屋敷の上段で移動するドラムセットはやはりすばらしかった。
前回かなり寝たつもりだったのに完全にすっとんでいた場面がなかったのは意外。というのも「誰だこいつ」という登場人物がいっぱいいたんで… ナレーションとともに新しい登場人物が出てきてはあまり間をおかずに殺されてしまうので、ずーっと神経を尖らせていないとすぐに分からなくなる。 新感線らしくはなくシェイクスピアを叩き込まれた古き文化人のための公演という感じか。
クレジット確認したら、プロデュースはヴィレッジ細川さんになっている。ので新感線公演と認識していいと思うんだが…下手人は鴻上尚史なんじゃ。
週に1ターンというまったりしたシミュレーション。これぞBSデジタルに合ったゲームと思うんだが、気づいたら最終決戦だった… 一応形ばかり参戦して終了。またやってくれないかな。
翌日の東証株価指数の上下を予想する すとっく東海道53次 も企業側の広告・情報収集としては悪くないかも。もうちっとゲーム性高くならんかな。
ちなみに今日届いた双方向通信に関連するKDDIの電話料金は39円。いつものように郵送代のが高そうである。
NNN24有料かー。がっくし。それにしてもどーも日テレ系ばかりと思ったら、株主が日テレ・WOWOW・NTTcom・NTTドコモだった。 スカパー2は多少見ようかなーと思わなくもないけど、でもなあ。無料BSで十二分だお。
ATAでホットスワップする箱。
運用の楽さ考えると IntelliMirror ACS-7500(http://www.accusys.com.tw/7500.htm) のがいいよなー。HDD8台でのRAID5体制なら利点も出ようというものだが、それはそれでNASにしてしまうかという気も。
お台場まで車で行くと、最後に見える第二駐車場が工事中で一瞬戦慄が走るが、以前の第一駐車場が復活していてかえってよし。 そして駐車場を出て一般入場口から入ろうとすると、列が出来ているので後ろに行けとのガードマンの指示。とても列には見えない密度なんだけど… すっかり入る気分を害された、のと朝から飯を食べていなかったのでそのままサイゼリアへ直行。絶対カタログは拾って入るべしと固い決意がめばえる(笑)
が、ガードがいつにも増してかたくてふつーに入ってしまった。一般入場は多かったなあ。
残り2週間でキックオフってのもどうよというタイミングだったが、ともかくギネス1パイントがタダで飲めたのでよし。それにしても謎な場所にあるブリティッシュバーである。 メーカーの人に直接会って話できるのもやはり楽しい。時間が時間だけに会社を抜けてきた人ときっと慶応な学生がほとんどな感じであった。
狂牛病以来、「素性の明らかな食品」に対する需要が増えている昨今。しかも今日のキックオフミーティングで「生体センサー」をデモしていたので 牛1頭ずつにv6アドレスをつけてリアルタイムにいろいろモニターできるってのはどうだろう。 特に牛の場合、「ん万円を投資すると肉で帰ってくる」みたいなビジネスはすでに存在するので、俺の牛は元気かな〜みたいな。そして元気に育ったら食うと^^;
野菜も然りだが、単価的にペイするのを考えるととりあえず牛が最適かなと。
ファームをアップグレードするとBigDrive(127GBオーバー)が使えるようになった。160GBを4つ搭載してRAID5だと約500GBだ。
…で、RAID5の初期化に3時間強。ちょっと古いドライブで構成したRAID10だと8時間でバックアップ完了したものを、リストアするのに16時間。難儀やのう。 しかも1台壊れた時のリビルドはBIOS画面からじゃないと出来ないらしい。それも多分3時間コースなのでWindowsが起動してからリビルド出来ないと状況によっては困りそうだなー。 <とリストアが完了するまで思ってた。
タスクトレイに常駐していたステータスモニターのマニュアルだと何も書いてなかったのが、Web管理画面からだと出来るのが判明。emailでの障害報告機能の設定がインストーラで出来たのにステータスモニターから設定できなくておかしいと思ってたんだよ… Rebuild, Media Scan ともスケジュールで週に1回自動実行もできる。ドライブの追加、スペアドライブの追加、スペアドライブの削除も可能。なかなか。というかそうじゃないとホットスペア箱が役に立たないよな。
ただしデフォルトパスワードが不明。(password enable/disable が別途あってデフォルトはdisable) localhost でしか接続できないからいいのかな。
いきなり抜く気はしなかったので、電源断→HDD1台抜く→電源投入→OS起動後HDD装着 の実験。以下の順で無事オンラインリビルドに成功。予想の3時間を上回って6時間コースだった。
ついでにemailでの障害報告機能、Send Test Message では全然送られてこなかったが、実際の障害ではちゃんと送られてきた。
バックアップ用途に使うのにMOとCDRどっちがいいかと聞かれて、その2択だったら問答無用でCDR。 とはいえCDRは若干面倒だし、今時日々のバックアップだったら切り離し可能なHDDだよなーと進言したら「予算的にちょっと」と言われてしまった。
しかしそれでも1394箱も1万円切る時代、HDDでありましょう(強気)
プライベートアドレスの問い合わせはこの前解決したが、あとは大体大丈夫そう。 「無用な再帰検索サービス」は…これの解決をまじめにやるぐらいなら djbdns に移行したいような。
調子に乗って電源を入れた状態でHDDを抜いてみたり。(それでもさすがにアクセスしてないのを確認してだが)無事交換してリビルド開始できるのを確認した。 ただ、さらに調子に乗りすぎて別の危険な作業をしたためにリビルドに失敗。結局一度電源を切って 前回と同じ手順 で復帰させるはめに…
学生時代に qkc が開発されてずーっと愛用していたが、だんだんUnicodeが侵食してきてqkcが使えなくなりつつ…
iconv だと日本語に限らず各国の文字コードを変換できる模様。
俺的ウィスキーの原点。今日からテイスティング講座があるというので参加。なかなか同時に複数のウィスキーを評価するという機会も無いので面白かった。 特に、自分がシェリー樽仕立てを好む傾向があるということが判明。山崎12年が好みだということも。 白州が原点だったせいで山崎は意識的に避けてたので…あと響30年はすごい。値段も味も。
文京区?湯島?? とCM前にあおられて 大喜 確定。マスターの困惑顔が印象的であった。しばらくは食べにいけなくなったなあ。
累計700万歩は超えたものの、1日平均1万歩を割ってしまった。もうちょっと歩かないとー
ホテルIZUMI入り口まで
第一・第二コーナーを曲がってバックストレートに突入。そしてすでに店員さんが説明して客をあきらめさせているモード。少なくとも夜の部まで待てる客のみ残っている?
昼の部の行列はすでに終了。17:30開始の夜の部を待つ人が20名程。そして店員さんが列の流し方を検討中〜
昼は200食と決まっているということがにちゃん書き込みにより判明。
列は湯島ハイタウン方面に流すことに決定した模様。人数はあまり変わらず。
リパーク入り口を突破
列の伸び加速中
上原歯科の窓半分ぐらいのところまで伸びたところで夜の部開店。
定点カメラの枠をオーバー。バス停まで行ったんだろうか。これがピークかなー。5分前はぎりぎり上原歯科制覇といったところ。 ちなみに*私は*にちゃんへの書き込みをしておりませぬ(笑)
どんな検索ワードで来たのかなーと調べてたら、こんな言葉が。googleのこの結果はちょっとないだろー 「代ゼミ 高校コード」も同様。
3月の中では妙に目立つ。どっかで紹介されたかな。次点は「鳥ぎん」
見た瞬間にポケモンジェットだと思ったが…
これもかなり分かる。現状ではVGA16色以外での動作実績は発見できず。
うーん
なにを調べたいンデスカ?
改めて調べたら、1978年公開映画のDVDが発売されたらしい。どんなに安くても買っちゃ駄目ーー見ても後悔するだけなり。
バンドとして1st Liveとは思えない、熱い、熱すぎるライブ。 会場のキャパを超えかかっていて立ち見を詰め込んでぎりぎりの大盛況、次回はもちっと大きな会場希望。 WaterVeinの時もそうだったので陽くんのキャラクターに拠るところが大きいかな。
しのっぺの歌声を聴くだけでも幸せなのに、いつにも増して調和した音の厚みと、会場全体の一体感が最高。
あと、いままでクリアーボイス中心だったのに、鈴木祥子さんの曲でのハスキーボイスは一瞬本人の声かと思うほど、 訴求力が強烈でむしろこういう曲の方が今後ファンを増やすかもしれないなーと思ったり。
次回は来年と言わず今年の夏あたり希望〜
ローソンのATMでお金を下ろそうとしたら、「2000円札優先」ということが書いてあったので、いつもは万単位で下ろすところ+2000円にしてみた。 どっちかというと6000円で実験してみるべきだったかな。
外国人労働者の適正な雇用・労働条件の確保と不法就労の防止に理解と協力を
をタイトルの先に持ってくるのはどうかと。
64bit Sparc でコンパイルする時の注意とか。
にゃるほろー
ワールドワイドなIRCにつなぐのはまずいけど、IRCサーバはスタンドアロンで運用しつつ、Webゲートウェイも設けるみたいのがいいのかなーと漠然と。
mod_expires でgifファイルの有効期間はアクセスしてから30日、通常は作成してから半日にする場合の .htaccess ファイル
<IfModule mod_expires.c> ExpiresActive on ExpiresByType image/gif A2592000 ExpiresDefault M43200 </IfModule>
基本的には決まりきったアイコン等に適用するのがよいかと。
ただ、apache2ベースのSSLの場合適用してくれなかった。適用しないのはブラウザ側の仕様な雰囲気もあるが未確認。 ちなみにapache+mod_sslは今日の作業ですべて apache2beta ベースに移行完了。 鍵の作成等はgoogleを探ると判明するが、apache2 特有のディレクトリ構成に合わせて楽をする方法については後日まとめたい。現在半分ぐらいはmakeで済むという状態。
本家の日記はなくなってるけど、googleで残骸を読むことは可能。
振込み先の支店に足を運んだ場合いままで無料だった手数料が、3月14日から105円になっていた。足を運ぶ意味がすっかりなくなったよ… せめて同一銀行の口座を作ってネット振込み体制にするかなもう。
ネット銀行中では MoneyKit-postpet に興味があるんだが全面的にFlash採用というのが肌に合わないような、でもpostpetだしなあみたいな。
Windows Update が途中でコケた場合、再度Updateかけようとしても 「InternetExploreのセットアップを実行する前にコンピュータを再起動して,そのインストールを実行して下さい。セットアップは終了します」 こんなメッセージとともに実行できなかったり、ダウンロードしたあげくにインストールできませんでしたと言われたり。
本当によくあるパターンなので引用
レジストリにゴミが残っているのが原因です。 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] の PendingFileRenameOperations の値をクリアすればインストールできるはずです。
Sun Ultra5相当のマシンがやってきて、Solaris2.6が入っていたのでとりあえず Recommended Patch の適用。 Sunのコンソールがやたら遅いというのをすっかり忘れてたよ…tar.Zの展開が遅くて大後悔。
Solaris8 2002/02 をダウンロードしてインストールCDの作成。Intel版のダウンロードはなくなってしまった。
やってきたマシンに入っていたHDDはSeagate Barracuda ATA 9.1GB。なつかしー。IBM の DJNA に換装したところ認識せず、DTTA に換装したら認識。DJNAはATA66最初の世代だけに何度も相性問題をくらう気がする。 おそらくATA33固定にすればいいと思われ。
SunのCCじゃないと ip_filter が作れないのでForte7EAをダウンロード。8月31日まで使えるぞ。 Forte6日本語版もダウンロードしてみたけどダウンロード失敗の模様で速攻削除。
JAVAアプレットが動かないーと言われて、1.3.1 と 1.4.0 どっちがいいか悩んだ結果、昨日の時点では1.4.0の日本語ダウンロードサイト見つからなくて1.3.1にしてしまった。
J-PhoneのJAVAアプリ開発 は1.3ベースでもあるし、しばらくは1.3で大丈夫かな。とゆーかSWINGが高速化されたらしい、ということ以上の利点を良く知らないす^^;
パッケージでインストールして ssh-keygen を実行したら
Couldn't connect to PRNGD socket "/var/spool/prngd/pool": No such file or directory
そういや /dev/random デバイスドライバをインストールしてからOpenSSL→OpenSSHだったな…めんどいよう。やはり Solaris9 EA にするか?
apache_1.3.24 のコンパイル(apache_1.3.23はSolarisのみthreadまわりの公式パッチがあるので注意) gcc3 + /usr/ccs/bin のリンカだと失敗。gccの場合はbinutils をインストールしないとだめだった。
i810以降に搭載されているRandom Number Generatorのドライバ、FreeBSDにはまだ搭載されてない模様。
ImageMagickをportsから作ろうとしていてHDFフォーマットを含めるかどうかがMakefileに書いてあったので調査。 地図情報を保存する時に使うらしい。主に衛星からの写真に付加している。
そして ImageMagick をインストールしようとすると python がくっついてきた。なーにー ちなみにUNISYSの特許利用許諾を持っていると主張すればGIFも利用可能。
これができる割には郵便料金安いなと思う。
再販してほしいニャー。 家を探って物が出てきたら詳細な仕様を全部公開してしまうかな。
指輪の謎の情報を求めていてぶつかったゲーム。 システムに対してチームで挑む形態ってのはまさにネットゲーにマッチするんじゃなかろうか。 そんななかでタイムアタックとかのポイントランキングを付けるという方向で。もうあったりして…
がびーん。海外で損出したのがでかいのか。
初めてまともに使ってみたが、編集は切り貼りするだけの機能しかない、とはいえ結構さくさく動いて快適。
DV素材からDVファイルの書き出しにCPUがネックになっているのがアレだが、おまけソフトに文句は言うまい… ちなみに書き出し中、AC電源を抜いた状態だと進行速度が1/3になった。XPの電源管理だとそんなに違うものかな。
ゴクドウではありません。オブジェクト指向と生産性に興味あったら必読とすら思う。
誰でもiモードの位置情報を取得できるように。
あまり道には迷わない方なのでそれほどGPSを必要としているわけでもないが、それでもボタン1発でその場の地図がでるようにまでなれば使いそう。 今でもちょっと迷うとノートパソコン開いてNavin'You調べてる訳だし。
savedirs が設定されていれば .cshdirs にディレクトリスタックを保存する。 明示的に行うには dirs -S
tcshでファイル名の補完候補リストを表示する C-d は、bashの場合 C-x / となる。うっかり行頭で C-d やるとログアウトしてしまったりすることもあるので一長一短。
日常的にbashを使う気はあんまりないけど、Readlineを含んだプログラムはいろいろあるから覚えておいてもいいかな。
日記を書いていたら突然フリーズ。画面表示されたままマウスカーソルも動かない、という症状のフリーズはWin2000系ではかなりめずらしいパターンだなーと思って一度電源を入れなおすと、一度はログオン画面まで来たもののそこで再び同様のフリーズ。その後電源再投入、バッテリー取り外してから再投入等してもうんともすんとも。CPUかメモリ周りのトラブルの模様。
日記はCVSベースだったのでほとんど無傷。書いていた途中の日記は以下。 みずほ銀行コンピュータシステム統合への不安の記事を書いている途中でとまったというのは絶対みずほの呪いに違いない。
午前指定にしていたがどういうわけかフラフラで寝飛ばしたらしい。午後到着。なんにしてもマシン死亡のため放置プレイ
お金下ろさないまま週末を迎えてしまった…だいじょぶか?銀行がつぶれる分には借金のが多いからいいけど(笑)
ちゃんとしたポータルサイトだー毎日読むべし
前半は証明書の配布方法が信頼できんという話。「証明書の配布、最悪フィンガープリントだけ」セキュアなサイトに置けばいいと思うんだがそれすら総務省は嫌なんかな… 将来的には日本語ブラウザにデフォルトで組み込まれるの希望。
一応PGP方式で僕を信用できる人は (http://www.shinsei.soumu.go.jp/first_ie.html) より今日取得したフィンガープリントを信用してくれてもよし、という意図でさらしてみる。(このサイトのドメイン情報・IPアドレス情報・ネームサーバマシン管理・Webサーバ管理が全部自分にかかっているので信頼モデルとしては大変シンプルではないかと)
SHA1:270C 500C C6C8 6ECB 1980 BC13 0543 9ED2 8248 0BE3
できればサブジェクトと有効期限もフィンガープリントと一緒に書いておいて欲しいものだ。と思ったので取得した証明書からいろいろ取り出してみる。
% openssl x509 -text -noout -in soumuca.cer Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: sha1WithRSAEncryption Issuer: C=JP, O=Japanese Government, OU=MPHPT, OU=MPHPT Certification Authority Validity Not Before: Mar 14 07:50:26 2002 GMT Not After : Mar 13 14:59:59 2012 GMT Subject: C=JP, O=Japanese Government, OU=MPHPT, OU=MPHPT Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:8d:c6:51:69:4a:f4:6f:45:56:6f:03:86:92:ae: e6:dd:fb:a3:16:5b:8f:a9:59:70:5b:c4:65:8d:3b: 62:b6:28:8d:63:ba:e7:bb:9b:cf:9e:96:13:ba:bf: 3c:8f:fa:4a:6e:e2:ee:a6:04:f9:5a:7c:d2:be:ad: 84:9b:df:9a:7e:d2:4b:70:44:36:b4:6a:89:aa:52: 7a:78:68:a1:80:f5:da:32:1e:de:26:50:d9:25:ea: c7:b5:a0:63:0c:81:19:d4:30:19:a6:13:8a:3c:db: 44:5a:60:73:42:bc:a3:86:bd:f5:f2:28:1e:1c:fd: 27:c0:0a:a9:76:ac:75:d3:02:a9:f2:51:68:7d:f4: 60:9e:c7:9c:eb:d1:60:62:fa:1c:1a:c6:84:9e:d7: e1:1c:e2:8f:29:3d:6b:df:b7:54:e0:6c:61:c9:c8: 97:1f:62:38:3a:22:62:10:3a:af:4a:23:b8:8b:bc: fc:90:35:a1:34:d9:ad:2d:0c:c9:4f:d2:2d:d1:5d: 27:37:b6:3b:5c:27:a9:35:0b:5d:0c:9b:cc:9c:f7: 69:de:a8:0b:f1:79:6b:af:5c:d2:6f:76:6a:46:1d: f6:71:81:ac:fc:63:12:1b:9c:69:0c:a7:0b:f4:28: 08:bb:37:69:c8:8b:82:2a:00:9c:42:6a:cb:b8:b7: 12:05 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Authority Key Identifier: keyid:60:C2:F7:A4:BA:00:D2:1F:77:62:78:25:F0:66:FF:52:00:21:EF:7A X509v3 Subject Key Identifier: 60:C2:F7:A4:BA:00:D2:1F:77:62:78:25:F0:66:FF:52:00:21:EF:7A X509v3 Basic Constraints: CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign Netscape Cert Type: SSL CA, Object Signing CA Signature Algorithm: sha1WithRSAEncryption 34:f4:7c:0c:de:ba:89:66:41:b3:f9:52:9b:5b:ce:ce:1a:91: 91:70:cb:4f:ac:4b:2e:f2:6d:8c:f2:ea:98:4e:3a:f6:cc:c6: c8:54:8a:ce:ca:1f:eb:2f:bf:f1:88:19:94:ea:1e:5f:58:a7: 17:8a:31:fd:21:f5:01:39:f0:74:82:2c:3d:b5:ee:44:b8:ed: 6b:16:e8:5e:f0:61:e7:2d:9f:7c:2d:e1:9b:32:55:bc:9f:3b: b5:be:a6:55:64:1e:2f:d5:45:52:13:61:00:8d:22:6f:ef:4e: 21:95:44:60:8f:fa:e0:c1:64:0e:4e:1e:89:61:b9:b6:ce:a8: a8:82:47:d5:5e:dd:55:98:3a:a5:0d:53:73:40:a4:86:7e:8d: d6:6d:61:0f:7d:12:d3:fc:e8:3e:7f:f6:d1:6a:ba:38:21:77: 85:ef:15:26:b4:46:75:c5:bd:04:3f:c1:91:eb:24:a3:51:ca: 84:c0:43:8c:75:6b:27:c7:05:c1:b9:c3:4a:8a:3e:2a:2e:3b: 78:95:9a:cf:f7:0e:cd:a4:ac:68:c5:54:b1:1e:4f:39:ab:da: fd:a6:e1:86:01:e7:fd:e3:89:75:78:95:b2:5c:8a:d0:36:2c: 72:3b:1d:07:76:81:51:fc:19:96:89:b1:60:ec:c6:e8:28:23: 40:f8:49:77
個人的には 電子申請・届出システム のリンクがJavaScript切ってあると色々見えないところに問題を感じたりもするので、JavaAppletでの警告画面をスキップする気は今の所ないっす。
あと、soumu.go.jp のネームサーバにwww.shinsei.soumu.go.jpのIPアドレスを聞けば答えてくれるので(とはいってもCNAMEだが…)見た目うまくいってるが、 以下のような余計なNSレコードがあって激しく気持ち悪い。
% dig shinsei.soumu.go.jp ns ; <<>> DiG 8.3 <<>> shinsei.soumu.go.jp ns ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUERY SECTION: ;; shinsei.soumu.go.jp, type = NS, class = IN ;; ANSWER SECTION: shinsei.soumu.go.jp. 1H IN NS d031sv.
3月22日のバックアップがあったのでそれを元にサブマシンで環境構築開始。
フォルダ同期ソフト。Windowsでフリーのものとしてはこれ以上のものが見つからず、以前より愛用している。
そういやcygwinのrsyncでもWindowsでsshd起動するのはイヤだったが //tako/ika 方式でディレクトリ指定すれば行けそうな気もするな…今度やってみよう。
だいたいこの通りにやりたいところだが、とりあえず[キーボードドライバをAXに変更]を実行 でもってキー配列をDVORAK配列に変更、左CTRLと無変換を交換、ひらがなキーにWindowsキーを割り当て。ここまでくると変換キーに右SHIFTを割り当てた方がいいんだろうか…
LunaScapeオプションで指定したのは、スクリプト・JAVA・ActiveXの実行・ActiveXダウンロードを禁止。お気に入りは保存してあったのでそれを指定して終了。 お気に入りへの変更を定期的に保存するもチェック。
メールボックスを作成しないでインストールした後、最初の起動でいつも使っているメールボックスを指定して終了。これだけですべての設定が引き継がれる。 しかし1週間分のメールをどうインポートすればいいかが分からないので、当面IMAP+SSLのサブメール環境をOutlookExpressで参照する生活に。
あとプロバイダのメールボックスとanetのメールボックスはAPOP認証に「なれなかった」ので、telnetで読んでみたり。
メールチェック より読むことが可能。返事は出せないけど、SSLでユーザ認証してるんだったら軽く作っても問題ないんじゃ。
TeraTermについては別に取り立てて書くこともないが…と思ったらTTSSHの日本語版なるもの発見。 つーか、日本語化だけじゃなくてOpenSSLベースになってるやん。素晴らしい。あとは ssh version2 のサポートすな。puttyはどーも肌に合わん。
TerminalSize=80x50, Term size = win size, Kanji(receive)=EUC, Kanji(transmit)=EUC, Window Setup Reverse(白黒反転) 圧縮レベル=4, 優先する暗号アルゴリズム=RC4,3DES
バイナリをcygwinの環境における /usr/local/bin にコピー。また、環境変数 CVS_RSH をsshに設定。
0.5.5 → 0.5.8 で何が変わったのか不明
捕捉されてるのが発覚。たぶん初。 hina.di を参照しているんだろうか…アンテナ設置したことないんでよくわからず。
ログを見るに普通に日記のURLをlibfetchからアクセスしているような雰囲気。
こういう立場が取れるのも「自由にログを閲覧してREFERER取り出せる立場」だからだよなーと思わなくもない。 タブブラウザにして以来JavaScriptオフがデフォなので、ふつーのプロバイダで運営している人がログ解析ほにゃらら画像を置いててもこっちのREFERER取り出せないもんなー
IncludesNOEXEC 状態のSSIぐらいは許可してあげて直接埋め込めるようにするのがいいんかな。でもってログ解析画像CGIもプロバイダ側が用意という状態希望。
grepとかを使っただけでは、はっきりいって行ごとに漢字コードがまちまちなので、取り出した後にNKFやqkcをかけても自動判別失敗しまくり。 その点このアナライザは行ごとに変換をかけるということで大体うまくいく。しかし昨今増えつつあるUTF-8に対応してない…
大した長さでもないのでそのまま貼り付け。ホスト名とキーワードタグの組はどっかネットワーク上で管理、でもってキーワード取得に失敗した時の処理を自動化したいところ。 実際exciteとlycosについてタグの追加を行った。そういや全文検索エンジンの草分けAltavistaって使わなくなったなー
http://ruby.freak.ne.jp/ さんからの引用がほとんどなのでそのへんはよろしく。…つーかこちらから連絡せねば。
#!/usr/local/bin/ruby require "cgi-lib" require "kconv" require 'uconv' include Uconv ## 無変換文字ハンドラ def Uconv.unknown_unicode_handler(u) ## 〓 (GETA MARK) に置換え return '〓' end # 「ロボットを送っているホスト名」と「キーワードのタグ」の組 RobotHostsHash = { 'google.com' => ['q'], 'google.co.jp' => ['q'], 'goo.ne.jp' => ['mt', 'aw\d'], 'infoseek.co.jp' => ['qt'], 'infoseek.com' => ['qt', 'oq'], 'altavista.com' => ['q', 'fmt'], 'altavista.telia.com' => ['q', 'r'], 'altavista.digital.com' => ['q', 'r'], 'altavista.digital.com' => ['q', 'r'], 'hotbot.com' => ['MT'], 'excite.com' => ['s', 'search'], 'excite.co.jp' => ['s', 'search'], 'excite.jp.netscape.com' => ['search'], 'search.hotbot.com' => ['mt', 'aw\d'], 'yahoo.com' => ['p'], 'yahoo.co.jp' => ['p','f'], 'infoweb.or.jp' => ['querystring'], 'niftyserve.or.jp' => ['key'], 'odin.ingrid.org' => ['key'], 'fireball.de' => ['q'], 'lycos.co.jp' => ['query', 'npl', 'q'], 'hole-in-one.com' => ['s'], } # ログを解析するための「正規表現」を作る HostsStr = RobotHostsHash .keys .join('|') .gsub('\.', '\.') RegexStr = '^([^ ]*) \S* \S* \[(\S*) \+\d*\] \"\w* ([^\ ]*) \S*\" \d* \d* "http:\/\/[^\?]*\?([^"]+)' CompiledRegex = Regexp .compile( RegexStr ) CompiledHosts = Regexp .compile( '\b(' + HostsStr + ')\b' ) # フォームから「検索語」を得る def getKeywords(robothost, args) # フォームを解析するための「正規表現」を作る keyStr = RobotHostsHash[robothost] .join('|') compiledRegex = Regexp .compile( '^(' + keyStr + ')=', true) # フォームを解析していく args .split(/[&;]/) .collect { |item| item =~ compiledRegex ? CGI .unescape($' .gsub('\+', ' ')) : nil #' } .compact .join(' ') end while access_log = gets if access_log.index(??) && access_log =~ CompiledHosts robothost = $1 if access_log =~ CompiledRegex host, date, target, args = $1, $2, $3, $4 keyword = getKeywords(robothost, args) if access_log =~ /\&ie=utf\-?8/i then words = u8toeuc(keyword) else words = Kconv .toeuc(keyword) .gsub(/\n/, '') end robot = (robothost .split('.'))[0] print "#{date} [#{words}](#{host})<#{robot}> -> [#{target}]\n" end end end
Navin'Youインストール前で馬車道公式ページの住所情報からMapion引くのめんどうだなーと思ってたらこんなの発見。 Mapion/MapFanへのリンクがあって便利。
最初に。物事には優先順位というものがあり、こんなザル法は通ろうが通るまいがあまり気にせず、児童ポルノ法案に絵画を含めるのを阻止するのに注力すべき。
基本的な立場として 一般人無双 3月9日の日記にほぼ同感。消極的賛成。
法案を読んでみると、「青少年有害社会環境対策協会」の設立または加入は義務ではない、というあたりザルというか強制力なさすぎ。さらに、表現の自由は侵しませんよと自分で宣言しているところもミソ。 個人的に消極的反対があるとすれば、青少年有害社会環境対策に関する強調月間やら協会の運営やらに向かって税金が流れるのがイヤだなーというあたりか。 「いかに有害ほげほげを公開するか」というところが運用上のキーポイントだけど、おそらく官報に類するものに載せて終わりなんじゃないだろうか…なにしろ マスメディアの反論を見るにTV・新聞で大々的に有害なんたらの公表がされるようになるとはとても思えないし。
国からの勧告が脅しに近いマスメディアが妙な介入をされるのがイヤだと主張するのも分からんでもない。特に免許をおさえられている放送方面。 とはいえ時代はGoogleと2chと口コミの文化に進んでいるのだ。ネット的には別にどこぞの団体に有害だと断定されて公表されたところであまり痛くはないのではないか? 特定のプロバイダは削除を要求してくるかもしれないが、常時接続環境の普及が急速に進んでいる現状ではWebサイトの運営を互助会方式で立ち上げるコストは(技術的支援さえあれば)微々たるものである。というわけでインターネットがこの法案によって検閲の危機にさらされる危険はほとんどないというのが個人的な感想だ。 (通信回線への介入におけるこの法案の適用は無理だと思ってるけど、介入可能という解釈があったら教えて下さいませ _o_)
最大の問題は、 コミックマーケット がその供給する役務についてほにゃららかという点。法律の精神に基づいて必要な措置を自主的に講じていると主張はできるわな。 国及び地方公共団体が実施する青少年有害社会環境対策に協力を求められるというのがやっかいだが、環境対策で税金をもって飯を食う担当者が増えるとツッコミが増えるであろうという以上のものではない。 「法律を遵守しながら表現の自由の裾野を広げよう」というコミケットの意思からするとそれぐらいのツッコミをなんとかうまく処理して、実際の創作活動を守っているというような姿勢がいいんじゃないかと思う。 少なくとも今回の法案は本の発行に関する限り自主規制を旨としていて、 コミケで強制力を持った発禁を食らうことはない。コミケで自主規制ったら今以上のものにはならんよなあ。(何がワイセツかの基準は時代とともに変わるとは思うがそれは別の話…)
個人的な体験だが、確か中3の時社会の授業にて「北方領土は返還されるべきか」のような話があって、それまで日本固有の領土だと固く信じていたのが 根拠のないものだったというのにショックを覚え、 とはいえどういう経緯でロシア(ソ連?)の占領に至ったかをあるていど調べるとやはり日本の領土だろう、と思うようになったという経験がある。 それぐらいの年齢にならないと「情報を収集・選別・判断する」といったことは困難ではないかなという感覚を持っているので、 保護者に向かって「有害かもしれない情報」を発信する機関があるのは意義のあることなのではないかと。(一方で夏休み課題図書の帯を見るたび違和感を感じたりもするが)
有害環境(?)に置かれてもきちんとした判断ができるような教育環境をいかに作り上げるかという方向性があるべき姿なのではないかと。 今回の法案は運用によっては有害環境(?)を無くして判断力を奪うかもしれないし、判断に対する一定の基準を示してくれるかもしれない。 例えば お国のお墨付きなどこんなものだと感じてくれる人が増えてくれた方がこの国は活性化されるのではないだろうか。<NHK的物言いでまとめてみた(笑)
実はここからスタートしたんですが、結果としてなんとなく逆の姿勢になったもので最後に紹介することにしました。 立場としては反対の立場の方ですが、ページそのものは中立に作ってあって好感が持てます。