commit f774ad1ea8ac72413c4ef077458f4b6b72d5b630 from: Omar Polo date: Fri Sep 23 13:09:32 2022 UTC change proxy_match to get a string commit - a28d3461daa190bf043aac55bd926a5c2a4a142c commit + f774ad1ea8ac72413c4ef077458f4b6b72d5b630 blob - 078319a04b3c234c489053e08cad7613ed2d79f3 blob + a38a60da468bf5ad2865b1c79aad657f6004560a --- galileo.h +++ galileo.h @@ -193,10 +193,11 @@ int cmdline_symset(char *); 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 @@ -334,16 +334,16 @@ proxy_translate_gemtext(struct client *clt) } } -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; } @@ -358,7 +358,7 @@ proxy_start_request(struct galileo *env, struct client 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)