ASF Bugzilla – Attachment 24440 Details for
Bug 29404
Allow definition of source address of outgoing connections from mod_proxy
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
ProxySourceAddress patch for 2.2.11
httpd-2.2.11_mod_proxy_patch.diff (text/plain), 2.74 KB, created by
dan
on 2009-10-28 13:29:56 UTC
(
hide
)
Description:
ProxySourceAddress patch for 2.2.11
Filename:
MIME Type:
Creator:
dan
Created:
2009-10-28 13:29:56 UTC
Size:
2.74 KB
patch
obsolete
>diff httpd-2.2.11/modules/proxy/mod_proxy.c httpd-2.2.11_patched/modules/proxy/mod_proxy.c >1088a1089,1090 >> ps->source_address = 0; >> ps->source_address_set = 0; >1131a1134,1135 >> ps->source_address = (overrides->source_address_set == 0) ? base->source_address : overrides->source_address; >> ps->source_address_set = overrides->source_address_set || base->source_address_set; >1899a1904,1921 >> static const char * >> set_source_address(cmd_parms *parms, void *dummy, const char *arg) >> { >> proxy_server_conf *psf = >> ap_get_module_config(parms->server->module_config, &proxy_module); >> struct apr_sockaddr_t *addr; >> >> if (APR_SUCCESS == apr_sockaddr_info_get(&addr, arg, APR_UNSPEC, 0, 0, psf->pool)) { >> psf->source_address = addr; >> psf->source_address_set = 1; >> } >> else { >> return "ProxySourceAddress invalid value"; >> } >> >> return NULL; >> } >> >2111a2134,2135 >> AP_INIT_TAKE1("ProxySourceAddress", set_source_address, NULL, RSRC_CONF, >> "Configure local source IP used for request forward"), >diff httpd-2.2.11/modules/proxy/mod_proxy.h httpd-2.2.11_patched/modules/proxy/mod_proxy.h >194a195,196 >> apr_sockaddr_t *source_address; /* the address the proxy client will use to make requests */ >> char source_address_set; /* whether or not the source address is set */ >diff httpd-2.2.11/modules/proxy/mod_proxy_http.c httpd-2.2.11_patched/modules/proxy/mod_proxy_http.c >1173a1174 >> ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, "header %s => %s", key, value); >diff httpd-2.2.11/modules/proxy/proxy_util.c httpd-2.2.11_patched/modules/proxy/proxy_util.c >1118c1118 >< >--- >> ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "ppr: url: %s", url); >1602a1603,1611 >> if (conf->source_address) { >> rv = apr_socket_bind(*newsock, conf->source_address); >> if (rv != APR_SUCCESS) { >> ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, >> "proxy: %s: failed to bind socket to local address", >> proxy_function); >> } >> } >> >2227a2237,2238 >> /* the local address to use for the outgoing connection */ >> apr_sockaddr_t *local_addr; >2303a2315,2327 >> >> if (conf->source_address_set == 1) { >> local_addr = apr_pcalloc(conn->pool, sizeof(apr_sockaddr_t)); >> memcpy(local_addr, conf->source_address, sizeof(apr_sockaddr_t)); >> local_addr->pool = conn->pool; >> rv = apr_socket_bind(newsock, local_addr); >> if (rv != APR_SUCCESS) { >> ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, >> "proxy: %s: failed to bind socket to local address", >> proxy_function); >> } >> } >>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 29404
:
11770
|
11796
|
18579
|
21507
|
21508
| 24440 |
24441
|
25229