From 442452034e1a3bed25201af033847a59b60748e9 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 7 Apr 2011 10:50:19 +0200 Subject: [PATCH] [BUG] stick-tables did not work when converting IPv6 to IPv4 A stick-table of type IPv6 would store a wrong IPv4 address as the result of an IPv6 to IPv4 conversion. This bug was introduced in 1.5-dev5. --- src/stick_table.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/stick_table.c b/src/stick_table.c index 5e9aa3571..20bae5fb8 100644 --- a/src/stick_table.c +++ b/src/stick_table.c @@ -460,8 +460,8 @@ static void *k_ip2ip(union pattern_data *pdata, union stktable_key_data *kdata, static void *k_ip2ipv6(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len) { - v4tov6(&pdata->ipv6, &pdata->ip); - return (void *)&pdata->ipv6.s6_addr; + v4tov6(&kdata->ipv6, &pdata->ip); + return (void *)&kdata->ipv6.s6_addr; } static void *k_ipv62ipv6(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len) @@ -472,8 +472,8 @@ static void *k_ipv62ipv6(union pattern_data *pdata, union stktable_key_data *kda /* static void *k_ipv62ip(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len) { - v6tov4(&pdata->ip, &pdata->ipv6); - return (void *)&pdata->ip.s_addr; + v6tov4(&kdata->ip, &pdata->ipv6); + return (void *)&kdata->ip.s_addr; } */