{
struct connection *cli_conn;
- if ((cli_conn = objt_conn(sess->origin)) && conn_ctrl_ready(cli_conn)) {
+ if ((cli_conn = objt_conn(sess->origin)) && conn_get_src(cli_conn)) {
struct sample *smp;
smp = sample_fetch_as_type(px, sess, s, SMP_OPT_DIR_REQ|SMP_OPT_FINAL, rule->arg.expr, SMP_T_ADDR);
{
struct connection *cli_conn;
- if ((cli_conn = objt_conn(sess->origin)) && conn_ctrl_ready(cli_conn)) {
+ if ((cli_conn = objt_conn(sess->origin)) && conn_get_dst(cli_conn)) {
struct sample *smp;
smp = sample_fetch_as_type(px, sess, s, SMP_OPT_DIR_REQ|SMP_OPT_FINAL, rule->arg.expr, SMP_T_ADDR);
{
struct connection *cli_conn;
- if ((cli_conn = objt_conn(sess->origin)) && conn_ctrl_ready(cli_conn)) {
+ if ((cli_conn = objt_conn(sess->origin)) && conn_get_src(cli_conn)) {
struct sample *smp;
- conn_get_from_addr(cli_conn);
-
smp = sample_fetch_as_type(px, sess, s, SMP_OPT_DIR_REQ|SMP_OPT_FINAL, rule->arg.expr, SMP_T_SINT);
if (smp) {
if (cli_conn->addr.from.ss_family == AF_INET6) {
{
struct connection *cli_conn;
- if ((cli_conn = objt_conn(sess->origin)) && conn_ctrl_ready(cli_conn)) {
+ if ((cli_conn = objt_conn(sess->origin)) && conn_get_dst(cli_conn)) {
struct sample *smp;
- conn_get_to_addr(cli_conn);
-
smp = sample_fetch_as_type(px, sess, s, SMP_OPT_DIR_REQ|SMP_OPT_FINAL, rule->arg.expr, SMP_T_SINT);
if (smp) {
if (cli_conn->addr.to.ss_family == AF_INET6) {
if (!cli_conn)
return 0;
+ if (!conn_get_src(cli_conn))
+ return 0;
+
switch (cli_conn->addr.from.ss_family) {
case AF_INET:
smp->data.u.ipv4 = ((struct sockaddr_in *)&cli_conn->addr.from)->sin_addr;
if (!cli_conn)
return 0;
+ if (!conn_get_src(cli_conn))
+ return 0;
+
smp->data.type = SMP_T_SINT;
if (!(smp->data.u.sint = get_host_port(&cli_conn->addr.from)))
return 0;
if (!cli_conn)
return 0;
- conn_get_to_addr(cli_conn);
+ if (!conn_get_dst(cli_conn))
+ return 0;
switch (cli_conn->addr.to.ss_family) {
case AF_INET:
if (!conn)
return 0;
- conn_get_to_addr(conn);
- if (!(conn->flags & CO_FL_ADDR_TO_SET))
+ if (!conn_get_dst(conn))
return 0;
smp->data.type = SMP_T_BOOL;
if (!conn)
return 0;
- conn_get_from_addr(conn);
- if (!(conn->flags & CO_FL_ADDR_FROM_SET))
+ if (!conn_get_src(conn))
return 0;
smp->data.type = SMP_T_BOOL;
if (!cli_conn)
return 0;
- conn_get_to_addr(cli_conn);
+ if (!conn_get_dst(cli_conn))
+ return 0;
smp->data.type = SMP_T_SINT;
if (!(smp->data.u.sint = get_host_port(&cli_conn->addr.to)))