Dynamic DNS の更新で必要
#contents
#navi(../)
**wget 1.9.1 [#z6925a11]
セキュリティ・ホールがあるようなので、wget-1.10 をコンパイルしてみたのだが、
httpsでアクセスすると固まるようだ。-d や -v オプションを付けても何も出ないので
お手上げ状態。
仕方がないので、debian sarge が動いているPCから apt-get source したものを
コンパイルして使うことにする。debian/changeLog で見たところ、
セキュリティ・ホールは修正されているようだ。
$ mkdir wget ; cd wget
$ apt-get source wget
$ cd ..
$ rsync -av -e ssh wget minig:src
$ ssh minig
$ cd src/wget/wget-1.9.1
$ ./configure --with-ssl
$ make time
なにやらエラーで止まった。
make[1]: Entering directory `/home/otsuka/src/wget-1.9.1/doc'
makeinfo ./wget.texi -I.
sed 's,^#! /usr/bin/perl,#! /usr/bin/perl,' texi2pod.pl.in > texi2pod.pl
chmod u+x texi2pod.pl
./texi2pod.pl ./wget.texi wget.pod
Insecure dependency in open while running setgid at ./texi2pod.pl line 72.
make[1]: *** [wget.pod] Error 25
make[1]: Leaving directory `/home/otsuka/src/wget-1.9.1/doc'
make: *** [doc] Error 2
real 3m23.887s
user 2m58.470s
sys 0m22.780s
Perlの[[Taintモード:http://www.ipa.go.jp/security/awareness/vendor/programming/a04_03_main.html]]に
引っかかっているようだが詳細不明。手で実行してみる。
$ cd doc
$ ./texi2pod.pl ./wget.texi wget.pod
(VERSIONが定義されていない、というようなエラーが出た)
別のエラーになったが、オブジェクトはできたようなので、続けることにする。
$ ..
$ make
$ sudo make install
ddo.jpの更新がうまくいくかチェック。~/bin/cron.update-ddo を実行して、~/lib/ddo.jp/ddo.log を確認するだけ。
**wget 1.8.2 [#hf4344d8]
ddo.jp で Dynamic DNS を更新するために、wget と cron を組み合わせて使う。ddo.jp は https をサポートしているので、パスワードを含めても安全(なのかな?)。実行ファイルの属性ぐらいは go-rw にしておこう。
【2005/9/9】無料サービスでは、https での接続を保障しなくなったようだ。
$ cd wget-1.8.2
$ ./configure
$ make
$ su
# make install
$ cd ~/bin
$ cat >cron.update-ddo <<EOD
#!/bin/sh
cd $HOME/lib/ddo.jp
/usr/local/bin/wget -O ddo.html -o ddo.log 'http://free.ddo.jp/dnsupdate.php?dn=foo&pw=bar'
EOD
毎時 53 分に更新する。毎時 0 分に更新する人が多いので、分散に協力する。一般ユーザーで crontab を始めて使う場合、ssdlinux 0.2-20030417 ではエラーになった。root になって chmod u+s /usr/bin/crontab すれば使えるようになるが、セキュリティ上問題が発生するのかどうかは不明。
$ chmod 700 ~/bin/cron.update-ddo
$ crontab -e
53 * * * * /home/otsuka/bin/cron.update-ddo
Dynamic DNS を使って外から ssh を行う場合に注意しないといけない。ddo.jp 側でオフラインだと判断した場合、ddo.jp 側のリダイレクト用のサーバーのアドレスを示すようだ。自宅サーバーからの更新が途絶えた場合、http のアクセスを予め設定しておいたレンタル・サーバーへリダイレクトしてくれる機能だ。ところが、このリダイレクト用のサーバーは ssh に反応してしまうようで、オフライン状態のときに外から接続しようとすると「鍵が間違っている」というようなエラーになってしまう。これには相当悩んだ。