名前が引けないと mod_proxy_connect で DNS エラーになる障害の対策パッチ

インターネットの名前が引けない中間フォーワードプロキシーで mod_proxy_connect を動作させるパッチ. 2.2.4 から 2.2.6 の間のリグレッションが原因で動作しないのだが、報告から22ヶ月経った現在も直す気配は無し.

--- mod_proxy_connect.c.bak	Mon Sep  3 02:42:59 2007
+++ mod_proxy_connect.c	Mon Aug 10 10:56:35 2009
@@ -124,10 +124,12 @@
     /* do a DNS lookup for the destination host */
     err = apr_sockaddr_info_get(&uri_addr, uri.hostname, APR_UNSPEC, uri.port,
                                 0, p);
-    if (APR_SUCCESS != err) {
-        return ap_proxyerror(r, HTTP_BAD_GATEWAY,
-                             apr_pstrcat(p, "DNS lookup failure for: ",
-                                         uri.hostname, NULL));
+    if (!proxyname || (conf->noproxies->nelts != 0)) {
+        if (APR_SUCCESS != err) {
+            return ap_proxyerror(r, HTTP_BAD_GATEWAY,
+                                 apr_pstrcat(p, "DNS lookup failure for: ",
+                                             uri.hostname, NULL));
+        }
     }
 
     /* are we connecting directly, or via a proxy? */