2012年12月28日金曜日

(FreeBSD) /usr/bin/fetchは、httpsなときproxyサーバを使わない?

FreeBSDのportsで使われる/usr/bin/fetchについて、自分用メモ。



ここ最近、/usr/ports/x11-fonts/liberation-fonts-ttf/ のportupgradeが失敗していて、なぜなんだろう?と思って調べて見た。



ソースファイルを、こんなコマンドで、ダウンロードしようとしているようだ。



/usr/bin/fetch -AFpr -S 1326750 https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-1.07.0.tar.gz



で、ダウンロードできなかった。たまたまこの環境にはファイアウォールがあり、インターネットには直接つながっていなくて、かならずproxyサーバを使わなくてはならなくなっている。



なので、環境変数http_proxy、https_proxy、HTTP_PROXYなどは設定してある。



でも、/usr/bin/fetchはproxyサーバを使ってくれない。どうもURLがhttps://~になっているときは、proxyサーバを使ってくれないような雰囲気。



fetch、libfetchのマニュアルを見たけど、https用のproxyサーバの指定方法は書いてない。



ソースコードは、たぶんlibfetchのこのあたりか、と思ったけど、1~2分見た限りではよくわからなかった。httpsかどうかで挙動を変えているくらいはわかったけど。
http://svnweb.freebsd.org/base/release/9.1.0/lib/libfetch/http.c?view=log



・・・またfetchか。出来が悪すぎるコマンドだ。



ちなみにwgetだと、こんな感じでproxyサーバ経由でダウンロードできる。



env https_proxy=http://localhost:8080/ wget --no-check-certificate https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-1.07.0.tar.gz



「--no-check-certificate」というオプションをつけているのは

エラー: fedorahosted.org の証明書(発行者: `/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA')の検証に失敗しました:
  発行者の権限を検証できませんでした。
fedorahosted.org に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。

と言われてしまったから。どっかでwgetに認証局の証明書を教えてやればいいんだろうけど、めんどくさくてまだ調べてない。



■ 過去記事









20121227

写真は本文と関係ありません。






0 件のコメント:

コメントを投稿