ttt

getttyent

(FreeBSD) portsnapで認証付きproxyサーバを使う

2013-11-05 23:59:00 | デジタル・インターネット

portsnapを、ユーザー名とパスワードで認証が必要なproxyサーバ経由で使おうと思ったら、うまくいかない・・・

よくあるように環境変数http_proxyで

setenv http_proxy http://ユーザー名:パスワード@proxyサーバ名:ポート番号/

と指定していたのですが、コレジャナイ、だったようです。

ネット検索してみたらすぐ判明。

setenv HTTP_PROXY http://proxyサーバ名:ポート番号/
setenv HTTP_PROXY_AUTH "basic:*:ユーザー名:パスワード"

と設定するそうです。

portsnapでは、phttpgetを使っていて、こんな感じになっているようです。

# grep HTTP_PROXY_AUTH /usr/src/usr.sbin/portsnap/phttpget/*
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:static char *            env_HTTP_PROXY_AUTH;
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c: env_HTTP_PROXY_AUTH = getenv("HTTP_PROXY_AUTH");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:     (env_HTTP_PROXY_AUTH != NULL) &&
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:     (strncasecmp(env_HTTP_PROXY_AUTH, "basic:" , 6) == 0)) {
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         (void) strsep(&env_HTTP_PROXY_AUTH, ":");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         (void) strsep(&env_HTTP_PROXY_AUTH, ":");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         proxy_auth_user = strsep(&env_HTTP_PROXY_AUTH, ":");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         proxy_auth_pass = env_HTTP_PROXY_AUTH;


あ~あ、またか。

ちょっと探してみたのですが、このやり方の説明が、マニュアルで見つからないんですよね。

20131105