68user's page 掲示板

Prev< No. 3163〜3164> Next  [最新発言に戻る] [過去ログ一覧]
No. 3163 # 68user 2003/03/27 (木) 02:40:54
>>3162 saki
チェックしたいのがバイナリだけでいいのか、データファイルも
含むファイル一般なのかわかりませんが、前者であれば gzexe
      http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=gzexe&dir=jpman-5.0.0%2Fman
を使うのが簡単でしょう。gzexe は実行ファイルを圧縮しておく
ためのコマンドですが、実行時に gzip で展開するので、結果的に
gzip の誤り検出機能をそのまま利用できます。gzexe も 圧縮した
実行ファイルも、いずれも sh スクリプトですので、改造も簡単
でしょう。

後者であれば、単に gzip を使う手もありますし、あるいは
cksum や md5 などのコマンドを利用するのもいいでしょう。
    http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=cksum&dir=jpman-5.0.0%2Fman
    http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=md5&dir=jpman-5.0.0%2Fman
    http://www3.cds.ne.jp/~marimo/data/rfc/rfc1321-jp.txt

なお、誤り検出のアルゴリズムとしては、
> ファイルをバイナリで開いて、そのファイルの全バイナリ値の
> 合計のことだそうです。
は単純すぎます。言っちゃ悪いですが、この程度の認識しか持っていない
のであれば、cksum や md5 などのコマンドを利用した方がよいです。

No. 3164 # has 2003/03/27 (木) 03:19:01
>>3153 68user
なんかわざわざ書いてもらったようで恐縮です。
なんでもそうですが、自分が必要と思う部分を理解するには
その周りの事情全てを勉強しておけ、というのが世間の常識なので、
俺みたくよこしまな考えでDNS関連の本やらWEBやらRFCやらを
眺めている輩にはなかなかハードルが高かったのですが、
おかげでDNS関連の資料に目を通すのにも少し抵抗が和らぎました。

ところで例の話の続きなんですが、うちのlinux(kernel-2.4.18+
glibc-2.2.4)では、bind-8.3.4-RELのdig8.3で名前解決できません。
straceしてみると、どうもpoll()で受信を検出できていないようです。
glibcの名前解決も同様のコーディングだったので、poll()を試しに
select(),pselect()に変えてみましたがダメでした。
一方でbind9.1.3付属のdigでは名前解決ができました。
というわけで、そのコードをglibcに移植してしまえ、と思ったのですが、
iscライブラリというのが理解できず、結局移植はできていません。
一時はgethostbyname()内部を、正常に動作するdig9.1.3をsystem()で
呼び出し、その結果を拾ってくるように書き換えようと思いましたが、
どうやらgethostbyname()の利用頻度が低いようだったのでやめました。

今後についてはどうするか未定ですが、また調査しつつ改修しつつで
行きたいと思います。

Prev< No. 3163〜3164> Next  [最新発言に戻る] [過去ログ一覧]