From: Willy Tarreau Date: Thu, 7 Apr 2011 08:50:19 +0000 (+0200) Subject: [BUG] stick-tables did not work when converting IPv6 to IPv4 X-Git-Tag: v1.5-dev8~242 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=442452034e1a3bed25201af033847a59b60748e9;p=thirdparty%2Fhaproxy.git [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. --- diff --git a/src/stick_table.c b/src/stick_table.c index 5e9aa35718..20bae5fb8a 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; } */