mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-02-05 09:21:42 +01:00
BUG/MEDIUM: mworker/httpclient: initialization skipped by accident in mworker mode
Since commit fe75c1e12da061 ("MEDIUM: startup: remove
MODE_MWORKER_WAIT") the MODE_MWORKER_WAIT constant disappearded. The
initialization of the httpclient proxy was conditionned by this
constant.
The proxy must be created in mworker mode, but only in the worker not in
the master. It was currently completely disabled in both the master and
the worker provoking a NULL dereference upon httpclient usage.
No backport needed.
This commit is contained in:
parent
e7b7072943
commit
fdbff3a020
@ -1208,7 +1208,8 @@ struct proxy *httpclient_create_proxy(const char *id)
|
||||
struct server *srv_ssl = NULL;
|
||||
#endif
|
||||
|
||||
if (global.mode & MODE_MWORKER)
|
||||
/* the httpclient is not usable in the master process */
|
||||
if (master)
|
||||
return ERR_NONE;
|
||||
|
||||
px = alloc_new_proxy(id, PR_CAP_LISTEN|PR_CAP_INT|PR_CAP_HTTPCLIENT, &errmsg);
|
||||
@ -1345,8 +1346,11 @@ err:
|
||||
*/
|
||||
static int httpclient_precheck()
|
||||
{
|
||||
/* initialize the default httpclient_proxy which is used for the CLI and the lua */
|
||||
/* the httpclient is not usable in the master process */
|
||||
if (master)
|
||||
return ERR_NONE;
|
||||
|
||||
/* initialize the default httpclient_proxy which is used for the CLI and the lua */
|
||||
httpclient_proxy = httpclient_create_proxy("<HTTPCLIENT>");
|
||||
if (!httpclient_proxy)
|
||||
return ERR_RETRYABLE;
|
||||
@ -1365,7 +1369,8 @@ static int httpclient_postcheck_proxy(struct proxy *curproxy)
|
||||
struct server *srv_ssl = NULL;
|
||||
#endif
|
||||
|
||||
if (global.mode & MODE_MWORKER)
|
||||
/* the httpclient is not usable in the master process */
|
||||
if (master)
|
||||
return ERR_NONE;
|
||||
|
||||
if (!(curproxy->cap & PR_CAP_HTTPCLIENT))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user