2008年1月アーカイブ

ウイルス作成者逮捕

|

今日の朝日新聞夕刊によれば,大学院生がウイルスの組み込まれたアニメ画像を Winny を介して「無許可」で流していたことで,「著作権法違反」として逮捕された。ウイルス作成を取り締まる法律がないため,アニメ画像をばらまいた行為で捕まったらしい。この学生がウイルスを作成していたかどうかはまだ「可能性」の域を越えないとも読み取れる内容であった。そういえばかつて Winny の開発者も逮捕された。この場合も「著作権法違反」であった。

コンピュータウイルスをばらまく行為そのものが,確かに無責任で迷惑極まりないのだけど,朝日が報ずるような罪状で逮捕されてしまうというのはどんなものか。主旨はウイルスを作ったことらしいが,作ったにせよ彼がばらまかなかったら,ばらまいたのが別人だったら,アニメ画像によらなかったら,など条件を分けて考えれば考えるほど,罪を構成する行為の核心が分からなくなり,本当に起訴できるのか疑わしくなるのではないか。起訴されたとしても,容疑者である大学院生は結局,著作権者に無断でアニメ画像を配ったことに相応する判決になるのではないかと私は思う。

翻って考えてみれば,ウイルスを「作ったこと」で逮捕できるとしたら (朝日新聞ははっきりそう書いている),ちょっと怖い。何がウイルスなのかの解釈如何で,プログラマを牢屋にぶち込めることになりはしないか。メールソフトはウイルスである! なんとなれば著作権法違反の文書を相手の意思によらず他人のコンピュータに電送することができ,その結果相手のコンピュータのディスクを満杯にして機能不能に陥れる危険性があり,すなわち他人のコンピュータを破壊するウイルスと同等である???

この大学院生の裁判がどうなるのかは別として,今回「捕まった」という事実が意味を持つわけである。要するに世の中の悪質なウイルス作成者の見せしめということだと,さしあたり楽観的に考えたい。

映画『ゲルマニウムの夜』

|

前から気になっていた映画『ゲルマニウムの夜』(2005 年作品) をレンタル DVD で観た。花村萬月原作小説の映画化である。荒戸源次郎製作,大森立嗣監督,音楽は千野秀一。出演は新井浩文,広田レオナ,早良めぐみ他。

主人公はゲルマニムラジオに神々の囁きを聴き,暴力,性的淫行の動物的行動に駆り立てられる。修道院における淫行,良心の呵責なき暴力,動物虐待など,本作品のシーンのいくつかには,目を背けたくなる方もいると思う。悪趣味で不快感を催す映画だと断じ捨ててしまいたくなるかも知れない。間違っても恋人と観てはいけない。もちろんこんな映画を,他人の言動に踊らされやすい子供には見せてはいけない。

しかし,この映画の背徳的・冒瀆的シーンは,芸術作品の個人的享受においてなおも日常的・社会的常識に弛緩した倫理観に踏みとどまらずにはおれない者にこそ,リアルな不快感を齎すのであって,ゆえに逆に倫理的視線に支えられた硬派の映画だということができる。主人公の「どうして私は罰せられないのでしょうか」という台詞は倫理的でなくてなんであろう。

最近の日本のふやけた映画にげんなりしている者にとっては,この映画は ATG や日活ロマンポルノなど昔の邦画のあの一種独特の「ぎごちなさ」を想起させてくれ,「懐かしく」思うのではないかと思う。実人生の体験には,どんなに強烈な感情に囚われていても,どこか白けた要素がある。「ぎごちなさ」というのはそういうような感覚である。主人公・朧とアスピラント・教子との倉庫でのセックスシーンも,この上なくいやらしい---感動的な---エロであり,また一方でどこか醒めている。

雪道を主人公が歩く姿が何度も描かれる。冒頭の牛のゆっくり歩むシーンとのパラレルが明らかで,人間のなかの動物性を浮き彫りにする。雪のなかに十字架が立ち並ぶ薄明の墓地。暗闇に舞乱れる粉雪。そういう絵に対するこだわりとは裏腹に,登場人物の表情や台詞は投げ遣りといってもよいくらいにドラマ感・切迫感がない。ぎごちないのだ。観る人によっては「この俳優へたくそ」と思うに違いない。しかしこれは,思うに,意図的手法であって,まるで仮面劇のように行為と言葉をむき出しにする。私なんかはこのほうが,安直なリアリズムを売るテレビドラマとは違う,映画というものを観た気分になるんである。主演の新井浩文も,その一重瞼の三白眼で傍若無人なニヒリスト役に嵌っていて,私の思い描くカッコいい男優像なんである。

千野秀一の音楽もよかった。ヴァイオリン,ベース,ピアノによる,緩やかで寂しく鬼気がある。最近の映画に必ず付いて廻る安っぽい JPOP なんぞで煽り立てられないだけでも出色だった。

こんないやらしい,背徳的な,また倫理的な映画は子供には見せてはいけない。大人だけの密かな楽しみにしておくべきである。ところがエンディングロールに文化庁協賛の文字が流れて私は驚いた。どういう判断のもとに協賛したのか。文化庁職員はこの映画を観たのだろうか。「芥川賞作家の原作」という看板に幻惑されて踏み外したんじゃないかと思う。作品が公開されたあと庁内で物議を醸して責任のなすり付け合いが始まったのではと想像して楽しくなってしまった。

ゲルマニウムの夜 デラックス版
ジェネオン エンタテインメント (2007/01/25)

哲学者ミステリ作家小森健太朗の『グルジェフの残影』(文春文庫) を読んだ。この三連休で夜更かしが嵩じて生活が乱れに乱れ,日曜の夜,ふっと寝入って夜半三時過ぎに目が醒めたらもう眠れなくなり,本書を読んで朝を迎えてしまった。朦朧とするまま早い電車で出社した。もういいオヤジなんだから学生みたいなことをするなよな。

十九世紀末から二十世紀初頭にかけてロシアは偉大なる哲学と詩の時代を迎える。ヴラジーミル・ソロヴィヨフ,ニコライ・ベルジャーエフ,ヴャチェスラフ・イヴァーノフ,などなど。ニーチェに影響された神秘主義者が大活躍するとともに頭でっかちの思想家が輩出し,ラスプーチンのような香具師が権力を握り,一方で過激な唯物論者・共産主義者が台頭してくるという歴史を歩んだ。この小説は,革命前後のロシアの神秘思想家ゲオルギイ・イヴァーノヴィチ・グルジェフとピョートル・デミヤーノヴィチ・ウスペンスキイとを登場人物に配して,その時代絵巻を描いて見せてくれる。恐ろしく倫理的で真面目なひとたちの百花斉放の果てが残酷な一党独裁国家に収斂していく,混沌として化け物じみた人類史上希にみる時代。

書物の半ばを過ぎたあたりに,とってつけたような殺人事件が描かれる。大量殺戮の時代にいきなり平和な世の中のケツの穴の小さい謎解きが語られるような印象が拭えない。それがロシアの歴史に影響する事件のような色を仄めかしてはいるけれども。作者もこの瑕疵は意識していたようで,それでもミステリの型に拘ったのだと巻末の対談から読み取れる。

この小説は革命期の混迷した時代背景,神秘思想の展開それ自体が謎めいた世界になっている珍しいミステリである。ドストエフスキイの小説のように,穢れ切った現実がリアルであればあるほど幻想的世界に昇華してゆくようなものである。主人公のその後の運命が二十世紀の現代神秘思想の展開を予測させるような趣き,余韻,広がりを感じさせる。「偉大な男性でも,結婚相手を選ぶときには,中身を見ないで袋詰めの買い物をしてしまうというニーチェの『ツァラトゥストラ』中の言葉が,そのときオスロフの頭に浮かんだ」(pp. 284--5) というような気のきいた一行に出くわすだけで,この作品の懐の深さが知れるというものだ。

この三連休,気ままに過ごしている。

WebCountServlet Java アクセスカウンタのパッケージを更新した。プログラムそのものは何も変えていないのだけど,従来 Makefile で実施していたコンパイルとデプロイを Ant build.xml で実行するように変更し,Windows ユーザでも構築が容易になるようにした。Web の取扱説明書も更新した。

* * *

田中貴子著『百鬼夜行の見える都市』(ちくま学芸文庫) を読む。京極夏彦のミステリを読んだばかりで日本の鬼神に関する書物にちょっと興味をそそられた。2000 年前後は京極作品のほか,映画『陰陽師』など,「鬼」ブームだったようで,この類いの和のホラーが注目されたようである。

本書は,百鬼夜行と平安京の都市幻想との関わりをテーマにしたものである。文学と都市との関わりの分析は前田愛教授の数々の素晴らしい論考以来,流行りといってもよい。百鬼夜行が都市の共同幻想であるとの論理は穿った見方だと思う。しかし,では時代の転換期に創造された日本の古典において,鄙に百鬼夜行の類いが描かれることはなかったという裏返しの命題が真理かどうかを考えてみると,その批判に耐える論にまでなっているだろうか。大内裏周辺で百鬼夜行が観察されるということと,橋下の異界幻想などが,どうして「都市」の文化的・社会的背景に特有であるといえるのか,私にはよく分からなかった。著者の主張が作品の語りのリアリティとして直截落ちてこないのはどうしてか。

それは王朝都市の衰退の背景に拘るあまり,作品そのものの魅力を明らかにする記述がいまひとつ不足しているからだ,と思うのは私だけだろうか。著者の主張によって『今昔物語』や『大鏡』をもう一度読みたくなるには到らなかったのだ。作品そのものの生命として理解できない日本文化論は,私のような民俗学・国文学の素人読者にはあまり意味がない。例えば,松山巖著『乱歩と東京』(ちくま学芸文庫) は,都市幻想として乱歩を読み解くことで乱歩作品をさらに深く理解させてくれ,乱歩をまた読みたいと思わせてくれた。これと比べると田中の著書は,都市と関連づけられた幻想文学の類型論としては,『今昔物語』など百鬼夜行の登場する作品をより深く理解させてくれたとか,都市文学たる所以はどこにあるのかとか,なるほどそう読まないとこのテクストの真の意味をなさないとか,そういう膝を打つような感銘を,私には与えてくれなかった。要するに古典の理解において目を啓いてはくれなかったのだ。

とはいえ,なんかさんざん腐してしまったようだけれども,読んで損したというわけでは決してない。本書はたいへん啓蒙的であり,千年の古えの精神を相手に現代的視線で — 都市という観点は現代的でなくてなんだろう — 切り込んで行く著者の意図は刺激的であり,面白い本であることは間違いない。京極夏彦の解説によれば本書は「恐竜の皮膚の色を問い直すような」仕事である。ちょっとその色ホント?というだけなのである。

* * *

夕食のあと,食器洗いをしながら — 風呂の掃除と休日の食器洗いは私の担当なのである — iPod でクィーンを聴く。『A Night At The Opera』と『A Day At The Races』。この二作は私にとって,ピンク・フロイド,イーグルス,レッド・ツェッペリンと並んで 1970 年代のロックの金字塔である。それ以降のクィーンには愛想がつきてしまったのだけど。鼻唄を歌いながらノリノリで仕事をしていると,娘がヘンなオジサンに見えるよと腐す。うるせぇ。

京極夏彦『魍魎の匣』

|

『魍魎の匣』(1995 年作品)。堤真一主演の同名の映画が最近封切られたこともあり,興味をそそられて読んだのである。千頁以上の分量もその面白さゆえにあっという間で捌けてしまった。吉川英治にのめり込むのに似ている。

ひとことでその感想を述べると,小栗虫太郎風のペダンティズムと江戸川乱歩風の妖気とがユーモアと結びついた一種独特のコスモス。

妖怪や神道儀礼などに対する該博な文献学的知識に基づく推理。その重箱の隅をつつくような知識で登場人物の行動のまやかしが暴かれる。逆にいえば,そのための知識の充填であり,小栗のひけらかす荒唐無稽なまでの自己目的化した知見 — それゆえにペダンチックなわけだけど — に酷似している。とはいえ,ペダンティズムは,ことミステリにおいては,決して悪い属性ではない。圧倒的な学識はそれ自体が門外漢にとって幻想的世界,あやかしの舞台を齎すから。小栗虫太郎の『黒死館殺人事件』に幻惑されたことのある読者ならその説明は不要だろう。

匣に納められた少女は,生身の人間を持ち運び可能な愛玩物にしたい欲望という意味で,乱歩の『押絵と旅する男』のモチーフと同じである。その妖しいイメージは乱歩の正統的後継だと思う。

そしてもうひとつ,「ユーモア」がなにより効いている。「榎木津はいい加減飽きている。... その加菜子とか云う娘を捜すこととその娘の出生までの経緯を聞かされることの間に,榎木津は殆ど関連性を見出せていない。... 煙草を吸う度に煙草屋の婆ァの半生を聞いていたのでは,煙草屋から戻るまでに煙草を全部吸い終わってしまう」(p476)。笑いをもって何かを認識させてくれる特性は,私にとって語り手がただ者ではない証拠なんである。これこそが,単に虫太郎と乱歩とを想起させるだけではない,京極夏彦独自の世界を形作っているのだと思う。この三つの特長を兼ね備えたミステリはなかなかお目にかかれない。

さすが人気作家である。とうとう京極堂に捕まってしまった。

久しぶりに Windows XP を起動して,misima SOAP Web Service 2.5 の Word マクロを使ってみると,なんと name space に関する XML パーサーエラーが出て変換できない。java クライアントを使う Meadow 用の SOAP elisp からだとうまくゆく。なんか環境をへんに変更してしまったか。

クライアントの種別により通ったり通らなかったりするのでサーバ側ではないと踏んで,Microsoft Office XP Web Services Tool kit (WSTK) の環境が壊れてしまったのかと考えた。 これを再インストールしてみたがやはりだめ。Visual Basic Editor から Web Service Tool で misimaSoapConnector (misima SOAP サーバ) の WSDL を取得してみるとこれができない。ところが,私のサイトにある別の SOAP サービスなら WSDL が取得できる。もしかしてと思い,サーバ側で再デプロイし,tomcat を再起動してみたら WSDL 取得,misima 変換ともども正常になった。

misimaSoapConnector を 2.5 にアップしたのが影響していたらしい。Office XP Web Services Tool kit はサーバとのインタフェースに変更がなくても再デプロイで SOAP サーバを見つけられなくなるようである。Axis 管理画面で公開済みのサービス一覧にも出力されるし,ブラウザで WSDL が取れるのに,WSTK では特別なネゴシエーションが必要のようだ。原因はよくわからない。

いずれにせよ,変えたらコンポーネントの疎通テストをきちんとせよということ。Web 版では繋がらないとメールなどで知らせてくれる方がいらっしゃるが,SOAP 関連は使われないからか,利用者から問い合わせを受けたことがない。私自身は最近,SOAP 版のメンテナンスに夢中になってしまっているのだけど。どうも利用者の方のニーズと私の思いとにすれ違いがあるのはどうしてか。

スパムメール

|

最近,やたらとスパムメールが inbox に入ってくるようになった。スパム対策は,milter-greylist と SpamAssassin で行っているが,それをすり抜けてやってくるのだ。これらのゴミメールをゴミ箱に取りのけて,SpamAssassin に学習させる手間は,まさにコンピュータに使われている気分にさせられる。

メール自動振り分けの古典的ソフトウェアである procmail の設定に,NG ワードでスパムメールをゴミ箱行きにする振り分けルールを追加した。スパムメールに特徴的に出現する文字列を引っ掛ける古典的な手法である。NG ワードリストファイルを参照して grep し,該当する文字列がメールのヘッダ部あるいはボディ部に現われたら,そのメールを spam ディレクトリ行きにする。.procmailrc に以下のように追加した。

NGWORDS=/usr/local/etc/mail/ngwords
...
# Subject のみチェックする場合
:0:
* ? test -s $NGWORDS
* ^Subject:\/.*
* ? echo "$MATCH"|nkf -meZ2|sed -e 's/[[:space:][:punct:]]//g'|fgrep -iqf $NGWORDS
spam/.
 
# ボディもチェックする場合 ($NGWORDS は EUC エンコード)
:0 B:
* ? test -s $NGWORDS
* ? nfk -meZ2 | sed -e 's/[[:space:][:punct:]]//g' | fgrep -iqf $NGWORDS
spam/.
...

テキストファイル (上記では /usr/local/etc/mail/ngwords) に NG ワードを記述しながら情けなくなってしまった。まあつまり,このファイルにオ (ピー) ンコだの有閑マダムだの,恥ずかしい言葉をだらだら記述しておくわけである。対象メールテキストの記号類・スペースを詰めてから NG ワードと比較することにより,"Penis" も "P*e*n*i*s" も "PENIS" も,要するに延びたり縮んだり膨らんだりしても,引き当てることができるというわけである。このため,欧文の NG フレーズを登録するときはスペースを除去しておく。真面目な文脈で使われることはなかろうと思われる言葉に絞らなければならない。NG ワードを含んでいても,きちんとした目的をもった私宛のメールがまったくないとも限らないのが,また一方でそういう楽しい話題のメールもゴミ箱行きとなるのが,悩みである。

ところで,日本と海外のスパムメールを比較すると際立った差異があって,ある意味で面白い。日本のスパムは,出会い系もしくは悪徳エロサイトへのリンクが主であって,その文面は,アタシさびしいの,待ってるワ風の勧誘がほとんどではないだろうか。そこには人間関係の希薄さに訴えるものが多いように思う。「さびしい」がキーワードである。それに対し,海外のスパムは,あなたの Dik を2割増大させますだの,バイアグラをウルトラディスカウントしますだの,「それ」の準備をお手伝いします風が多い。もしくは高級時計の激安売り込み,カジノの勧誘である。直截で目的がハッキリしている。こんなところにも国民性が出るものなのだろうけど,日本人はさびしいのかと思ってしまう。スパムメールで現代ネット世相を研究する社会学者もいるのだろうか。

北野武監督の『Dolls』

|

妻がツタヤで借りてきた DVD を二人で観た。北野武監督作品『Dolls』(2002)。桜,紅葉や雪の風景に魅せられた。菅野美穂の表情だけの演技が素晴らしかった(狂女を演じさせればいま日本でいちばんの女優だと私は思う)。「無意味な死」を印象づけられるという意味において愕然とさせられる残酷な映画であった。

私はこの映画を観て,何故か中西進の『狂の精神史』を想起した。北野武と古典という取り合わせは意外ではあるが,文楽の道行き,人形という作品のモチーフは,無意味にみえる死のイメージがなにかに憑かれたような死の日本的伝統に繋がることを示唆しているから。それだけでなく,ここに認められる無意味さが日本人の「狂」の現われだと思われたから。中西の著書には実は近松の浄瑠璃の「狂」を論じたくだりはなかったのだが,同じコンテクストで私は捉えてしまった。そういう「狂」の発現としてこの作品に動かされたのだ。つまり「無意味な死」というのは,現代市民社会の観点での見方でしかない。これをヤクザの抗争やアイドルの追っかけといった現代日本の淫微な姿に絡めてみせるところが北野作品の面白いところだと思う。

この作品は外国人には文字通り「無意味な死」のニヒリズムと映るのではないかと私は思う。しかし,北野武の映画がロシアやヨーロッパでかなり高く評価されているのを目にするにつけ---ロシアではクレムリンの近くに設置された北野の巨大な広告が話題になった---,あながち日本独特の生死観だけで説明できない普遍的な美学があるのかも知れない。
 

Dolls
バンダイビジュアル (2007-10-26)

misima が利用できないとの書き込みが,今日,BBS にあった。なんのことはない,ルータ RT-200NE の WAN 側アドレスが変わってしまったため,ダイナミック DNS から引いた IP で私のサイトにアクセスできなくなっていたのだった。ログを確認すると元日からアウトだったようである。

お昼に年賀状を書き,夕方つれづれなるままに,RT-200NE から IP アドレス情報を取得してダイナミック DNS を自動更新するプログラムに取り組んだ。RT-200NE は Telnet 設定をサポートしていないので,YAMAHA ルータで使っていた従来の自動更新プログラムが利用できなくなったままこれまで放置していたのだ。Web 設定インタフェースしかもたない RT-200NE ではプログラム修正は面倒かと予想していたが,Perl libwww ライブラリを使って実際は簡単にできてしまった。

下にその Perl コードを掲げておくので,私と同様,Bフレッツで RT-200NE を NTT からレンタルしている方は参考にしてください。前回実行時にセットした IP アドレスを今回ルータから取得した IP と比較し変更があったら DynDNS の登録 IP を更新する。前回更新から一ヶ月経過していれば,DynDNS 期限切れ抹消を回避するため,IP に変更がなくても更新する。DynDNS を更新したあと,DNS リゾルバで確認し,結果を管理者にメールで通知する。これを crontab に仕込んで一定の時刻に実行するわけである。RT-200NE のみならず Web で設定するルータに応用が可能だと思う。ただし,このコードは UNIX マシン用であり,DynDNS 更新プログラム ddup がインストールされていることが前提である。LWP::UserAgent 以外にも,Net::DNS,Mail::Sender などの Perl モジュールが必要である。ユーザの環境に応じてユーザID,パスワード,プロバイダ名などの変数を適宜修正しないと,このままでは動作しないので注意。また,"→" は折り返しを示す便宜的な記号なので,これなしに一行でコードを記述しなければならない。

#!/usr/bin/perl
# -*- coding: utf-8; mode: cperl -*-
# DynDNS update utility
# $Id: dns_update,v 1.3 2008/01/02 11:20:13 isao Exp $
# Copyright(c) 2007, isao yasuda, All Rights Reserved.
#
# DESCRIPTION
# -----------
# 1. ルータの Web 接続情報頁を取得する。
# 2. 接続情報から現在の WAN 側 IP アドレスを解析する。
# 3. 以下の場合,DynDNS ドメイン情報を DDUP ユーティリティで更新する。
# (1) ルータ IP が変更になった場合
# (2) 前回更新から月が変わった場合
#    いずれでもない場合は何もしないで終了する。
# 4. 更新後 DNS リゾルバで確認する。
# 5. 更新/DNS 確認結果を管理者にメール送信する。
#
# HISTORY
# -------
# - 2001/05/26 Initial version for YAMAHA RTA-52i. Telnet IF.
# - 2002/10/25 Revised for PLANEX BRL-04F. Telnet IF.
# - 2003/07/18 Revised for YAMAHA RTA-55i. Telnet IF.
# - 2004/12/11 DNS 確認,メール送信追加.
# - 2008/01/02 Revised for NTT RT-200NE. WWW IF.
#
use strict;                                  # Strict check
use utf8;                                    # UTF-8 handling
use Encode;                                  # Code convert
use LWP::UserAgent;                          # libwww
use Net::DNS;                                # DNS module
use Mail::Sender;                            # Mail module
 
# 以下変数を適宜修正する
my $mydomain = 'mydomain.homeip.net';        # DynDNS ドメイン名
my $host     = 'rt200ne';                    # RT-200NE hostname
my $page     = 'info_main.html';             # RT-200NE info page
my $URL      = "http://$host/$page";         # RT-200NE info URL
my $username = 'user';                       # RT-200NE ユーザID
my $password = 'pass';                       # RT-200NE パスワード
my $provider = 'prov';                       # RT-200NE プロバイダID
my $smtpsv   = 'my.smtp.server';             # SMTP ホスト
my $mailfrom = 'dareka@dot.net';             # Mail address from
my $mailto   = 'dareka@dot.net';             # Mail address to
my $mailsub  = "DynDNS update report";       # Mail Subject
my $ipfile   = "/tmp/IPREC";                 # IP addres record
my $log      = "/var/log/ipaddress.log";     # Log file path
my $ddup     = "/usr/local/sbin/ddup";       # ddup プログラムパス
my $date     = `/bin/date '+%D %H:%M:%S'`;   # now date
my ($oldmonth, $newmonth, $day, $year);      # date item
my ($newIPaddr, $rc);
 
#
# ログファイル,初期処理
#
open(LOG, ">> $log");
chomp($date);
 
#
# RT-200NE から接続情報を取得し,現在の WAN 側 IP アドレスを解析する。
#
my $ua = LWP::UserAgent->new;
# RT-200NE 接続情報頁の URL をセット
my $req = HTTP::Request->new(GET => $URL);
# ルータ認証用管理者ID,パスワードをセット
$req->authorization_basic($username, $password);
my $response = $ua->request($req)->as_string;
# ルータ出力頁をデコード
$response = decode('shiftjis', $response);
# DOS形式をUNIX形式にテキスト修正
$response =~ s/\r\n/\n/gm;
# 接続情報中の目的とするプロバイダ接続IPを正規表現で取得
if ($response =~ /<TR><TD NOWRAP COLSPAN\=2 →
BGCOLOR\=white><B><LABEL onMouseOver\=msgShow\(event,33\) →
onMouseOut\=msgHide\(\)>【接続先1 \[$provider\] 状態】 →
<\/LABEL><\/B><\/TD><\/TR>[^<]*<TR →
BGCOLOR\=THISTLE>\n\s+<TD><LABEL →
onMouseOver\=msgShow\(event,11\) →
onMouseOut\=msgHide\(\)>WAN[^<]*<\/LABEL><\/TD>→
[^<]*<TD>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*<\/TD>/gm) {
    $newIPaddr = $1;                     # 現在の WAN 側 IP アドレス
} else {
    print LOG "$date IP address was not found in info-page.\n";
    doexit(1);
}
 
#
# 前回変更したときの情報を読み込み,IP アドレスと日付(月)を取得する。
#
my $IPrec = `/bin/cat $ipfile`;          # read stored record
(my $olddate, my $oldIPaddr) = split(/,/, $IPrec);
($oldmonth, $day, $year) = split(/\//, $olddate, 3);
($newmonth, $day, $year) = split(/\//, $date, 3);
chomp($oldIPaddr);
 
#
# 前回の IP アドレスと,現在のルータ IP アドレスが一致するか,
# 月が変わっているか,確認する。
#
if ($oldIPaddr eq $newIPaddr) {          # 前回/今回 IP アドレス比較
    if ($newmonth ne $oldmonth) {        # 月比較
        print LOG "$date IP address is to be refreshed: $newIPaddr\n";
        $rc = 2;
    } else {                             # IP,月ともに変更なければ終了
        print LOG "$date IP address is not changed: $oldIPaddr\n";
        doexit(3);
    }
} else {                                 # IP アドレスが変わった場合
    print LOG "$date IP address is changed: $oldIPaddr -> $newIPaddr\n";
    $rc = 0;
}
 
#
# DDUPユーティリティでドメイン情報を更新する。
#
my $result = "$ddup --host $mydomain --wildcard --ip $newIPaddr --debug\n";
$result .= `$ddup --host $mydomain --wildcard --ip $newIPaddr --debug`;
 
# IPレコードを更新 (次回実行時比較のため)
open(IP, ">$ipfile");
print IP "$date,$newIPaddr";             # update stored IP record
close(IP);
 
#
# 更新が成功したか,実際に DNS リゾルバで確認する。
#
my $res = new Net::DNS::Resolver;
my $query = $res->search($mydomain);
 
if ($query) {
    foreach my $rr ($query->answer) {
        next unless $rr->type eq "A";
        $result .= "\n\nDomain\t: " . $mydomain . "\n" .
            "IP address\t: " . $rr->address . "\n";
        $mailsub .= " Suceeded! " . $date;
    }
} else {
    $result .= "\n\n*** Query failed: " . $res->errorstring . "\n";
    $mailsub .= " Failed! ". $date;
    if ($rc%2 == 0) {
        $rc = 4;
    } else {
        $rc = 5;
    }
}
 
#
# 更新/DNS 確認結果を管理者にメールする。
#
$Mail::Sender::NO_X_MAILER = 1;          # no X-Mailer
my $mailer = new Mail::Sender;
$mailer->MailMsg({smtp =>    $smtpsv,
                  from =>    $mailfrom,
                  to =>      $mailto,
                  subject => $mailsub,
                  msg =>     $result});
 
if ($Mail::Sender::Error) {
    print LOG "$date Mailing Error: " . $Mail::Sender::Error . "\n$result\n";
    if ($rc%2 == 0) {
        $rc = 6;
    } else {
        $rc = 7;
    }
} else {
    print LOG "$date Mailed to $mailto.\n$result\n";
}
 
#
# 後始末。
#
doexit($rc);
 
#
# ログをクローズ,リターンコードをセットして終了
# リターンコード: 偶数=DNS更新実行; 奇数=未更新,エラー検知
sub doexit {
    my $r = shift;
    close(LOG);
    exit($r);
}

※ 2009.2.4 付記
現在 FreeBSD ports では ddup は配布されていない。ddclient というダイナミック DNS 更新ユーティリティがすでに一般的になっており,現在はこれを利用することをお勧めする。記事「メールサーバ大往生・ddclient インストール」を参照。

寝正月

|

友人の皆様,あけましておめでとうございます。

* * *

仕事が危険な状態だったので,お正月休みを取れるか微妙なところだった。子供たちだけ実家に帰して,結局お休みが取れたので,久しぶりに夫婦水入らずの寝正月。

大晦日は一日中大掃除をした。私の担当は,リビングルームのテレビやオーディオまわり,配線がゴチャゴチャした領域であった。機器を外して掃除をした。リビングは料理をする関係で,油を含んだ汚れが酷かった。アルカリ性洗浄水でピカピカにした。

NHK 紅白歌合戦を妻と観る。前科者でも NHK に出られる時代になったのか?とかくだらないおしゃべりをしながら。お茶の間とはそんなもの。でもきちんと更生していれば NHK 紅白にも出場できる,ということのほうがいまの時代に合っている。

そのあとソヴィエト映画『スターリングラード大攻防戦』をレンタル DVD で観賞。この映画,なんとアルフレッド・シュニトケが音楽担当なのだ。司令官のセリフが印象に残る。「私は生きている兵士の心配しかしない。死んで行ったもののことまで考えているとその親,兄弟のことまで心配しなければならなくなる。」

* * *

misimaSoapService-2.5 を公開。機能的には変わらず。Java クラスライブラリにサーバも同梱しただけ。misima 本体,CGI,misimaserver, Ajax & misimaServlet, misimaSoapConnector などのコードを整理して,全体パッケージ misima-2.5 に纏めた。だけどドキュメントはこれから。こちらは当分公開できないと思われる。

Moon Calendar

Profile

ISAO YASUDA。システムエンジニア。神奈川県在住。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

R-18 指定サイトです。そのうち「18 歳以上ですか」の認証を入れる予定です。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

コメント,トラックバックは,現在,運用を停止しています。ご意見等ありましたら isao@yasuda.homeip.net 宛電子メールにてお願いします。

Links

About this archive

Entries at 2008年1月 in chronological order.

Previous: 2007年12月

Next: 2008年2月

Recent Entries in Main Index.
All Entries in Archive Index.

February 2012

Sun Mon Tue Wed Thu Fri Sat
      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      
Powered by Movable Type 4.1 blog counter