소스 검색

HttpProxyOptionHandler: Enclose hostname with square brackets if
hostname is IPv6 numeric address.

Tatsuhiro Tsujikawa 14 년 전
부모
커밋
065fb3a6b8
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      src/OptionHandlerImpl.cc

+ 6 - 1
src/OptionHandlerImpl.cc

@@ -697,7 +697,12 @@ void HttpProxyOptionHandler::parseArg(Option& option, const std::string& optarg)
     if(uri.size() > 7) {
       uri += "@";
     }
-    strappend(uri, req.getHost(), A2STR::COLON_C, util::uitos(req.getPort()));
+    if(req.isIPv6LiteralAddress()) {
+      strappend(uri, "[", req.getHost(), "]");
+    } else {
+      uri += req.getHost();
+    }
+    strappend(uri, A2STR::COLON_C, util::uitos(req.getPort()));
     option.put(optName_, uri);
   }
 }