Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DOCUMENT_NAME lookup bug
- From: "Yoshinori TAKESAKO" <yoshinori-takesako@xxxxxxxxx>
- Date: Wed, 12 Sep 2001 11:35:59 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 01989
- References: <OFF91B000C.8B73D975-ON49256AC4.002C509C@bayer.co.jp> <001701c13aeb$0d1f86a0$540aa8c0@syc.co.jp>
竹迫です。
From: "Yoshinori TAKESAKO" <yoshinori-takesako@xxxxxxxxx>
Subject: [namazu-devel-ja] Re: 検索結果が英語にならない+ページ送りがおかしい
> > (2) 検索結果が多い場合、画面下部にページ送りに表示が出ますが、それの
> > ジャンプ先がおかしいのです。
> >
> > 現在のリスト: 1 - 20
> > ペイジ: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
> >
> > この[1]から[11]までの部分のジャンプ先が、本来ならば
> > http://hogehoge/cgi-bin/namazu.cgi.exe?.......となるべきですが、
> > http://hogehoge/cgi-bin/e:/lotus/domino/data/domino/cgi-bin/namazu.cgi.exe?.....
> >
> > なるのです。
>
> 申し訳ありません。この現象は、
>
> * Patch to add DOCUMENT_NAME lookup
> http://www.namazu.org/ml/namazu-users-en/msg00117.html
> http://www.namazu.org/ml/namazu-users-en/msg00116.html
>
> のパッチを取り込んだのが原因で、Namazu 2.0.6 のバグだと思われます。
>
> こちらで確認した結果、
> Lotus Go Webserver 4.6.1 や Lotus Domino Server R5.0 の Web サーバでは、
> 環境変数 DOCUMENT_NAME に、ローカルファイルの絶対パスが入ってしまうようです。
この件についてですが、いろいろな Web サーバの実装を参考にしたところ、
環境変数 DOCUMENT_NAME ではなく、環境変数 DOCUMENT_URI を参照するのが
一番安全のようです。
* Apache 1.3.20 (Unix) CGI / SSI
* Apache 1.3.20 (Win32) CGI / SSI
* IIS4.0 (WindowsNT4.0SP6a) CGI / SSI
* Lotus Domino Server R5.0 CGI
* AnHTTPd 1.34d CGI / SSI
の環境で、それぞれ動作確認をしましたが、
特に問題はありませんでした。
そのとき試した簡単なパッチを以下に記載いたします。
--------------------------------------------------------------------
diff -urN src.orig/form.c src/form.c
--- src.orig/form.c Sun Sep 2 16:13:38 2001
+++ src/form.c Wed Sep 12 11:15:23 2001
@@ -362,7 +362,7 @@
}
script_name= getenv("SCRIPT_NAME");
- document_name= getenv("DOCUMENT_NAME");
+ document_name= getenv("DOCUMENT_URI");
/* Can't determine script_name */
if (script_name == NULL) {
diff -urN src.orig/output.c src/output.c
--- src.orig/output.c Sun Sep 2 16:13:38 2001
+++ src/output.c Wed Sep 12 11:16:33 2001
@@ -487,11 +487,11 @@
int i, max, whence;
char *qs; /* QUERY_STRING */
char *sn; /* SCRIPT_NAME */
- char *dn; /* DOCUMENT_NAME */
+ char *dn; /* DOCUMENT_URI */
qs = nmz_getenv("QUERY_STRING");
sn = nmz_getenv("SCRIPT_NAME");
- dn = nmz_getenv("DOCUMENT_NAME");
+ dn = nmz_getenv("DOCUMENT_URI");
if(dn == NULL || *dn == '\0')
dn=sn;
--------------------------------------------------------------------
この修正は Namazu 2.0.7 のリリースまでに含めた方がよろしいでしょうか?
よろしければ、ご意見をいただけると有難いです。
以上、よろしくお願いいたします。
--
広島市立大学 情報科学部 情報機械システム工学科 知能ロボット講座
竹迫 良範 <takesako@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>