struct tcpcheck_var *var;
/* First evaluation, create a session */
- check->sess = session_new(&checks_fe, NULL, (check->server ? &check->server->obj_type : NULL));
+ check->sess = session_new(&checks_fe, NULL, &check->obj_type);
if (!check->sess) {
chunk_printf(&trash, "TCPCHK error allocating check session");
set_server_check_status(check, HCHK_STATUS_SOCKERR, trash.area);
{
unsigned int buf_offset = ((arg_p[0].type == ARGT_SINT) ? arg_p[0].data.sint : 0);
unsigned int buf_size = ((arg_p[1].type == ARGT_SINT) ? arg_p[1].data.sint : 0);
- struct server *srv = (smp->sess ? objt_server(smp->sess->origin) : NULL);
+ struct check *check = (smp->sess ? objt_check(smp->sess->origin) : NULL);
struct buffer *buf;
- if (!srv || !srv->do_check)
+ if (!check)
return 0;
- buf = &srv->check.bi;
+ buf = &check->bi;
if (buf_offset > b_data(buf))
goto no_match;
if (buf_offset + buf_size > b_data(buf))
case SCOPE_SESS:
return &sess->vars;
case SCOPE_CHECK: {
- struct server *srv = objt_server(sess->origin);
+ struct check *check = objt_check(sess->origin);
- return srv ? &srv->check.vars : NULL;
+ return check ? &check->vars : NULL;
}
case SCOPE_TXN:
return strm ? &strm->vars_txn : NULL;
_HA_ATOMIC_ADD(&strm->vars_txn.size, size);
goto scope_sess;
case SCOPE_CHECK: {
- struct server *srv = objt_server(sess->origin);
+ struct check *check = objt_check(sess->origin);
- if (srv != NULL)
- _HA_ATOMIC_ADD(&srv->check.vars.size, size);
+ if (check)
+ _HA_ATOMIC_ADD(&check->vars.size, size);
}
/* fall through */
scope_sess:
return 0;
goto scope_sess;
case SCOPE_CHECK: {
- struct server *srv = objt_server(sess->origin);
+ struct check *check = objt_check(sess->origin);
- if (var_check_limit && srv &&
- srv->check.vars.size + size > var_check_limit)
+ if (var_check_limit && check && check->vars.size + size > var_check_limit)
return 0;
}
/* fall through */