Tag/Trac

Tracのリダイレクトにバグ?

本日、職場にて、 trac をhttpsで動かしてる方がおられたのですが、 なぜかリダイレクトするとhttpになってしまうとの事。

で、ちょくちょく一緒に調べてみると、 どうやら他にもハマってる人がいるらしく、色々と情報が出て来た。 その中の情報で、 trac/web/api.py にいるRequestクラスの持つredirectを書き換えて治ったよ。 ってのを発見。コイツがリダイレクトを一手に担ってるらしい。

trac-0.10.4 だとこうなってる。327行目あたりを抜粋。

self.send_response(status)
if not url.startswith('http://') and not url.startswith('https://'):
    # Make sure the URL is absolute
    url = urlparse.urlunparse((self.scheme,
                               urlparse.urlparse(self.base_url)[1],
                               url, None, None, None))

多分、ココの self.base_url って中に trac.ini で定義してる base_url が入ってるんだろうけど、 すでにプロトコルの部分を無視してるっぽい。

で、 trunk のソースを一応確認してみると、 こんな感じになってる。 277行目 あたりを抜粋。

self.send_response(status)
if not url.startswith('http://') and not url.startswith('https://'):
    # Make sure the URL is absolute, honor base_url for
    # scheme and host if present
    scheme, host = urlparse.urlparse(self.base_url)[:2]
    url = urlparse.urlunparse((scheme, host, url, None, None, None))

self.base_url からプロトコル部分も取ってくるように変更されてる。なるほど。

無理を承知で書き換えをお願いしたところ、見事に意図した通りに動いたよ。 self.scheme ってのがどこから来てるかは分からないままだけど、 どこかでhttpに固定されちゃってるんだろうなぁ。と推測。

trac-0.11 のリリースが遅れに遅れまくって、 あげくの果てには trac-0.10.5 が表に出て来ちゃってるけど、 早く最新版がリリースされないかなぁ?と思う今日この頃であります。

Posted at: 
2007/10/16 23:15:09
0 Comments
0 TrackBacks
Tags: 
Python
Trac
Trackback: 
http://humming.via-kitchen.com/2007/10/16/bug-on-trac-redirect/trackback/

興味シンシン

Twisted Mind さんの コチラのエントリー より。

Trac + MySQL + mod_wsgi の環境構築テストをされてるみたいです。

前に Trac 0.10.3で MySQL 使ってオオハマリしただけに、コレはちょっと興味シンシン。上手く行くといいなぁ。ってか、上手く行ってほしい!一度やってみた時にはチケットまわりでSQLエラー吐きまくってチケットが全く使えなかった。

そういえば、まだ先の事だと思って調べてなかったけど、 mod_wsgi で動く TracTracEnvParentDir とかって設定出来るんでしょうか?出来るなら乗り換えやすいんだけどなぁ。

ここはとりあえず期待して感想を待つ事にしよっと。

Posted at: 
2007/06/18 02:22:54
4 Comments
0 TrackBacks
Tags: 
mod_wsgi
MySQL
Python
Trac
Trackback: 
http://humming.via-kitchen.com/2007/06/18/very-interested-it/trackback/

Categories

Archives