*Apache更新に伴う.htaccessの修正 [#v86d54b7]

-ページ: BugTrack
-投稿者: [[Ratbeta]]
-優先順位: 普通
-状態: 完了
-カテゴリー: 本体バグ
-投稿日: 2004-10-24 (日) 16:37:20
-バージョン: 1.4.4

**メッセージ [#n04784eb]
Apacheの更新に伴って、1.4.4に含まれている.htaccessの正規表現が使えなくなっています。~
.htaccessを修正する以外に、orgサイトでの告知も必要かと思われます。~

**解決法:[[official:PukiWiki/xrea.comへの設置]]より。 [#ad95a355]
-配布されている.htaccessをそのままUPするとまずいようです。index.phpと同じ階層で"?i:"と書かれている部分を取り除けばイイっぽいですが…今日サイトが見れなくなって、サポート連絡したらそのように修正して下さってたので… -- [[Kevin]] &new{2004-10-24 (日) 15:01:32};

----
-ふむふむ。Apacheの更新をされたのはどなたで、何から何へですか? -- [[henoheno]] &new{2004-10-24 (日) 17:18:59};
-.htaccessが使えなくなってるのは例えばXREAなどです。Apacheの1.0系、2.0系共通で、バージョンはそれぞれ1.3.31から1.0.32、2.0.50から2.0.51の間での変更です。 -- [[Ratbeta]] &new{2004-10-24 (日) 17:25:25};
-私の調べた結果を[[BugTrack/652]]の一番後ろに書いてあります(やっぱり完了したペイジに書くのは良くなかったか....)。 -- [[よっちい]] &new{2004-10-24 (日) 17:54:06};
-[[Ratbeta]]さん[[よっちい]]さんありがとうございます。[[よっちい]]さんの情報は数日前に目を通した気がするのですが、探せませんでした (^^; Apacheの都合の様ですが、事情が良くわかりませんから、ちょっと apache.org を見てこないといけませんかね -- [[henoheno]] &new{2004-10-24 (日) 18:49:43};

// 文字化けを直そうとしたけど、整形済みテキストだと変換してくれない・・・
http://www.apache.org/dist/httpd/CHANGES_1.3
  Changes with Apache 1.3.32
  *) Fix a bunch of cases where the return code of the regex compiler
     was not checked properly. This affects mod_usertrack and
     core. PR 28218.  [André Malo]

http://www.apache.org/dist/httpd/CHANGES_2.0
  Changes with Apache 2.0.50
  *) Fix a bunch of cases where the return code of the regex compiler
     was not checked properly. This affects: mod_setenvif, mod_usertrack,
     mod_proxy, mod_proxy_ftp and core. PR 28218.  [André Malo]

- Bugzilla Bug 28218: errors in regular expressions for LocationMatch cause silent failures
-- http://nagoya.apache.org/bugzilla/show_bug.cgi?id=28218
  So this affects Location ~, LocationMatch, Directory ~, DirectoryMatch,
  Files ~, FilesMatch.

-この件で合っていますか? > [[Ratbeta]] -- [[henoheno]] &new{2004-10-24 (日) 18:54:14};
-手元のFreeBSDではapache-2.0.52_1でこの.htaccessが動いているから、違うかな・・・ -- [[henoheno]] &new{2004-10-24 (日) 19:00:02};
-手元で再現しているという方は、環境を教えて下さい。(Fedora Core2 etc) -- [[henoheno]] &new{2004-10-24 (日) 19:06:30};
--FreeBSD/i386 4.10-RELEASEにソースからコンパイル&インストールしました。 -- [[よっちい]] &new{2004-10-25 (月) 09:34:55};
-(手元の環境ではないけれど)XREAサーバはRedHatLinux 7.3で、Apacheは1.3.32のようです。もしかして1.x系だけ? -- [[Ratbeta]] &new{2004-10-24 (日) 21:02:02};
--[[XREAサーバinfo:http://sinfo.xrea.org/?bg=xreafaq.com/img/xreafaqwall.gif]] によると そのようですね -- [[merlin]] &new{2004-10-24 (日) 21:41:48};
-出来れば各ディレクトリの.htaccessもDirectoryMatchを使ってルートの.htaccessに集約できればいいのかもしれませんが…。 -- [[Ratbeta]] &new{2004-10-24 (日) 21:39:15};

-セキュリティホールmemoによれば、1.3.32が正式リリースでない説あり。 http://www.st.ryukoku.ac.jp/%7Ekjm/security/memo/2004/10.html#20041023_apache -- [[henoheno]] &new{2004-10-28 (木) 22:13:45};
-Ratbetaさん、25日の時点でバージョンを明確に指摘できたのは何故か、それと上にあげたBugzillaのバグのものとそれが一致するかどうかを教えて下さい。 -- [[henoheno]] &new{2004-10-28 (木) 22:15:24};
-25日->24日ですよね?それなら、XREAとApacheの更新のタイミングがほぼ同じであった事、CHANGESから確認した事、(その後に)XREAサーバinfoでの確認などからバージョンを特定しました。で、Bugzillaのバグですが、(断定は出来ませんが)これと同じ物だと思われます。 -- [[Ratbeta]] &new{2004-10-28 (木) 22:32:12};
-某BBSのログを見てたらApacheのバグのような気もしてきました…。仮にApache側の問題だったとしてそれもPukiWiki側で対策するべきなんだろうか…? -- [[Ratbeta]] &new{2004-10-28 (木) 22:37:35};
-お疲れ様です。コメントありがとうございます :) (Apacheに限らず)関連プロダクトの問題に気づいたときは、どうにかしてその改善を図る(知らせるetc)のがマナーと考えています。現状のPukiWikiについては、既に状況と対処法が明らかになっていますから何も心配していません。 -- [[henoheno]] &new{2004-10-31 (日) 14:16:48};
-(正式リリースとなる)Apache 1.3.33がリリースされましたが、これではこの問題は修正されているのでしょうか?当方にはApache2しかないもので… (^^; -- [[Ratbeta]] &new{2004-10-31 (日) 21:10:33};
--1.3.33でもNGでした。なので正規表現の扱いが変わったのは意図的なものではないかと思います。 -- [[よっちい]] &new{2004-11-03 (水) 18:46:56};
-確認&お知らせいただきありがとうございます>[[よっちい]]   しかし、それは現在もそうであるというだけで、意図しているとまでは断定できませんね (^^; -- [[henoheno]] &new{2004-11-03 (水) 19:00:59};
-まとまった時間を取って、調べてみました。まず1.3.31と1.3.32の間での変更点としてap_pregcomp()の戻り値を見るようになっていました。
 -       r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
 +        r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
 +        if (!r) {
 +            return "Regex could not be compiled";
 +        }
なので、この変更は妥当な感じがします。さらにもうちょっと調べてみると、apache1とapache2でap_pregcomp()からコールするregcomp()の実体が異なるようです((objdump -dして調べた))。
|apache1|OSの(libcの)regcomp()|
|apache2|srclib/pcre/pcreposix.cのregcomp()|
ですから、1.3.32以降の動作はOS(libc)の実装依存になると思われます。が、良くみてみると''USE_ICASE''(= REG_ICASE)を付加しているので
     REG_ICASE     Compile for matching that ignores upper/lower case distinc-
                   tions.  See re_format(7).
ということ(FreeBSD/i386 4.10-RELEASEのregex(3)より)で.htaccessでの''?i:''指定はそもそも不要ではないでしょうか。 -- [[よっちい]] &new{2004-11-05 (金) 12:57:50};
-情報ありがとうございます。その変更は http://cvs.apache.org/viewcvs.cgi/apache-1.3/src/main/http_core.c (1.337) みたいです。やはりきっかけは上記のBugzilla Bug 28218ですね。 -- [[henoheno]] &new{2004-11-06 (土) 09:01:32};
-そしてこのファイルの上部にはこのようなdefineがあります。 -- [[henoheno]] &new{2004-11-06 (土) 09:06:23};

 /* We use this in <DirectoryMatch> and <FilesMatch>, to ensure that 
  * people don't get bitten by wrong-cased regex matches
  */
 
 #ifdef WIN32
 #define USE_ICASE REG_ICASE
 #else
 #define USE_ICASE 0
 #endif
-ということで、あくまでもWindowsユーザー向けの措置である様に見えます。 -- [[henoheno]] &new{2004-11-06 (土) 09:09:24};
-そもそもWindowsユーザーを念頭に置いたものである PukiWikiの /.htaccess の ''?:i" 表記は、Apache 1.3 系においては 不要だ(動かないし、冗長だ)、と言う事ができると思います。 -- [[henoheno]] &new{2004-11-06 (土) 09:12:34};
-次に、Apache2 で同様のProblem Reportを探すと、 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/core.c (1.225.2.21) でやはり同様の修正が行われているのがわかります。defineもほぼ同一です。 -- [[henoheno]]  &new{2004-11-06 (土) 09:19:24};
 /* XXX: Bogus - need to do this differently (at least OS2/Netware suffer
  * the same problem!!!
  * We use this in <DirectoryMatch> and <FilesMatch>, to ensure that
  * people don't get bitten by wrong-cased regex matches
  */
 
 #ifdef WIN32
 #define USE_ICASE REG_ICASE
 #else
 #define USE_ICASE 0
 #endif
-ということで、Apache2も Apache1.3 と状況は同じであることがわかります。少なくともWindows環境では自動的に ignore case になる(ことを意図している)様ですね。((objdump も試してみましたが、1.3.x は追い方がわかりませんでした orz)) -- [[henoheno]] &new{2004-11-06 (土) 09:21:36};
-- [[cvs:.htaccess]] (1.9)
- [[CVS版]] からこの正規表現を取り除き、[[official:PukiWiki/Download/1.4.4#o8882131]] にこの件に関する情報を追記しました。 -- [[henoheno]] &new{2004-11-06 (土) 10:50:35};
-修正を確認しました。ステータスを完了に変更しておきます。 -- [[Ratbeta]] &new{2004-11-06 (土) 11:40:07};
-さくらで突然 Pukiwiki が動かなくなった http://d.hatena.ne.jp/kohi/20041130 --  &new{2004-11-30 (火) 23:46:48};

#comment
//#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.065 sec.

OSDN