BUG/MEDIUM: fcgi-app: Resolve the sink if a fcgi-app logs in a ring buffer

If a fcgi application is configured to send its logs to a ring buffer, the
corresponding sink must be resolved during the configuration post
parsing. Otherwise, the sink is undefined when a log message is emitted,
crashing HAProxy.

No need to backport.
diff --git a/src/fcgi-app.c b/src/fcgi-app.c
index 964cc7d..3f315a6 100644
--- a/src/fcgi-app.c
+++ b/src/fcgi-app.c
@@ -26,6 +26,7 @@
 #include <haproxy/sample.h>
 #include <haproxy/server-t.h>
 #include <haproxy/session.h>
+#include <haproxy/sink.h>
 #include <haproxy/tools.h>
 
 
@@ -646,6 +647,7 @@
 	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) {
@@ -694,6 +696,19 @@
 			}
 			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("config : fcgi-app '%s' : log server uses unkown ring named '%s'.\n",
+						 curapp->name, logsrv->ring_name);
+					err_code |= ERR_ALERT | ERR_FATAL;
+				}
+				logsrv->sink = sink;
+			}
+		}
 	}
 
   end: