apache 1.3.x で AuthName を " で囲まなくてもよくするパッチ
パッチの解説
apache 1.2.x では、AuthName に空白が含まれていても、
" や ' で囲む必要がなかったのですが、
apache 1.3.x から、AuthName に空白が含まれる場合は、
" もしくは ' で文字列を囲む必要が生じました。
- apache 1.2.x
- ○ AuthName Members Only
- apache 1.3.x
- × AuthName Members Only
- ○ AuthName "Members Only"
そのため、apache 1.2.x で多くのユーザと .htaccess を
抱えているサーバ管理者は、apache 1.3.x へのバージョン
アップに二の足を踏んでいる方が多くいらっしゃると思い、
" で囲まなくてもよくなるようなパッチを作成しました。
斯く言う私もそんな管理者の一人です(^^;
このパッチを当てることで、apache 1.3.x であっても、
AuthName に空白が含まれていても " や ' で文字列を囲む必要がなくなります。
また、囲まれていても問題にはなりません。
apache 1.3.9 ではパッチを当てて動作検証を行い、問題ないことを確認いたしました。
apache 1.3.11 並びに apache 1.3.12、Apache 1.3.14 はパッチが当たるところまでは確認しましたが、
コンパイルおよび動作検証は行っておりません。
パッチの所在
http://www.hagyroom.com/labs/Apache/no_quote.patch
パッチの影響範囲
apache 1.3.x では、AuthName 以外の項目でも、
文字列に空白を含めたい場合は、" もしくは ' で文字列を
囲む必要があります。
このパッチでは AuthName のみがその制限から逃れられます。
- パッチが修正を加えるファイルは、apache_1.3.x/src ディレクトリの中の
- /include/ap_compat.h
- /include/http_config.h
- /include/httpd.h
- /main/http_config.c
- /main/http_core.c
- /main/util.c
- です。
ap_getword_conf_no_quote 関数を追加し、AuthName は
この関数を使用して文字列を取り出すように改造されています。
パッチのライセンス
このパッチはご自由にお使いいただいてかまいませんが、
このパッチを当てたことによるいかなる影響に関しても、
私は一切責任を持ちませんので、ご利用される方御自身の
責任において使用してください。
このパッチは Unofficial なパッチです。
your own risk!
また、このパッチを当てて回避する解は、あまり得策では
ないことをご承知おきください。
" や ' で文字列を囲むことは apache の仕様ですので、
このパッチはその仕様に逆らうものになります。
また、apache をバージョンアップするたびにパッチを
当てなくてはいけなくなってしまいます。
パッチの当て方
- apache_1.3.x.tar.gz をダウンロードする。
- apache_1.3.x.tar.gz を解答する。
- gzip -cd apache_1.3.x.tar.gz | tar xvf -
- cd apache_1.3.x
- no_quote.ptach を apache_1.3.x ディレクトリの中にダウンロードする。
- パッチを当てる。
- patch -p3 < no_quote.patch
- 無事パッチが当たったら、make clean して make する。
(一度も configure を実行していない場合は、make する前にconfigure を実行してください)
- 無事 make し終わったら、インストールして httpd を再起動してください。
httpd の再起動の際には、一度 httpd を止めてください。
kill -HUP ではだめです。
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start
httpd が立ち上がっていることを確認したら、AuthName のテストを行ってください。
パッチにバグを発見された場合は、お手数ですがメールでご連絡ください。
対処できるかどうかはわかりませんが;-P
Last Modify:11/22/2000
Copyright © 2000-2002 hagy <hagy@hagyroom.com>
All rights reserved.