diff --git a/src/log.c b/src/log.c index a1cc0bc3e..c95905ee2 100644 --- a/src/log.c +++ b/src/log.c @@ -1350,8 +1350,8 @@ static int postcheck_log_backend(struct proxy *be) int err_code = ERR_NONE; int target_type = -1; // -1 is unused in log_tgt enum - if (!(be->cap & PR_CAP_BE) || be->mode != PR_MODE_SYSLOG || - (be->flags & (PR_FL_DISABLED|PR_FL_STOPPED))) + if ((be->cap & PR_CAP_INT) || !(be->cap & PR_CAP_BE) || + be->mode != PR_MODE_SYSLOG || (be->flags & (PR_FL_DISABLED|PR_FL_STOPPED))) return ERR_NONE; /* nothing to do */ err_code |= _postcheck_log_backend_compat(be); diff --git a/src/sink.c b/src/sink.c index 4485e95e5..7a31d3827 100644 --- a/src/sink.c +++ b/src/sink.c @@ -842,8 +842,11 @@ static struct sink *sink_new_ringbuf(const char *id, const char *description, struct sink *sink; struct proxy *p = NULL; // forward_px - /* allocate new proxy to handle forwards */ - p = alloc_new_proxy(id, PR_CAP_BE, err_msg); + /* allocate new proxy to handle forwards, mark it as internal proxy + * because we don't want haproxy to do the automatic syslog backend + * init, instead we will manage it by hand + */ + p = alloc_new_proxy(id, PR_CAP_BE|PR_CAP_INT, err_msg); if (!p) goto err;