MEDIUM: fcgi-app: properly postresolve logsrvs

Now that we have postresolve_logsrv_list() function, we make use of it
for fcgi-app log postparsing logic.

This will allow this kind of config to work:
  |fcgi-app test
  |        docroot /
  |        log-stderr tcp@127.0.0.1:514 local0

Plus, consistency checks will also be performed as for regular log
directives used from global, log-forward or proxy sections.
This commit is contained in:
Aurelien DARRAGON 2023-07-04 17:01:09 +02:00 committed by Christopher Faulet
parent d9b81e5b49
commit 486aa01204

View File

@ -645,7 +645,6 @@ static int cfg_fcgi_apps_postparser()
struct fcgi_app *curapp;
struct proxy *px;
struct server *srv;
struct logsrv *logsrv;
int err_code = 0;
for (px = proxies_list; px; px = px->next) {
@ -701,18 +700,7 @@ static int cfg_fcgi_apps_postparser()
curapp->maxreqs = 1;
}
list_for_each_entry(logsrv, &curapp->logsrvs, list) {
if (logsrv->type == LOG_TARGET_BUFFER) {
struct sink *sink = sink_find(logsrv->ring_name);
if (!sink || sink->type != SINK_TYPE_BUFFER) {
ha_alert("fcgi-app '%s' : log server uses unknown ring named '%s'.\n",
curapp->name, logsrv->ring_name);
err_code |= ERR_ALERT | ERR_FATAL;
}
logsrv->sink = sink;
}
}
err_code |= postresolve_logsrv_list(&curapp->logsrvs, "fcgi-app", curapp->name);
}
end: