commit - a28d3461daa190bf043aac55bd926a5c2a4a142c
commit + f774ad1ea8ac72413c4ef077458f4b6b72d5b630
blob - 078319a04b3c234c489053e08cad7613ed2d79f3
blob + a38a60da468bf5ad2865b1c79aad657f6004560a
--- galileo.h
+++ galileo.h
extern volatile int proxy_inflight;
extern uint32_t proxy_fcg_id;
-void proxy(struct privsep *, struct privsep_proc *);
-void proxy_purge(struct proxy *);
-int proxy_start_request(struct galileo *, struct client *);
-void proxy_client_free(struct client *);
+void proxy(struct privsep *, struct privsep_proc *);
+void proxy_purge(struct proxy *);
+struct proxy_config *proxy_match(struct galileo *, const char *);
+int proxy_start_request(struct galileo *, struct client *);
+void proxy_client_free(struct client *);
SPLAY_PROTOTYPE(fcgi_tree, fcgi, fcg_nodes, fcgi_cmp);
SPLAY_PROTOTYPE(client_tree, client, clt_nodes, fcgi_client_cmp);
blob - baec053dc13ea92e5fec6770f8da24d9247952a9
blob + 0df1ed9f548dcc1db5f6032cd82aa4a9bae76433
--- proxy.c
+++ proxy.c
}
}
-static struct proxy_config *
-proxy_match(struct galileo *env, struct client *clt)
+struct proxy_config *
+proxy_match(struct galileo *env, const char *name)
{
struct proxy *pr;
- if (clt->clt_server_name == NULL)
+ if (name == NULL)
return NULL;
TAILQ_FOREACH(pr, &env->sc_proxies, pr_entry) {
- if (!strcmp(clt->clt_server_name, pr->pr_conf.host))
+ if (!strcmp(name, pr->pr_conf.host))
return &pr->pr_conf;
}
int r;
char *url;
- if ((clt->clt_pc = proxy_match(env, clt)) == NULL) {
+ if ((clt->clt_pc = proxy_match(env, clt->clt_server_name)) == NULL) {
if (proxy_start_reply(clt, 501, "text/html") == -1)
return (-1);
if (tp_error(clt->clt_tp, -1, "unknown server") == -1)