]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
Merge r1912460, r1925743 from trunk:
authorYann Ylavic <ylavic@apache.org>
Tue, 10 Jun 2025 10:43:58 +0000 (10:43 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 10 Jun 2025 10:43:58 +0000 (10:43 +0000)
commit7996ffc885d8147f1e437504cfcf8df273c51ae9
treee632d52c221f66f70ecaf29a11ee50ccbbaaa06a
parentaf0c0933334111630711321b6e2eeb73c74940d1
Merge r1912460, r1925743 from trunk:

mod_proxy: Consistently close the socket on failure to reuse the connection.

proxy_connection_create() and ap_proxy_connect_backend() sometimes close the
connection on failure, sometimes not. Always close it.

mod_proxy: restore reuse of ProxyRemote connections when possible.

Fixes a regression from 2.4.59 (r1913907).

For a reverse proxy setup with a worker (enablereuse=on) and a
forward/CONNECT ProxyRemote to reach it, an open connection/tunnel
to/through the remote proxy for the same origin server (and using the
same proxy auth) should be reusable. Avoid closing them like r1913534
did.

* modules/proxy/proxy_util.c:
  Rename the struct to remote_connect_info since it's only used for
  connecting through remote CONNECT proxies. Axe the use_http_connect
  field, always true.

* modules/proxy/proxy_util.c(ap_proxy_connection_reusable):
  Remote CONNECT (forward) proxy connections can be reused if the auth
  and origin server infos are the same, so conn->forward != NULL is not
  a condition to prevent reusability.

* modules/proxy/proxy_util.c(ap_proxy_determine_connection):
  Fix the checks around conn->forward reuse and connection cleanup if
  that's not possible.

Submitted by: jfclere, ylavic
Reviewed by: ylavic, jfclere, rpluem

Github: closes #532

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1926317 13f79535-47bb-0310-9956-ffa450edef68
CHANGES
modules/proxy/proxy_util.c