From: Nenad Merdanovic Date: Mon, 24 Jul 2017 02:04:58 +0000 (-0400) Subject: BUG/MINOR: lua: Fix Server.get_addr() port values X-Git-Tag: v1.8-dev3~219 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3849473828f319829aff422d2fbbce0823e65d64;p=thirdparty%2Fhaproxy.git BUG/MINOR: lua: Fix Server.get_addr() port values The get_addr() method of the Lua Server class was using the 'sockaddr_storage addr' member to get the port value. HAProxy does not store ports in this member as it uses a separate member, called 'svc_port'. This fix should be backported to 1.7. --- diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index db46279d3e..008b60d4ba 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -545,8 +545,7 @@ int hlua_server_get_addr(lua_State *L) addr, INET_ADDRSTRLEN); luaL_addstring(&b, addr); luaL_addstring(&b, ":"); - snprintf(addr, INET_ADDRSTRLEN, "%d", - ntohs(((struct sockaddr_in *)&srv->addr)->sin_port)); + snprintf(addr, INET_ADDRSTRLEN, "%d", srv->svc_port); luaL_addstring(&b, addr); break; case AF_INET6: @@ -554,8 +553,7 @@ int hlua_server_get_addr(lua_State *L) addr, INET_ADDRSTRLEN); luaL_addstring(&b, addr); luaL_addstring(&b, ":"); - snprintf(addr, INET_ADDRSTRLEN, "%d", - ntohs(((struct sockaddr_in6 *)&srv->addr)->sin6_port)); + snprintf(addr, INET_ADDRSTRLEN, "%d", srv->svc_port); luaL_addstring(&b, addr); break; case AF_UNIX: