SSブログ

fetch プロキシ認証 その1 (FreeBSD 8.1R、2010/09/18) [FreeBSD]

会社のPCにFreeBSD 8.1Rを入れ直したら、今まで通っていた社内プロキシ(認証あり)が通らなくなってしまいました。設定は、HTTP_PROXYとHTTP_PROXY_AUTHの環境変数を設定する方法で何ら変えていません。
しかしなぜかportsのソースコードfetch時に、httpだと「Proxy Authentication Required」と表示され、ftpだと普通にダウンロードできます(今思えば、ftpプロキシは無認証ってことないよね?)。さらにその環境変数を設定したたままシェルプロンプトで
atom# fetch 'http://www.yahoo.com/index.html'

とすると、普通にHTTP GETできてしまいます。なんでだろう。とりあえず考えられる理由は3つ。
 ・FreeBSD 8.1Rでfetchの仕様が変わった
 ・絶妙なタイミングで社内プロキシの仕様が変わった
 ・portsの/usr/ports/Mk/中で定義されているfetchの仕様が変わった

とりあえずシェルプロンプト上だと普通にHTTP GETできるので、ここは/usr/ports/Mk/の中が怪しいと見るべきでしょう。でまぁ、見つかったこんなオプション。
atom# lv /usr/ports/Mk/bsd.port.mk
...
# For fetch:
#
# FETCH_BINARY  - Path to ftp/http fetch command if not in $PATH.
#                                 Default: "/usr/bin/fetch"
# FETCH_ARGS    - Arguments to ftp/http fetch command.
#                                 Default: "-ApRr"
# FETCH_CMD             - ftp/http fetch command.
#                                 Default: ${FETCH_BINARY} ${FETCH_ARGS}
# FETCH_BEFORE_ARGS
#                               - Arguments to ${FETCH_CMD} before filename.
#                                 Default: none
# FETCH_AFTER_ARGS
#                               - Arguments to ${FETCH_CMD} following filename.
#                                 Default: none
# FETCH_ENV             - Environment to pass to ${FETCH_CMD}.
#                                 Default: none
# FETCH_REGET   - Times to retry fetching of files on checksum errors.
#                                 Default: 1

いろいろ試してみたら、どうも“-A”が悪さをしていた模様。これを取ってあげれば普通にHTTP GETできるようになりました。とりあえず、/etc/make.confに以下を書き込み。
FETCH_ARGS = "-pRr"




共通テーマ:日記・雑感