Article delegate-ja/473 of [1-661] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A471@delegate-ja.ML_>]
Newsgroups: mail-lists.delegate-ja

[DeleGate-Ja] Re: DeleGateのRESOLVについて
05 Sep 2010 07:17:09 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project


In message <_A471@delegate-ja.ML_> on 08/31/10(13:13:21)
you Takashi Takamori <pweaqbrv6-qjiq2j4tzdzr.ml@ml.delegate.org> wrote:
 |こんにちは。高森と申します。
...
 |そこで、起動してみたところ、標準出力に
 |
 |VStr overflow in wordscanX (:resconf.cpp:560) 000/000/00X
 |  11FFC0-12003F-12003F "........."
 |
 |と表示されていました。
...
 |また、DeleGateの定義でこの値の末尾を切り詰めるの無効にするようなものは
 |ありますでしょうか?

どんなOSの上で、DeleGateのどの版をお使いなのかがわかりませんので、
再現が難しかったのですが、それはともかく、
「末尾を切り詰めるのを無効にする」ことは、防御装置を外してバッファ
オーバーフローを実際に発生させ、DeleGateを異常終了させることになる
だけで、何も事態は好転しませんので、もし可能であっても、お勧めは
できません:p

In message <_A472@delegate-ja.ML_> on 09/02/10(10:17:04)
you Takashi Takamori <pweaqbrv6-qjiq2j4tzdzr.ml@ml.delegate.org> wrote:
 |こんにちは。高森と申します。
 |
 |前に投稿した
 |http://www.delegate.org/mail-lists/delegate-ja/471
 |の続きとなるのですが、OS側(Win2k3)のDNSサフィックスを64バイト以内の

と、ここでOSがWindowsであることがわかりました。

 |文字列になるようにして、確認してみました。
 |前回の投稿では、DNSサフィックスと記載しておりましたが、実際の設定と
 |しては、下記の設定です(DNSサフィックスを順に追加する)
 |
 |TCP/IP 詳細設定
 |-------------------------------------------
 |●以下のDNSサフィックスを順に追加する
 |aaaa.co.jp
 |bbbb.co.jp
 |cccc.co.jp
 |dddd.co.jp
 |-------------------------------------------
 |
 |確認において、ブラウザに入力するURL欄にホスト名のみでリクエストすると、
 |設定されているDNSサフィックスを順番に、追加して名前解決をしていくものと
 |考えておりましたが、パケットモニタでパケットを見てると、その設定されて
 |いるDNSサフィックスが順番に追加されるわけではなくて、全てが入った状態と
 |なっており、結局、名前解決ができてませんでした。
...
 |DNSサフィックスを順に追加していく設定をしている場合で、順番に追加して、
 |名前解決を行なうには、DeleGate側で何らかの設定が必要となるのでしょうか?

Windows版では、検索ドメインが複数ある場合に、DeleGateが検索に失敗する
ようになっていたようです。これは、Unixのresolv.conf のようにドメインの
リストが空白文字ではなく、コロンで区切られていることに起因しています。
また、問題のオーバーフローも、これに起因しているようです。
これにつきましては、9.9.8-pre14で、Windows上での検索に対応するように
しておきました。

以下は、9.9.8-pre14 でのテスト結果です。テスト用に、検索ドメインを
  localdomain
  aaaa-aaaa-aaaa-aaaa-aaaa.co.jp
  bbbb-bbbb-bbbb-bbbb-bbbb.co.jp
  cccc-cccc-cccc-cccc-cccc.co.jp
  dddd-dddd-dddd-dddd-dddd.do.jp
  delegate.org
のようにして、www -> www.delegate.org を検索した場合のものです。
なお、以下では デバッグ表示用に RES_DEBUG=1 としていますが、RES_DEBUG=-1
などとするとレゾルバの動作が最大詳細度で表示されます。
ごちゃごちゃしてはいますが、パケットモニタで見るよりは、わかり易いと
思います。

$ delegated.exe -v RES_DEBUG=1 RESOLV=dns -Fresolvy www
...
09/05 14:26:21.61 [3204] 0+0: {R} QUE[ 0]        : <3>www.localdomain IN A
09/05 14:26:21.61 [3204] 0+0: {R} sent[192.168.0.1] (1) put=33 ID=1
09/05 14:26:21.84 [3204] 0+0: {R} QUE[ 0]        : <3>www.localdomain IN A
09/05 14:26:21.84 [3204] 0+0: {R} SOA got [][a.root-servers.net][nstld.verisign-grs.com] 2010090401 1800 900 604800 86400
09/05 14:26:21.84 [3204] 0+0: {R} ANS: recv[192.168.0.1](108) Q[www.localdomain] ID=1/1 AA=0 RD=1 RA=1 RCODE=3 ans,ns,add=0,1,0
09/05 14:26:21.84 [3204] 0+0: {R} QUE[ 0]        : <13>www.aaaa-aaaa-aaaa-aaaa-aaaa.co.jp IN A
09/05 14:26:21.84 [3204] 0+0: {R} sent[192.168.0.1] (1) put=52 ID=2
09/05 14:26:21.88 [3204] 0+0: {R} QUE[ 0]        : <13>www.aaaa-aaaa-aaaa-aaaa-aaaa.co.jp IN A
09/05 14:26:21.88 [3204] 0+0: {R} SOA got [jp][z.dns.jp][root.dns.jp] 1283663701 3600 900 604800 900
09/05 14:26:21.88 [3204] 0+0: {R} ANS: recv[192.168.0.1](99) Q[www.aaaa-aaaa-aaaa-aaaa-aaaa.co.jp] ID=2/2 AA=0 RD=1 RA=1 RCODE=3 ans,ns,add=0,1,0
09/05 14:26:21.88 [3204] 0+0: {R} QUE[ 0]        : <18>www.bbbb-bbbb-bbbb-bbbb-bbbb.co.jp IN A
09/05 14:26:21.88 [3204] 0+0: {R} sent[192.168.0.1] (1) put=52 ID=3
09/05 14:26:21.92 [3204] 0+0: {R} QUE[ 0]        : <18>www.bbbb-bbbb-bbbb-bbbb-bbbb.co.jp IN A
09/05 14:26:21.92 [3204] 0+0: {R} ANS: recv[192.168.0.1](99) Q[www.bbbb-bbbb-bbbb-bbbb-bbbb.co.jp] ID=3/3 AA=0 RD=1 RA=1 RCODE=3 ans,ns,add=0,1,0
09/05 14:26:21.92 [3204] 0+0: {R} QUE[ 0]        : <20>www.cccc-cccc-cccc-cccc-cccc.co.jp IN A
09/05 14:26:21.92 [3204] 0+0: {R} sent[192.168.0.1] (1) put=52 ID=4
09/05 14:26:21.97 [3204] 0+0: {R} QUE[ 0]        : <20>www.cccc-cccc-cccc-cccc-cccc.co.jp IN A
09/05 14:26:21.97 [3204] 0+0: {R} ANS: recv[192.168.0.1](99) Q[www.cccc-cccc-cccc-cccc-cccc.co.jp] ID=4/4 AA=0 RD=1 RA=1 RCODE=3 ans,ns,add=0,1,0
09/05 14:26:21.97 [3204] 0+0: {R} QUE[ 0]        : <22>www.dddd-dddd-dddd-dddd-dddd.co.jp IN A
09/05 14:26:21.97 [3204] 0+0: {R} sent[192.168.0.1] (1) put=52 ID=5
09/05 14:26:22.00 [3204] 0+0: {R} QUE[ 0]        : <22>www.dddd-dddd-dddd-dddd-dddd.co.jp IN A
09/05 14:26:22.00 [3204] 0+0: {R} ANS: recv[192.168.0.1](99) Q[www.dddd-dddd-dddd-dddd-dddd.co.jp] ID=5/5 AA=0 RD=1 RA=1 RCODE=3 ans,ns,add=0,1,0
09/05 14:26:22.00 [3204] 0+0: {R} QUE[ 0]        : <25>www.delegate.org IN A
09/05 14:26:22.00 [3204] 0+0: {R} sent[192.168.0.1] (1) put=34 ID=6
09/05 14:26:22.00 [3204] 0+0: {R} QUE[ 0]        : <25>www.delegate.org IN A
09/05 14:26:22.00 [3204] 0+0: {R} ANS: recv[192.168.0.1](50) Q[www.delegate.org] ID=6/6 AA=0 RD=1 RA=1 RCODE=0 ans,ns,add=1,0,0
210.155.199.28  www.delegate.org,www


なお、既存の版では、c:/etc/resolv.conf とか、あるいは RES_CONF で指定
するファイルに、Unixと同じ形式の resolv.conf を置いてやることで、この
問題を回避することはできると思います。

また、現在の実装は、検索できるドメイン数は、標準に従って、最大で6です。
それより増やすには、DeleGateのコードを改変する必要があります。
(たいした変更ではありませんが)

                   9 9  
┌─┐┬┌──┬┐ //\^^ ( e ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_<   >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人),CSDP

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V