反応が遅くてすみません。 At Fri, 15 Mar 2013 08:07:53 +0900, Tadamasa Teranishi wrote: > 私が開発に参加する前のことなので、詳しいことは分かりませんが、 > cgi を cgi として起動した場合か否かのチェックだと思います。
ああ、少し思い出しました。かなり昔のnamazuコマンドはcgiも兼ねて動作す る仕様だったのですが、CGIの仕様でGETの引数をそのままコマンドラインオプ ションとして指定することが可能なので、後になってcgiを分離するという変更 をしたのを覚えています。 > そのため、QUERY_STRING が NULL だから cgi として起動していない > とは判断できないため、SERVER_SOFTWARE でそういう Web サーバ > かどうかを補助的にチェックしているということかと思います。 > (SERVER_SOFTWARE に何か設定されていればという判定でも > よさそうですが、ま、そこは念のため動作が確認されているもの > だけ許可しているという感じなのだと思います。) ここの決定は誰がどのようにしたのか、記憶にありません…サーバー実装と 設定によっては、任意の内容に変更できそうな気がします(apacheのSetEnvと か)が、まあ今まで問題が顕著化しなかったので、 > > とりあえず、assertで終了するだけでなく、SERVER_SOFTWAREが定義されてい > > たらその中身も出力するようにした方がいいかな、と思いました。 > > char *server = getenv("SERVER_SOFTWARE"); > if (!server) { > nmz_warn_printf("unknown SERVER_SOFTWARE : %s\n", server); > } > assert(0); > > って感じですかね。 これぐらいの修正でよいと思います。 _______________________________________________ Namazu-users-ja mailing list Namazu-users-ja@namazu.org http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-users-ja